Obsah:
Video: Kresliaca ruka ovládaná zvukom - Arduino School Project: 4 kroky (s obrázkami)
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
S Arduinom pracujem vôbec prvýkrát a pracujem s niečím takým, takže sa ospravedlňujem, ak som urobil nejaké chyby! Tento nápad som dostal, keď som sa zamyslel nad svojimi koníčkami, ktorými sú kreslenie a hudba. Skúsil som teda skombinovať tieto dve veci do tohto! Samoťahovacie rameno, ktoré je ovplyvnené zvukom.
Krok 1: Krok 1: Materiály
- Arduino Uno
- Breadboard
- zvukový detektor (Sparkfun sen-12642)
- 2 (mini) servá
- Zaväzovacie pásky / zapínanie na zips
- Trochu dreva a papiera
- niečo, s čím môžete kresliť/písať
Krok 2: Krok 2: Nastavenie
Najprv som zapojil servo a potom zvukový detektor. Detektor zvuku Sparkfun sen-12642 má 3 výstupy, použil som iba výstup "obálky".
Servo 1 = kolík ~ 9
Servo 2 = kolík ~ 10
Zvukový detektor = kolík A0
Červené čiary (5v) sú spojené s kladnou stranou na doske a čierne čiary (uzemnenie) sú spojené s negatívnou stranou.
Krok 3: Krok 3: Neelektronika
Uistite sa, že sú servopohony stabilné a na správnom mieste. Na ich stabilizáciu som použil zaväzovacie pásky. Potom som pomocou viazačiek zaviazal (vymeniteľné) horné časti serva k dreveným ramenám. Potom môžete diely drevených ramien pripojiť k servám. Pripojte všetky vodiče k Arduinu a breadboardu.
Potom som spájkoval drôty s detektorom zvuku.
Krok 4: Krok 4: Kód
Vôbec sa nevyznám v kódovaní, ale snažil som sa čo najlepšie a internet mi veľmi pomohol:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Stav zobrazenia
Serial.println ("Inicializované"); myservo1.attach (9); myservo2.attach (10); }
prázdna slučka ()
{int hodnota;
// Skontrolujte vstup obálky
hodnota = analogRead (PIN_ANALOG_IN);
// Hodnota obálky ovplyvňuje servo
Serial.println (hodnota); if (hodnota 5) && (hodnota 10) && (hodnota 20) && (hodnota 30) && (hodnota 60)) {myservo1.write (random (0, 90)); myservo2.write (náhodný (0, 90)); }
oneskorenie (180);
}