Sadržaj:
Video: Ruka za izvlačenje koju kontrolira zvuk - Arduino školski projekt: 4 koraka (sa slikama)
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Ovo mi je prvi put da radim s Arduinom i da radim s nečim ovakvim ikad, žao mi je ako sam napravio grešku! Tu ideju sam dobio kada sam razmišljao o svojim hobijima, crtanju i muzici. Pa sam pokušao spojiti ovo dvoje u ovo! Ruka koja se samo izvlači na koju utiče zvuk.
Korak 1: Korak 1: Materijali
- Arduino Uno
- Oglasna ploča
- Detektor zvuka (Sparkfun sen-12642)
- 2 (mini) servo uređaja
- Omotavanje kravatom / patentnim zatvaračima
- Nešto drveta i papira
- nešto sa čime možete crtati/pisati
Korak 2: Korak 2: Podešavanje
Prvo sam priključio Servo, a zatim i detektor zvuka. Detektor zvuka Sparkfun sen-12642 ima 3 izlaza, koristio sam samo izlaz "omotnice".
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. Koristio sam omote za kravate da ih učvrstim. Nakon toga sam upotrijebio omote za vezivanje kako bih vezao (zamjenjive) gornje dijelove serva 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 ("Inicijalizovano"); myservo1.attach (9); myservo2.attach (10); }
void loop ()
{int vrijednost;
// Provjerite ulaz omotnice
value = analogRead (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 (random (0, 90)); }
kašnjenje (180);
}