Kazalo:

Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino: 4 koraki (s slikami)
Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino: 4 koraki (s slikami)

Video: Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino: 4 koraki (s slikami)

Video: Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino: 4 koraki (s slikami)
Video: Часть 1 — Аудиокнига Эдит Уортон «Дом веселья» (Книга 1 — главы 01–05) 2024, Julij
Anonim
Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino
Vlečna roka, ki jo nadzira zvok - šolski projekt Arduino

S Arduinom sodelujem prvič in delam s kaj takega doslej, zato se opravičujem, če sem naredil kakšno napako! To idejo sem dobil, ko sem razmišljal o svojih hobijih, ki sta risanje in glasba. Zato sem skušal oboje združiti v to! Samovlečna roka, na katero vpliva zvok.

1. korak: 1. korak: Materiali

- Arduino Uno

- Ogledna plošča

- Detektor zvoka (Sparkfun sen-12642)

- 2 (mini) servomotorja

- Obloge za kravate / vezi

- Nekaj lesa in papirja

- nekaj, s čimer lahko rišete/pišete

2. korak: 2. korak: Nastavitev

2. korak: Nastavitev
2. korak: Nastavitev

Najprej sem priključil servo in nato detektor zvoka. Zvočni detektor Sparkfun sen-12642 ima 3 izhode, uporabil sem samo izhod "ovojnica".

Servo 1 = pin ~ 9

Servo 2 = pin ~ 10

Zvočni detektor = pin A0

Rdeče črte (5v) so povezane s pozitivno stranjo na plošči, črne črte (ozemljitev) pa z negativno stranjo.

3. korak: 3. korak: Neelektronika

3. korak: Neelektronika
3. korak: Neelektronika
3. korak: Neelektronika
3. korak: Neelektronika
3. korak: Neelektronika
3. korak: Neelektronika

Poskrbite, da bodo servomotorji stabilni in na pravem mestu. Za njihovo pritrditev sem uporabil ovite kravate. Po tem sem z oblogami za kravate privezal (zamenljive) zgornje dele servomotorja na lesene roke. Po tem lahko lesene ročne dele priključite na servo. Priključite vse žice na Arduino in ploščo.

Po tem sem žice spajkal na detektor zvoka.

4. korak: 4. korak: Koda

Niti približno nisem dober pri kodiranju, vendar sem se potrudil in internet mi je veliko pomagal:)

#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;

void setup () {Serial.begin (9600);

// Prikaz stanja

Serial.println ("Inicializirano"); myservo1.attach (9); myservo2.attach (10); }

void loop ()

{vrednost int;

// Preverite vnos ovojnice

vrednost = analogno branje (PIN_ANALOG_IN);

// Vrednost ovojnice vpliva na servo

Serial.println (vrednost); če (vrednost 5) && (vrednost 10) && (vrednost 20) && (vrednost 30) && (vrednost 60)) {myservo1.write (naključno (0, 90)); myservo2.write (naključno (0, 90)); }

zamuda (180);

}

Priporočena: