Sisällysluettelo:
Video: Piirustusvarsi, jota ääni ohjaa - Arduino School Project: 4 vaihetta (kuvilla)
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä on ensimmäinen kerta, kun työskentelen Arduinon kanssa ja työskentelen tällaisen kanssa koskaan, joten pahoittelen, jos tein virheitä! Sain tämän idean, kun ajattelin harrastuksiani, jotka ovat piirtäminen ja musiikki. Joten yritin yhdistää nämä kaksi tähän! Itsevetävä käsivarsi, johon ääni vaikuttaa.
Vaihe 1: Vaihe 1: Materiaalit
- Arduino Uno
- Leipälauta
- Äänentunnistin (Sparkfun sen-12642)
- 2 (mini) servoa
- Solmukääreet / vetoketjut
- Vähän puuta ja paperia
- jotain, jolla voit piirtää/kirjoittaa
Vaihe 2: Vaihe 2: Asennus
Liitin ensin Servon ja sitten äänentunnistimen. Sparkfun sen-12642 -äänianturissa on 3 lähtöä, käytin vain "kirjekuoren" lähtöä.
Servo 1 = nasta ~ 9
Servo 2 = nasta ~ 10
Äänentunnistin = nasta A0
Punaiset viivat (5v) on kytketty leipälevyn positiiviseen puoleen ja mustat viivat (maadoitus) negatiiviseen puoleen.
Vaihe 3: Vaihe 3: Ei-elektroniikka
Varmista, että servot ovat vakaat ja oikeassa paikassa. Käytin solmukääreitä niiden tukemiseen. Tämän jälkeen käytin solmukääreitä servon (vaihdettavien) yläosien kiinnittämiseen puisiin käsivarsiin. Tämän jälkeen voit liittää puiset varsiosat servoihin. Liitä kaikki johdot Arduinoon ja leipälautaan.
Sen jälkeen juotin johdot äänentunnistimeen.
Vaihe 4: Vaihe 4: Koodi
En ole läheskään hyvä koodaamaan, mutta yritin parhaani ja internet auttoi paljon:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Näytön tila
Serial.println ("Alustettu"); myservo1.attach (9); myservo2.attach (10); }
tyhjä silmukka ()
{int arvo;
// Tarkista kirjekuoren syöttö
arvo = analoginen luku (PIN_ANALOG_IN);
// Kirjekuoren arvo vaikuttaa servoon
Sarja.println (arvo); jos (arvo 5) && (arvo 10) && (arvo 20) && (arvo 30) && (arvo 60)) {myservo1.write (satunnainen (0, 90)); myservo2.write (satunnainen (0, 90)); }
viive (180);
}