Cuprins:
- Pasul 1: Constituție
- Pasul 2: Creați Dragonfly - Capul 1 -
- Pasul 3: Creați Dragonfly - Capul 2 -
- Pasul 4: Creați Dragonfly - Cap 3 -
- Pasul 5: Creați Dragonfly - Corpul 1 -
- Pasul 6: Creați Dragonfly - Corpul 2 -
- Pasul 7: Creați Dragonfly - Corpul 3 -
- Pasul 8: Creați Dragonfly - Corpul 4 -
- Pasul 9: Servo de rotație continuă la 360 de grade
- Pasul 10: Cod Arduino
- Pasul 11: Operațiune
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Am făcut libelulă. Libelula se leagănă cu un senzor de gest și un servomotor.
componente
- Arduino UNO
- Seeed Grove - Gest
- Servo cu rotire continuă FS90R
Pasul 1: Constituție
Detectarea mișcării degetului cu senzorul de gest și controlul direcției de rotație a servo-ului de rotație continuă la 360 ° cu Arduino.
Pasul 2: Creați Dragonfly - Capul 1 -
Capul a fost realizat cu șurub M8 de 12 mm lungime. Când rotiți capul cu servo, tăiați bastonul pentru a se opri la un unghi fix, tăiați firul la lungimea corespunzătoare și lipiți-l la șurub.
Pasul 3: Creați Dragonfly - Capul 2 -
Ochii și gura erau realizate cu sigilii de bijuterii sclipitoare. Scriu gura cu pixul.
Pasul 4: Creați Dragonfly - Cap 3 -
Conexiunea dintre cap și piept (servo) este formată dintr-o piuliță. Atașați penele și piulițele atașate la servo cu adeziv instant.
Pasul 5: Creați Dragonfly - Corpul 1 -
Faceți servomotorul la pieptul libelulei. Șurub M6 lung de 60 mm aderent ca burta.
Pasul 6: Creați Dragonfly - Corpul 2 -
Înșurubați piulițele create mai devreme de servo și legați penele plăcilor cu picioarele firului.
Pasul 7: Creați Dragonfly - Corpul 3 -
Atașați un fir gros la servo, astfel încât să se prindă pe bara de înlocuire a capului. Am lipit picioarele firului subțire pe acest fir gros (pentru oțel inoxidabil).
Pasul 8: Creați Dragonfly - Corpul 4 -
Înșurubați capul în piuliță și libelulă este finalizată. Activați servo-ul și rotiți-l.
Pasul 9: Servo de rotație continuă la 360 de grade
Acest servo funcționează cu biblioteca Servo care a fost inițial inclusă în Arduino IDE, dar ușor diferită de servomotorul normal.
- Oprire servo cu intrare de 90 de grade
- Rotiți în sensul acelor de ceasornic cu 0 la 89 de grade de intrare. Viteza de rotație crește mai mult de la 90 de grade.
- Rotiți în sens invers acelor de ceasornic cu intrarea de la 91 la 180 de grade. Viteza de rotație crește mai mult de la 90 de grade.
Pasul 10: Cod Arduino
Conectați servo și senzor de gesturi la Arduino UNO.
Biblioteca senzorului de gesturi folosește următoarele:
M-am uitat la exemplul de cod paj7620_9gestures.ino.
Gestul l-a făcut să recunoască direcția în sensul acelor de ceasornic și în sens invers acelor de ceasornic al degetului.
8 pini digitale Arduino sunt conectați la GND, astfel încât servo-ul să se rotească încet în sens invers acelor de ceasornic, astfel încât șurubul capului să poată fi transformat în piuliță.
Deschiderea digitală cu 8 pini Arduino eliberează funcționarea normală și începe detectarea senzorului de gesturi. Detectează rotația mișcării degetelor și se mișcă în funcție de servo.
#include #include "paj7620.h" #include Servo myservo; // creați un obiect servo pentru a controla un servo
configurare nulă () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // atașează servo pe pinul 9 la obiectul servo pinMode (8, INPUT_PULLUP); eroare = paj7620Init (); // inițializează Paj7620 înregistrează dacă (eroare) {Serial.print ("INIT ERROR, CODE:"); Serial.println (eroare); } else {Serial.println ("INIT OK"); } Serial.println ("Vă rugăm să introduceți gesturile: / n"); }
bucla nulă () {uint8_t date = 0, data1 = 0, eroare; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1 și & data); // Citiți Bank_0_Reg_0x43 / 0x44 pentru rezultatul gestului. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("Clockwise"); myservo.write (90 - 20); întârziere (800); pauză; cazul GES_COUNT_CLOCKWISE_FLAG: Serial.println („în sens invers acelor de ceasornic”); myservo.write (90 + 20); întârziere (800); pauză; implicit: myservo.write (90); pauză; }}}}
Pasul 11: Operațiune
Am o drăguță drăguță de cap!