Innehållsförteckning:
Video: Dragarm som styrs av ljud - Arduino skolprojekt: 4 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Det här är första gången jag arbetar med Arduino och jag arbetar med något liknande någonsin, så ledsen om jag gjorde några misstag! Jag fick den här idén när jag tänkte på mina hobbyer, som är teckning och musik. Så jag försökte kombinera de två till detta! En självtecknande arm som påverkas av ljud.
Steg 1: Steg 1: Material
- Arduino Uno
- Brödbräda
- Ljuddetektor (Sparkfun sen-12642)
- 2 (mini) servon
- Slipsar / dragkedjor
- Lite trä och papper
- något du kan rita/skriva med
Steg 2: Steg 2: Inställning
Jag kopplade först in servon och sedan ljuddetektorn. Ljuddetektorn Sparkfun sen-12642 har 3 utgångar, jag använde bara "kuvert" -utgången.
Servo 1 = stift ~ 9
Servo 2 = stift ~ 10
Ljuddetektor = stift A0
De röda linjerna (5v) är anslutna till den positiva sidan på brödbrädet, och de svarta linjerna (marken) är anslutna till den negativa sidan.
Steg 3: Steg 3: Icke-elektronik
Se till att servon är stabila och på rätt plats. Jag använde slipsar för att fixera dem. Efter det använde jag slipsar för att knyta de (utbytbara) övre delarna av servon till träarmarna. Efter det kan du ansluta träarmdelarna till servon. Anslut alla ledningar till Arduino och brödbräda.
Efter det lödde jag trådarna till ljuddetektorn.
Steg 4: Steg 4: Kod
Jag är inte på något sätt nära att vara bra på att koda, men jag försökte mitt bästa och internet hjälpte mycket:)
#inkludera Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Visa status
Serial.println ("Initierad"); myservo1.attach (9); myservo2.attach (10); }
void loop ()
{int värde;
// Kontrollera kuvertinmatningen
värde = analogRead (PIN_ANALOG_IN);
// Kuvertvärdet påverkar servon
Serial.println (värde); if (värde 5) && (värde 10) && (värde 20) && (värde 30) && (värde 60)) {myservo1.write (slumpmässigt (0, 90)); myservo2.write (slumpmässig (0, 90)); }
fördröjning (180);
}