Πίνακας περιεχομένων:
Βίντεο: Βραχίονας σχεδίασης που ελέγχεται από ήχο - Arduino School Project: 4 βήματα (με εικόνες)
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Αυτή είναι η πρώτη μου φορά που συνεργάζομαι με το Arduino και δουλεύω με κάτι τέτοιο ποτέ, λυπάμαι αν έκανα λάθη! Πήρα αυτή την ιδέα όταν σκεφτόμουν τα χόμπι μου, που είναι το σχέδιο και η μουσική. Προσπάθησα λοιπόν να συνδυάσω τα δύο σε αυτό! Ένας βραχίονας που αυτοσχεδιάζεται και επηρεάζεται από τον ήχο.
Βήμα 1: Βήμα 1: Υλικά
- Arduino Uno
- Breadboard
- Ανιχνευτής ήχου (Sparkfun sen-12642)
- 2 (μίνι) Servo's
- Τυλιχτά κορδόνια / φερμουάρ
- Λίγο ξύλο και χαρτί
- κάτι με το οποίο μπορείτε να σχεδιάσετε/γράψετε
Βήμα 2: Βήμα 2: Ρύθμιση
Πρώτα συνδέσα το Servo και μετά τον ανιχνευτή ήχου. Ο ανιχνευτής ήχου Sparkfun sen-12642 έχει 3 εξόδους, χρησιμοποίησα μόνο την έξοδο "φακέλου".
Servo 1 = pin ~ 9
Servo 2 = καρφίτσα ~ 10
Ανιχνευτής ήχου = καρφίτσα A0
Οι κόκκινες γραμμές (5v) συνδέονται με τη θετική πλευρά στον πίνακα ψωμιού και οι μαύρες γραμμές (έδαφος) συνδέονται με την αρνητική πλευρά.
Βήμα 3: Βήμα 3: Μη ηλεκτρονικά
Βεβαιωθείτε ότι τα σερβο είναι σταθερά και στη σωστή θέση. Χρησιμοποίησα τυλίγματα για γραβάτα για να τα σταθεροποιήσω. Μετά από αυτό, χρησιμοποίησα περιτυλίγματα για γραβάτα για να δέσω τα (αντικαταστάσιμα) πάνω μέρη του σερβο σε ξύλινους βραχίονες. Μετά από αυτό, μπορείτε να συνδέσετε τα ξύλινα μέρη του βραχίονα με το σερβο. Συνδέστε όλα τα καλώδια στο Arduino και στο breadboard.
Μετά από αυτό κόλλησα τα καλώδια στον ανιχνευτή ήχου.
Βήμα 4: Βήμα 4: Κωδικός
Δεν είμαι καθόλου καλός στην κωδικοποίηση, αλλά προσπάθησα όσο καλύτερα μπορούσα και το διαδίκτυο βοήθησε πολύ:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Εμφάνιση κατάστασης
Serial.println ("Αρχικοποιημένο"); myservo1.attach (9); myservo2.attach (10); }
κενός βρόχος ()
{int value;
// Ελέγξτε την είσοδο φακέλου
value = analogRead (PIN_ANALOG_IN);
// Η τιμή φακέλου επηρεάζει το σερβο
Serial.println (τιμή); εάν (τιμή 5) && (τιμή 10) && (τιμή 20) && (τιμή 30) && (τιμή 60)) {myservo1.write (τυχαία (0, 90)); myservo2.write (τυχαία (0, 90)); }
καθυστέρηση (180)?
}