Inhaltsverzeichnis:
Video: Tongesteuerter Zeichenarm - Arduino School Project - Gunook
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dies ist mein allererstes Mal, dass ich mit Arduino arbeite und mit so etwas arbeite. Es tut mir leid, wenn ich Fehler gemacht habe! Diese Idee kam mir, als ich über meine Hobbys nachdachte, die Zeichnen und Musik sind. Also habe ich versucht, die beiden hier zu kombinieren! Ein selbstziehender Arm, der von Geräuschen beeinflusst wird.
Schritt 1: Schritt 1: Materialien
- Arduino Uno
- Steckbrett
- Schallmelder (Sparkfun sen-12642)
- 2 (Mini-)Servos
- Krawattenwickel / Kabelbinder
- Etwas Holz und Papier
- etwas, mit dem du zeichnen/schreiben kannst
Schritt 2: Schritt 2: Einrichtung
Ich habe zuerst die Servos und dann den Sounddetektor angeschlossen. Der Sparkfun sen-12642 Schalldetektor hat 3 Ausgänge, ich habe nur den "Hüllkurven"-Ausgang verwendet.
Servo 1 = Stift ~9
Servo 2 = Stift ~10
Schallmelder = Pin A0
Die roten Leitungen (5V) sind mit der positiven Seite des Steckbretts verbunden und die schwarzen Leitungen (Masse) sind mit der negativen Seite verbunden.
Schritt 3: Schritt 3: Nicht-Elektronik
Stellen Sie sicher, dass die Servos stabil und an der richtigen Stelle sind. Ich benutzte Krawattenwickel, um sie zu stabilisieren. Danach habe ich Kabelbinder verwendet, um die (austauschbaren) oberen Teile des Servos an die Holzarme zu binden. Danach können Sie die Holzarmteile mit den Servos verbinden. Verbinden Sie alle Drähte mit dem Arduino und dem Steckbrett.
Danach lötete ich die Drähte an den Schalldetektor.
Schritt 4: Schritt 4: Code
Ich bin bei weitem nicht gut im Codieren, aber ich habe mein Bestes gegeben und das Internet hat sehr geholfen:)
#include Servo myservo1; Servo myservo2; intpos = 0; int PIN_ANALOG_IN = A0;
Void setup () {Serial.begin (9600);
// Status anzeigen
Serial.println ("Initialisiert"); myservo1.attach(9); myservo2.attach(10); }
Leere Schleife ()
{ int-Wert;
// Überprüfen Sie die Hüllkurveneingabe
Wert = analogRead (PIN_ANALOG_IN);
// Hüllkurvenwert beeinflusst die Servos
Serial.println (Wert); if (Wert 5) && (Wert 10) && (Wert 20) && (Wert 30) && (Wert 60)) { myservo1.write (zufällig (0, 90)); myservo2.write (zufällig (0, 90)); }
Verzögerung (180);
}