İçindekiler:
- Adım 1: Anayasa
- 2. Adım: Yusufçuk Oluşturun - Başlık 1 -
- 3. Adım: Yusufçuk Oluşturun - Başlık 2 -
- Adım 4: Yusufçuk Oluşturun - Başlık 3 -
- Adım 5: Yusufçuk Oluşturun - Gövde 1 -
- 6. Adım: Yusufçuk Oluşturun - 2. Gövde -
- 7. Adım: Yusufçuk Oluşturun - Gövde 3 -
- 8. Adım: Yusufçuk Oluşturun - 4. Gövde -
- Adım 9: 360 Derece Sürekli Dönen Servo
- Adım 10: Arduino Kodu
- Adım 11: Çalıştırma
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
yusufçuk yaptım. Yusufçuk, bir hareket sensörü ve bir servo motor ile başını sallar.
bileşenler
- Arduino UNO'su
- Seeed Grove - jest
- FS90R Mikro Sürekli Döndürme Servo
Adım 1: Anayasa
Parmak hareketinin jest sensörü ile algılanması ve Arduino ile 360 ° sürekli dönüş servosunun dönüş yönünün kontrol edilmesi.
2. Adım: Yusufçuk Oluşturun - Başlık 1 -
Başlık 12 mm uzunluğunda M8 vida ile yapılmıştır. Kafayı servo ile döndürürken çubuğu sabit bir açıda duracak şekilde kesin, teli uygun uzunlukta kesin ve vidaya lehimleyin.
3. Adım: Yusufçuk Oluşturun - Başlık 2 -
Gözler ve ağızlar ışıltılı mücevher mühürleriyle yapılmıştır. Ağzı kalemle yazıyorum.
Adım 4: Yusufçuk Oluşturun - Başlık 3 -
Baş ve göğüs (servo) arasındaki bağlantı bir somundan yapılmıştır. Servoya bağlı olan tüyleri ve somunları anında yapıştırıcı ile yapıştırın.
Adım 5: Yusufçuk Oluşturun - Gövde 1 -
Servo motoru yusufçuğun göğsüne yapın. 60 mm uzunluğunda M6 vida göbek olarak yapıştırılır.
6. Adım: Yusufçuk Oluşturun - 2. Gövde -
Daha önce oluşturulan somunları servoya vidalayın ve plakaların tüylerini telin ayaklarına yapıştırın.
7. Adım: Yusufçuk Oluşturun - Gövde 3 -
Servoya kalın bir tel takın, böylece kafa değiştirme çubuğuna takılır. İnce telin ayaklarını bu kalın tele lehimliyorum (paslanmaz çelik için).
8. Adım: Yusufçuk Oluşturun - 4. Gövde -
Kafayı somuna vidalayın ve yusufçuk tamamlandı. Servoyu etkinleştirin ve çevirin.
Adım 9: 360 Derece Sürekli Dönen Servo
Bu servo, orijinal olarak Arduino IDE'ye dahil olan ancak normal servo motordan biraz farklı olan Servo kitaplığı ile çalışır.
- 90 derece girişli servo durdurma
- 0 ila 89 derece giriş ile saat yönünde döndürün. Dönme hızı 90 dereceden uzaklaştıkça artar.
- 91 ila 180 derece arasında giriş yaparak saat yönünün tersine döndürün. Dönme hızı 90 dereceden uzaklaştıkça artar.
Adım 10: Arduino Kodu
Servo ve hareket sensörünü Arduino UNO'ya bağlayın.
Hareket sensörü kitaplığı aşağıdakileri kullanır.https://github.com/Seed-Studio/Gesture_PAJ7620
paj7620_9gestures.ino kod örneğine baktım.
Bu hareket, parmağın saat yönünü ve saat yönünün tersini tanımasını sağladı.
Arduino'nun dijital 8 pini GND'ye bağlanmıştır, böylece servo saat yönünün tersine yavaşça döner, böylece başlı vida somuna çevrilebilir.
Arduino'nun dijital 8 pin açıklığı normal çalışmayı bırakır ve hareket sensörü algılaması başlar. Parmak hareketinin dönüşünü algılar ve servoya göre hareket eder.
#include #include "paj7620.h" #include Servo myservo; // bir servoyu kontrol etmek için servo nesnesi yarat
geçersiz kurulum() { uint8_t hatası = 0; Seri.başla(9600); myservo.attach(A0); // pin 9'daki servoyu pinMode(8, INPUT_PULLUP) servo nesnesine bağlar; hata = paj7620Init(); // Paj7620 kayıtlarını başlat if (hata) { Serial.print("INIT ERROR, CODE:"); Seri.println(hata); }else { Serial.println("BAŞLA TAMAM"); } Serial.println("Lütfen hareketlerinizi giriniz:\n"); }
void loop() { uint8_t veri = 0, veri1 = 0, hata; if(digitalRead(8) == DÜŞÜK){ myservo.write(90 + 15); }else{ error = paj7620ReadReg(0x43, 1, &data); // Hareket sonucu için Bank_0_Reg_0x43/0x44 okuyun. if (!error) { geçiş (veri) { case GES_CLOCKWISE_FLAG: Serial.println("Saat Yönünde"); myservo.write(90 - 20); gecikme(800); kırmak; case GES_COUNT_CLOCKWISE_FLAG: Serial.println("saat yönünün tersine"); myservo.write(90 + 20); gecikme(800); kırmak; varsayılan: myservo.write(90); kırmak; } } } }
Adım 11: Çalıştırma
Güzel bir kafa sallayan yusufçuk var!