Innholdsfortegnelse:
- Trinn 1: Grunnlov
- Trinn 2: Lag Dragonfly - Head 1 -
- Trinn 3: Lag Dragonfly - Head 2 -
- Trinn 4: Lag Dragonfly - Head 3 -
- Trinn 5: Lag Dragonfly - Body 1 -
- Trinn 6: Lag Dragonfly - Body 2 -
- Trinn 7: Lag Dragonfly - Body 3 -
- Trinn 8: Lag Dragonfly - Body 4 -
- Trinn 9: 360-graders kontinuerlig rotasjonsservo
- Trinn 10: Arduino -kode
- Trinn 11: Drift
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg lagde øyenstikker. Øyenstikkeren svinger hodet med en bevegelsessensor og en servomotor.
komponenter
- Arduino UNO
- Seeed Grove - Gesture
- FS90R Micro Continuous Rotation Servo
Trinn 1: Grunnlov
Registrerer fingerbevegelsen med bevegelsessensoren og kontrollerer rotasjonsretningen til 360 ° kontinuerlig rotasjonsservo med Arduino.
Trinn 2: Lag Dragonfly - Head 1 -
Hodet ble laget med en 12 mm lang M8 -skrue. Når du roterer hodet med servoen, kutter du pinnen for å stoppe i en fast vinkel, og kutter tråden til passende lengde og loddes til skruen.
Trinn 3: Lag Dragonfly - Head 2 -
Øyne og munn ble laget med glitrende smykkesegler. Jeg skriver munnen med en penn.
Trinn 4: Lag Dragonfly - Head 3 -
Forbindelsen mellom hodet og brystet (servo) består av en mutter. Fest fjærene og mutrene festet til servoen med øyeblikkelig lim.
Trinn 5: Lag Dragonfly - Body 1 -
Gjør servomotoren til øyenstikkerens bryst. Festet 60 mm lang M6 skrue som mage.
Trinn 6: Lag Dragonfly - Body 2 -
Skru mutrene som ble opprettet tidligere på servoen, og bind fjærene på platene med føttene på ledningen.
Trinn 7: Lag Dragonfly - Body 3 -
Fest en tykk ledning til servoen slik at den fester seg på hodeskiftestangen. Jeg lodder den tynne trådens føtter til denne tykke tråden (for rustfritt stål).
Trinn 8: Lag Dragonfly - Body 4 -
Skru hodet inn i mutteren og øyenstikkeren er fullført. Aktiver servoen og vri den.
Trinn 9: 360-graders kontinuerlig rotasjonsservo
Denne servoen opererer med Servobiblioteket som opprinnelig var inkludert i Arduino IDE, men litt annerledes enn vanlig servomotor.
- Servostopp med 90 graders inngang
- Roter med klokken med 0 til 89 grader input. Rotasjonshastigheten øker lenger fra 90 grader.
- Roter mot klokken med input fra 91 til 180 grader. Rotasjonshastigheten øker lenger fra 90 grader.
Trinn 10: Arduino -kode
Koble servo og bevegelsessensor til Arduino UNO.
Gestsensorbiblioteket bruker følgende.
Jeg så på kodeeksemplet paj7620_9gestures.ino.
Gesten fikk den til å gjenkjenne med urviseren og fingeren mot klokken.
Arduinos digitale 8 -pinners er koblet til GND slik at servoen roterer sakte i retning mot klokken slik at hodeskruen kan dreies inn i mutteren.
Arduinos digitale 8 -pinners åpen utløser normal drift, og deteksjon av gestsensor starter. Oppdager rotasjonen av fingerbevegelsen og beveger seg i henhold til servoen.
#include #include "paj7620.h" #include Servo myservo; // lage servoobjekt for å kontrollere en servo
ugyldig oppsett () {uint8_t feil = 0; Serial.begin (9600); myservo.attach (A0); // fester servoen på pinne 9 til servoobjektet pinMode (8, INPUT_PULLUP); feil = paj7620Init (); // initialiser Paj7620 -registre hvis (feil) {Serial.print ("INIT ERROR, CODE:"); Serial.println (feil); } annet {Serial.println ("INIT OK"); } Serial.println ("Skriv inn bevegelsene dine: / n"); }
void loop () {uint8_t data = 0, data1 = 0, error; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } annet {feil = paj7620ReadReg (0x43, 1 og data); // Les Bank_0_Reg_0x43/0x44 for gestresultat. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("med urviseren"); myservo.write (90 - 20); forsinkelse (800); gå i stykker; sak GES_COUNT_CLOCKWISE_FLAG: Serial.println ("mot klokken"); myservo.write (90 + 20); forsinkelse (800); gå i stykker; standard: myservo.write (90); gå i stykker; }}}}
Trinn 11: Drift
Jeg har en pen hodesvingende øyenstikker!