Turinys:

Pasukamas laumžirgis: 11 žingsnių
Pasukamas laumžirgis: 11 žingsnių

Video: Pasukamas laumžirgis: 11 žingsnių

Video: Pasukamas laumžirgis: 11 žingsnių
Video: Ar Žemė bus sunaikinta? 2024, Lapkritis
Anonim
Galvą siūbuojantis laumžirgis
Galvą siūbuojantis laumžirgis

Aš padariau laumžirgį. Laumžirgis pasuka galvą su gestų jutikliu ir servo varikliu.

komponentai

  • Arduino UNO
  • Matė giraitę - gestas
  • „FS90R Micro“nuolatinio sukimosi servo sistema

1 žingsnis: Konstitucija

Konstitucija
Konstitucija

Piršto judesio aptikimas gesto jutikliu ir 360 ° nepertraukiamo sukimosi servo sukimosi krypties valdymas naudojant „Arduino“.

2 žingsnis: sukurkite „Dragonfly“- 1 galva -

Sukurkite „Dragonfly“- 1 galva
Sukurkite „Dragonfly“- 1 galva

Galva buvo pagaminta naudojant 12 mm ilgio M8 varžtą. Sukdami galvą su servo pjovimo lazdele, kad sustotų fiksuotu kampu, nukirpkite vielą iki reikiamo ilgio ir prilituokite prie varžto.

3 žingsnis: sukurkite „Dragonfly“- 2 galva

Sukurkite „Dragonfly“- „Head 2“
Sukurkite „Dragonfly“- „Head 2“

Akys ir burna buvo padarytos blizgančiais papuošalų antspaudais. Rašau burną rašikliu.

4 žingsnis: sukurkite „Dragonfly“- 3 galva -

Sukurkite „Dragonfly“- „Head 3“
Sukurkite „Dragonfly“- „Head 3“

Ryšys tarp galvos ir krūtinės (servo) sudarytas iš veržlės. Plunksnas ir veržles, pritvirtintas prie servo, pritvirtinkite momentiniais klijais.

5 žingsnis: sukurkite „Dragonfly“- 1 korpusas -

Sukurti „Dragonfly“- 1 kūnas
Sukurti „Dragonfly“- 1 kūnas

Padėkite variklį prie laumžirgio krūtinės. Prie pilvo pritvirtintas 60 mm ilgio M6 varžtas.

6 žingsnis: sukurkite „Dragonfly“- 2 korpusas -

Sukurti „Dragonfly“- 2 kūnas
Sukurti „Dragonfly“- 2 kūnas

Prisukite anksčiau sukurtas veržles prie servo ir prijunkite apnašų plunksnas prie vielos kojų.

7 žingsnis: sukurkite „Dragonfly“- 3 korpusas -

Sukurti „Dragonfly“- „Body 3“
Sukurti „Dragonfly“- „Body 3“

Prie servo pritvirtinkite storą vielą taip, kad ji priliptų prie galvos keitimo juostos. Plonas vielos kojas lituoju prie šios storos vielos (nerūdijančiam plienui).

8 veiksmas: sukurkite „Dragonfly“- 4 korpusas -

Sukurti laumžirgį - 4 kūnas
Sukurti laumžirgį - 4 kūnas

Įsukite galvutę į veržlę ir laumžirgis bus baigtas. Įjunkite servo ir pasukite.

9 žingsnis: 360 laipsnių nenutrūkstamo sukimosi servo

Ši servo sistema veikia su „Servo“biblioteka, kuri iš pradžių buvo įtraukta į „Arduino IDE“, tačiau šiek tiek skiriasi nuo įprasto servo variklio.

  • Servo stabdys su 90 laipsnių įėjimu
  • Pasukite pagal laikrodžio rodyklę su įvestimi nuo 0 iki 89 laipsnių. Sukimosi greitis padidėja nuo 90 laipsnių.
  • Pasukite prieš laikrodžio rodyklę įvesties nuo 91 iki 180 laipsnių kampu. Sukimosi greitis padidėja nuo 90 laipsnių.

10 veiksmas: „Arduino“kodas

Prijunkite servo ir gestų jutiklį prie „Arduino UNO“.

Gestų jutiklių bibliotekoje naudojama ši informacija.

Pažvelgiau į kodo pavyzdį paj7620_9gestures.ino.

Šis gestas privertė atpažinti piršto kryptį pagal laikrodžio rodyklę ir prieš laikrodžio rodyklę.

„Arduino“skaitmeninis 8 kaištis yra prijungtas prie GND, todėl servo sistema lėtai sukasi prieš laikrodžio rodyklę, kad galvos varžtą būtų galima paversti veržle.

„Arduino“skaitmeninis 8 kontaktų atidarymas atleidžia įprastą veikimą ir prasideda gestų jutiklio aptikimas. Aptinka piršto judesio sukimąsi ir juda pagal servo.

#include #include "paj7620.h" #include Servo myservo; // sukurti servo objektą valdyti servo

void setup () {uint8_t klaida = 0; Serial.begin (9600); myservo.attach (A0); // pritvirtina 9 kaiščio servo servo objektą pinMode (8, INPUT_PULLUP); klaida = paj7620Init (); // inicijuoti Paj7620 registrus, jei (klaida) {Serial.print ("INIT ERROR, CODE:"); Serial.println (klaida); } else {Serial.println ("INIT OK"); } Serial.println ("Įveskite gestus: / n"); }

void loop () {uint8_t data = 0, data1 = 0, klaida; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, ir duomenys); // Perskaitykite „Bank_0_Reg_0x43/0x44“, kad gautumėte gesto rezultatą. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("Pagal laikrodžio rodyklę"); myservo.write (90 - 20); vėlavimas (800); pertrauka; atvejis GES_COUNT_CLOCKWISE_FLAG: Serial.println ("prieš laikrodžio rodyklę"); myservo.write (90 + 20); vėlavimas (800); pertrauka; numatytasis: myservo.write (90); pertrauka; }}}}

11 žingsnis: veikimas

Operacija
Operacija

Gavau gražią laumžirgę!

Rekomenduojamas: