Turinys:
- 1 žingsnis: Konstitucija
- 2 žingsnis: sukurkite „Dragonfly“- 1 galva -
- 3 žingsnis: sukurkite „Dragonfly“- 2 galva
- 4 žingsnis: sukurkite „Dragonfly“- 3 galva -
- 5 žingsnis: sukurkite „Dragonfly“- 1 korpusas -
- 6 žingsnis: sukurkite „Dragonfly“- 2 korpusas -
- 7 žingsnis: sukurkite „Dragonfly“- 3 korpusas -
- 8 veiksmas: sukurkite „Dragonfly“- 4 korpusas -
- 9 žingsnis: 360 laipsnių nenutrūkstamo sukimosi servo
- 10 veiksmas: „Arduino“kodas
- 11 žingsnis: veikimas
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
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
Piršto judesio aptikimas gesto jutikliu ir 360 ° nepertraukiamo sukimosi servo sukimosi krypties valdymas naudojant „Arduino“.
2 žingsnis: 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
Akys ir burna buvo padarytos blizgančiais papuošalų antspaudais. Rašau burną rašikliu.
4 žingsnis: sukurkite „Dragonfly“- 3 galva -
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 -
Padėkite variklį prie laumžirgio krūtinės. Prie pilvo pritvirtintas 60 mm ilgio M6 varžtas.
6 žingsnis: sukurkite „Dragonfly“- 2 korpusas -
Prisukite anksčiau sukurtas veržles prie servo ir prijunkite apnašų plunksnas prie vielos kojų.
7 žingsnis: sukurkite „Dragonfly“- 3 korpusas -
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 -
Į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
Gavau gražią laumžirgę!