Innholdsfortegnelse:
Video: Drawing Arm That's Controlled by Sound - Arduino School Project: 4 trinn (med bilder)
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er min aller første gang jeg jobber med Arduino, og jobber med noe slikt noen gang, så beklager hvis jeg gjorde noen feil! Jeg fikk denne ideen da jeg tenkte på hobbyene mine, som er tegning og musikk. Så jeg prøvde å kombinere de to i dette! En selvtrekkende arm som påvirkes av lyd.
Trinn 1: Trinn 1: Materialer
- Arduino Uno
- Brødbrett
- Lyddetektor (Sparkfun sen-12642)
- 2 (mini) servoer
- Slips / glidelås
- Litt tre og papir
- noe du kan tegne/skrive med
Trinn 2: Trinn 2: Oppsett
Jeg koblet først inn servoen og deretter lyddetektoren. Sparkfun sen-12642 lyddetektor har 3 utganger, jeg brukte bare "konvolutt" -utgangen.
Servo 1 = pin ~ 9
Servo 2 = pin ~ 10
Lyddetektor = pin A0
De røde linjene (5v) er koblet til den positive siden på brødbrettet, og de svarte linjene (bakken) er koblet til den negative siden.
Trinn 3: Trinn 3: Ikke-elektronikk
Sørg for at servoen er stabil og på riktig sted. Jeg brukte slipsomslag for å stabilisere dem. Etter det brukte jeg slipsomslag for å knytte (utskiftbare) øvre deler av servoen til trearmene. Etter det kan du koble trearmdelene til servoen. Koble alle ledningene til Arduino og brødbrett.
Etter det loddet jeg ledningene til lyddetektoren.
Trinn 4: Trinn 4: Kode
Jeg er på ingen måte i nærheten av å være flink til å kode, men jeg prøvde mitt beste og internett hjalp mye:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
ugyldig oppsett () {Serial.begin (9600);
// Vis status
Serial.println ("Initialisert"); myservo1.attach (9); myservo2.attach (10); }
hulrom ()
{int verdi;
// Kontroller konvoluttinngangen
verdi = analogRead (PIN_ANALOG_IN);
// Konvoluttverdien påvirker servoen
Serial.println (verdi); if (verdi 5) && (verdi 10) && (verdi 20) && (verdi 30) && (verdi 60)) {myservo1.write (tilfeldig (0, 90)); myservo2.write (tilfeldig (0, 90)); }
forsinkelse (180);
}