Sadržaj:

Vilin konjic koji se okreće glavom: 11 koraka
Vilin konjic koji se okreće glavom: 11 koraka

Video: Vilin konjic koji se okreće glavom: 11 koraka

Video: Vilin konjic koji se okreće glavom: 11 koraka
Video: UGLEDAO JE SA DRUGIM, ZATIM SE DESILO OVO 2024, Novembar
Anonim
Ljuljajući zmaj s glavom
Ljuljajući zmaj s glavom

Napravio sam vretenca. Vilin konjic okreće glavu sa senzorom pokreta i servo motorom.

komponente

  • Arduino UNO
  • Seeed Grove - Pokret
  • FS90R Mikro kontinuirani rotacijski servo

Korak 1: Ustav

Ustav
Ustav

Otkrivanje pokreta prsta pomoću senzora pokreta i upravljanje smjerom rotacije servoa za kontinuirano okretanje od 360 ° pomoću Arduina.

Korak 2: Napravite Dragonfly - Glava 1 -

Napravi Dragonfly - Glava 1
Napravi Dragonfly - Glava 1

Glava je izrađena vijkom M8 dugačkim 12 mm. Prilikom rotiranja glave sa servo pogonom prerežite štap da se zaustavi pod fiksnim uglom, odrežite žicu na odgovarajuću dužinu i lemite je na vijak.

Korak 3: Napravite Dragonfly - Glava 2 -

Napravi Dragonfly - Glava 2
Napravi Dragonfly - Glava 2

Oči i usta napravljeni su sa svjetlucavim pečatima za nakit. Olovkom pišem usta.

Korak 4: Napravite Dragonfly - Glava 3 -

Napravi Dragonfly - Glava 3
Napravi Dragonfly - Glava 3

Veza između glave i sanduka (servo) sastoji se od matice. Perje i matice pričvrstite na servo pogon trenutnim ljepilom.

Korak 5: Napravite Dragonfly - Tijelo 1 -

Napravi Dragonfly - Tijelo 1
Napravi Dragonfly - Tijelo 1

Postavite servomotor do vilinih konjinih prsa. Zalijepljen vijak M6 dugačak 60 mm kao trbuh.

Korak 6: Napravite Dragonfly - Tijelo 2 -

Napravi Dragonfly - Tijelo 2
Napravi Dragonfly - Tijelo 2

Pričvrstite prethodno stvorene matice na servo i spojite perje ploča s nožicama žice.

Korak 7: Napravite Dragonfly - Tijelo 3 -

Napravi Dragonfly - Tijelo 3
Napravi Dragonfly - Tijelo 3

Pričvrstite debelu žicu na servo pogon tako da se uhvati za traku za zamjenu glave. Lemio sam nožice tanke žice na ovu debelu žicu (za nerđajući čelik).

Korak 8: Napravite Dragonfly - Tijelo 4 -

Napravi Dragonfly - Tijelo 4
Napravi Dragonfly - Tijelo 4

Uvrnite glavu u maticu i vilin konjic je gotov. Aktivirajte servo i okrenite ga.

Korak 9: Servo sa kontinuiranom rotacijom od 360 stepeni

Ovaj servo radi sa Servo bibliotekom koja je izvorno bila uključena u Arduino IDE, ali se malo razlikuje od normalnog servo motora.

  • Servo stop sa ulazom od 90 stepeni
  • Rotirajte u smjeru kazaljke na satu sa 0 do 89 stepeni unosa. Brzina rotacije se povećava dalje od 90 stepeni.
  • Rotirajte suprotno od kazaljke na satu sa ulazom od 91 do 180 stepeni. Brzina rotacije se povećava dalje od 90 stepeni.

Korak 10: Arduino kod

Spojite servo i senzor gesta na Arduino UNO.

Biblioteka senzora pokreta koristi sljedeće.

Pogledao sam uzorak koda paj7620_9gestures.ino.

Gesta je učinila da prepozna smjer prsta u smjeru kazaljke na satu i u smjeru suprotnom od kazaljke na satu.

Arduino digitalni 8 -pinski priključak spojen je na GND tako da se servo polako okreće u smjeru suprotnom od kazaljke na satu, tako da se vijak s glavom može okrenuti u maticu.

Arduino digitalno 8 -pinsko otvaranje otpušta normalni rad i počinje otkrivanje senzora pokreta. Otkriva rotaciju pokreta prstiju i pomiče se prema servo pogonu.

#include #include "paj7620.h" #include Servo myservo; // kreiranje servo objekta za upravljanje servo pogonom

void setup () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // priključuje servo na pin 9 na servo objekt pinMode (8, INPUT_PULLUP); error = paj7620Init (); // inicijaliziramo registre Paj7620 if (error) {Serial.print ("INIT ERROR, CODE:"); Serial.println (greška); } else {Serial.println ("INIT OK"); } Serial.println ("Molimo unesite geste: / n"); }

void loop () {uint8_t data = 0, data1 = 0, greška; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, & data); // Pročitajte Bank_0_Reg_0x43/0x44 za rezultat geste. if (! greška) {switch (data) {slučaj GES_CLOCKWISE_FLAG: Serial.println ("U smjeru kazaljke na satu"); myservo.write (90 - 20); kašnjenje (800); break; kućište GES_COUNT_CLOCKWISE_FLAG: Serial.println ("suprotno od kazaljke na satu"); myservo.write (90 + 20); kašnjenje (800); break; default: myservo.write (90); break; }}}}

Korak 11: Operacija

Operacija
Operacija

Imam lijepog vilinog konjica koji zamahuje glavom!

Preporučuje se: