Mündəricat:
- Addım 1: Konstitusiya
- Addım 2: Əjdaha yaradın - Baş 1 -
- Addım 3: Əjdaha yaradın - Baş 2 -
- Addım 4: Əjdaha yaradın - Baş 3 -
- Addım 5: Əjdaha yaradın - Bədən 1 -
- Addım 6: Əjdaha yaradın - Bədən 2 -
- Addım 7: Əjdaha yaradın - Bədən 3 -
- Addım 8: Əjdaha yaradın - Bədən 4 -
- Addım 9: 360 dərəcə davamlı fırlanma servosu
- Addım 10: Arduino Kodu
- Addım 11: Əməliyyat
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Mən cırcırama hazırladım. Cırcırama bir jest sensoru və servo motorla başını yelləyir.
komponentlər
- Arduino UNO
- Görülən Grove - Jest
- FS90R Mikro Davamlı Dönmə Servo
Addım 1: Konstitusiya
Barmağın hərəkətini jest sensoru ilə aşkar etmək və Arduino ilə 360 ° davamlı fırlanma servosunun fırlanma istiqamətini idarə etmək.
Addım 2: Əjdaha yaradın - Baş 1 -
Baş 12 mm uzunluğunda M8 vintlə hazırlanmışdır. Başı servo ilə döndərərkən, çubuğu sabit bir açıda dayandırmaq üçün kəsin, teli uyğun uzunluğa kəsin və vintə lehimləyin.
Addım 3: Əjdaha yaradın - Baş 2 -
Gözlər və ağız parlaq zərgərlik möhürlərindən hazırlanmışdır. Ağzımı qələmlə yazıram.
Addım 4: Əjdaha yaradın - Baş 3 -
Baş və sinə arasındakı əlaqə (servo) bir qozdan ibarətdir. Ani yapışqan ilə servoya bərkidilmiş lələkləri və qoz -fındıqları yapışdırın.
Addım 5: Əjdaha yaradın - Bədən 1 -
Cırtdan sinəsinə servomotoru düzəldin. Qarın kimi 60 mm uzunluğunda M6 vint.
Addım 6: Əjdaha yaradın - Bədən 2 -
Daha əvvəl yaradılan qoz -fındıqları servoya vidalayın və lövhələrin lələklərini telin ayaqları ilə bağlayın.
Addım 7: Əjdaha yaradın - Bədən 3 -
Başın dəyişdirmə çubuğuna yapışması üçün servoya qalın bir tel bağlayın. İncə telin ayaqlarını bu qalın telə (paslanmayan polad üçün) lehimləyirəm.
Addım 8: Əjdaha yaradın - Bədən 4 -
Başı qozun içinə vidalayın və cırcırama tamamlandı. Servonu işə salın və döndərin.
Addım 9: 360 dərəcə davamlı fırlanma servosu
Bu servo, əvvəlcə Arduino IDE -yə daxil olan, lakin normal servo motordan bir qədər fərqlənən Servo kitabxanası ilə işləyir.
- 90 dərəcə girişli servo stop
- 0 - 89 dərəcə giriş ilə saat yönünde döndərin. Dönmə sürəti 90 dərəcədən daha çox artır.
- 91 -dən 180 dərəcəyə qədər girişlə saat yönünün əksinə çevirin. Dönmə sürəti 90 dərəcədən daha çox artır.
Addım 10: Arduino Kodu
Arduino UNO -ya servo və jest sensoru qoşun.
Jest sensoru kitabxanası aşağıdakılardan istifadə edir.https://github.com/Seed-Studio/Gesture_PAJ7620
Paj7620_9gestures.ino kod nümunəsinə baxdım.
Jest, barmağın saat yönünü və əksinə istiqamətini tanımağa məcbur etdi.
Arduinonun rəqəmsal 8 pimi GND -yə qoşulur ki, servo yavaş -yavaş saat əqrəbinin əksinə dönsün və baş vintini qoza çevirə bilsin.
Arduino'nun rəqəmsal 8 pinli açılışı normal işləməni buraxır və jest sensoru aşkarlanmağa başlayır. Barmaq hərəkətinin fırlanmasını algılar və servoya görə hərəkət edir.
#include #include "paj7620.h" #include Servo myservo; // servoya nəzarət etmək üçün servo obyekti yaradın
void setup () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // pin 9 -dakı servoyu pinMode (8, INPUT_PULLUP) servo obyektinə bağlayır; səhv = paj7620Init (); // Paj7620 qeydlərini işə salın, əgər (səhv) {Serial.print ("INIT ERROR, CODE:"); Serial.println (səhv); } başqa {Serial.println ("INIT OK"); } Serial.println ("Zəhmət olmasa jestlərinizi daxil edin: / n"); }
void loop () {uint8_t data = 0, data1 = 0, səhv; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } başqa {səhv = paj7620ReadReg (0x43, 1, və data); // Jest nəticəsi üçün Bank_0_Reg_0x43/0x44 oxuyun. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("Saat istiqamətində"); myservo.write (90 - 20); gecikmə (800); fasilə; hal GES_COUNT_CLOCKWISE_FLAG: Serial.println ("saat yönünün əksinə"); myservo.write (90 + 20); gecikmə (800); fasilə; default: myservo.write (90); fasilə; }}}}
Addım 11: Əməliyyat
Cəlbedici bir başım yelləncək var!