Sadržaj:
Video: Ruka za izvlačenje koju kontrolira zvuk - Arduino školski projekt: 4 koraka (sa slikama)
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ovo mi je prvi put da radim s Arduinom i da radim s nečim ovakvim ikad, pa oprostite ako sam pogriješio! Na ovu sam ideju došao razmišljajući o svojim hobijima, a to su crtanje i glazba. Pa sam pokušao to dvoje spojiti u ovo! Ruka koja se samo izvlači na koju utječe zvuk.
Korak 1: Korak 1: Materijali
- Arduino Uno
- Oglasna ploča
- Detektor zvuka (Sparkfun sen-12642)
- 2 (mini) servo uređaja
- Omotači kravata / patentnih zatvarača
- Nešto drva i papira
- nešto s čime možete crtati/pisati
Korak 2: Korak 2: Postavljanje
Prvo sam priključio Servo, a zatim i detektor zvuka. Detektor zvuka Sparkfun sen-12642 ima 3 izlaza, koristio sam samo izlaz "omotnica".
Servo 1 = pin ~ 9
Servo 2 = pin ~ 10
Detektor zvuka = pin A0
Crvene linije (5v) povezane su s pozitivnom stranom na ploči, a crne linije (uzemljenje) s negativnom stranom.
Korak 3: Korak 3: Neelektronika
Uvjerite se da su servo upravljači stabilni i na pravom mjestu. Za njihovo učvršćivanje koristila sam omote za kravate. Nakon toga sam upotrijebio omote za vezivanje kako bih (zamjenjive) gornje dijelove servoa vezao za drvene ruke. Nakon toga možete spojiti drvene dijelove ruke na servo. Spojite sve žice na Arduino i matičnu ploču.
Nakon toga sam lemio žice na detektor zvuka.
Korak 4: Korak 4: Kodirajte
Nisam ni blizu da kodiram, ali sam se potrudio i internet mi je puno pomogao:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Prikaz statusa
Serial.println ("Pokrenuto"); myservo1.attach (9); myservo2.attach (10); }
void loop ()
{int vrijednost;
// Provjerite ulaz omotnice
vrijednost = analogno čitanje (PIN_ANALOG_IN);
// Vrijednost omotnice utječe na servo
Serial.println (vrijednost); if (vrijednost 5) && (vrijednost 10) && (vrijednost 20) && (vrijednost 30) && (vrijednost 60)) {myservo1.write (nasumično (0, 90)); myservo2.write (slučajno (0, 90)); }
kašnjenje (180);
}