Obsah:

Kresliaca ruka ovládaná zvukom - Arduino School Project: 4 kroky (s obrázkami)
Kresliaca ruka ovládaná zvukom - Arduino School Project: 4 kroky (s obrázkami)

Video: Kresliaca ruka ovládaná zvukom - Arduino School Project: 4 kroky (s obrázkami)

Video: Kresliaca ruka ovládaná zvukom - Arduino School Project: 4 kroky (s obrázkami)
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Júl
Anonim
Kresliaca ruka ovládaná zvukom - Arduino School Project
Kresliaca ruka ovládaná zvukom - Arduino School Project

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

Krok 2: Nastavenie
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

Krok 3: Neelektronika
Krok 3: Neelektronika
Krok 3: Neelektronika
Krok 3: Neelektronika
Krok 3: Neelektronika
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);

}

Odporúča: