Spisu treści:

Swingująca głowa ważka: 11 kroków
Swingująca głowa ważka: 11 kroków

Wideo: Swingująca głowa ważka: 11 kroków

Wideo: Swingująca głowa ważka: 11 kroków
Wideo: Jacek Piskorz i jego najnowszy projekt muzyczny! 2024, Może
Anonim
Swingująca głowa ważki
Swingująca głowa ważki

Zrobiłem ważkę. Ważka obraca głowę z czujnikiem gestów i serwomotorem.

składniki

  • Arduino UNO
  • Zagajnik Nasion - Gest
  • Serwo FS90R Micro Continuous Rotation

Krok 1: Konstytucja

Konstytucja
Konstytucja

Wykrywanie ruchu palca za pomocą czujnika gestów i sterowanie kierunkiem obrotu serwomechanizmu ciągłego obrotu 360° za pomocą Arduino.

Krok 2: Stwórz Ważkę - Głowa 1 -

Utwórz ważkę - Głowa 1
Utwórz ważkę - Głowa 1

Łeb wykonano śrubą M8 o długości 12 mm. Obracając głowicę z serwomechanizmem odetnij drążek do zatrzymania pod ustalonym kątem dotnij drut na odpowiednią długość i przylutuj go do śruby.

Krok 3: Stwórz Ważkę - Głowa 2 -

Utwórz Ważkę - Głowa 2
Utwórz Ważkę - Głowa 2

Oczy i usta zostały wykonane z błyszczących pieczęci jubilerskich. Piszę usta długopisem.

Krok 4: Stwórz Ważkę - Głowa 3 -

Utwórz ważkę - Głowa 3
Utwórz ważkę - Głowa 3

Połączenie między głową a klatką piersiową (serwo) składa się z nakrętki. Przymocuj pióra i nakrętki przymocowane do serwomechanizmu za pomocą kleju błyskawicznego.

Krok 5: Utwórz ważkę - Ciało 1 -

Utwórz ważkę - Ciało 1
Utwórz ważkę - Ciało 1

Doprowadź serwomotor do klatki piersiowej ważki. Przyklejona śruba M6 o długości 60 mm jako brzuch.

Krok 6: Utwórz ważkę - Ciało 2 -

Utwórz Ważkę - Ciało 2
Utwórz Ważkę - Ciało 2

Do serwomechanizmu przykręcić wcześniej utworzone nakrętki i skleić pióra blaszek ze stopkami drutu.

Krok 7: Utwórz ważkę - Ciało 3 -

Utwórz Ważkę - Ciało 3
Utwórz Ważkę - Ciało 3

Przymocuj gruby drut do serwomechanizmu tak, aby zaczepiał o drążek zastępczy głowicy. Do tego grubego drutu lutuję nóżki z cienkiego drutu (do stali nierdzewnej).

Krok 8: Utwórz ważkę - Ciało 4 -

Utwórz Ważkę - Ciało 4
Utwórz Ważkę - Ciało 4

Wkręć główkę w nakrętkę i ważka jest gotowa. Włącz serwo i przekręć go.

Krok 9: Serwo obrotowe 360 stopni z ciągłym obrotem

Serwo to działa z biblioteką Servo, która była pierwotnie zawarta w Arduino IDE, ale nieco różni się od normalnego silnika serwo.

  • Zatrzymanie serwomechanizmu z wejściem 90 stopni
  • Obróć zgodnie z ruchem wskazówek zegara z wejściem od 0 do 89 stopni. Prędkość obrotowa wzrasta dalej od 90 stopni.
  • Obróć przeciwnie do ruchu wskazówek zegara z wejściem od 91 do 180 stopni. Prędkość obrotowa wzrasta dalej od 90 stopni.

Krok 10: Kod Arduino

Podłącz serwo i czujnik gestów do Arduino UNO.

Biblioteka czujnika gestów korzysta z następującego.https://github.com/Seed-Studio/Gesture_PAJ7620

Spojrzałem na przykładowy kod paj7620_9gesttures.ino.

Gest rozpoznał kierunek zgodny z ruchem wskazówek zegara i przeciwny do ruchu wskazówek zegara.

Cyfrowy 8 pin Arduino jest podłączony do GND, dzięki czemu serwo obraca się powoli w kierunku przeciwnym do ruchu wskazówek zegara, dzięki czemu śruba z łbem może zostać wkręcona w nakrętkę.

Cyfrowe 8-pinowe otwarcie Arduino zwalnia normalne działanie i rozpoczyna się wykrywanie czujnika gestów. Wykrywa obrót ruchu palca i porusza się zgodnie z serwomechanizmem.

#include #include "paj7620.h" #include Servo myservo; // utwórz obiekt servo do sterowania serwo

void setup() { błąd uint8_t = 0; Serial.początek(9600); myservo.attach(A0); // dołącza serwo na pinie 9 do obiektu serwa pinMode(8, INPUT_PULLUP); błąd = paj7620Init(); // zainicjuj rejestry Paj7620 if (błąd) { Serial.print("BŁĄD POCZĄTKOWY, KOD:"); Serial.println(błąd); }else { Serial.println("INIT OK"); } Serial.println("Proszę wprowadzić swoje gesty:\n"); }

void loop() { uint8_t dane = 0, dane1 = 0, błąd; if(digitalRead(8) ==NISKI){ myservo.write(90 + 15); }else{ błąd = paj7620ReadReg(0x43, 1, &data); // Odczytaj Bank_0_Reg_0x43/0x44 dla wyniku gestu. if (!error) { switch (data) { case GES_CLOCKWISE_FLAG: Serial.println("Zgodnie z ruchem wskazówek zegara"); myservo.write(90 - 20); opóźnienie (800); przerwa; przypadek GES_COUNT_CLOCKWISE_FLAG: Serial.println("przeciwnie do ruchu wskazówek zegara"); myservo.write(90 + 20); opóźnienie (800); przerwa; domyślnie: myservo.write(90); przerwa; } } } }

Krok 11: Operacja

Operacja
Operacja

Mam śliczną ważkę z huśtawką na głowie!

Zalecana: