Πίνακας περιεχομένων:
- Βήμα 1: Μέρη που χρησιμοποιούνται
- Βήμα 2: Ο κώδικας
- Βήμα 3: Εκκίνηση του κυκλώματος
- Βήμα 4: Το ULN2803
- Βήμα 5: Προσθήκη ήχου
- Βήμα 6: Συμπέρασμα
Βίντεο: Μουσικά φώτα νεράιδας: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Από τον IanCumming Ακολουθήστε περισσότερα από τον συγγραφέα:
Σχετικά: Μου αρέσει να φτιάχνω πράγματα από ρουκέτες έως ηλεκτρονικά. Περισσότερα για το IanCumming »
Καλώς ορίσατε όλοι
Είναι σχεδόν η εορταστική περίοδος και πολλά καταστήματα έχουν αρχίσει να βγάζουν τις γιορτινές τους διακοσμήσεις, σκέφτηκα ότι είναι η κατάλληλη στιγμή για να φτιάξουμε μερικά μουσικά φώτα!
Βήμα 1: Μέρη που χρησιμοποιούνται
Θα χρησιμοποιήσω τα εξής:
- 12 LED
- 12 Αντίσταση περιορισμού ρεύματος
- 1 ULN 2803 Darlington Transistor Array
- Μερικά καλώδια βραχυκυκλωτήρων
- Ένα πίεζο ηχείο
- Ένα Breadboard και
- ένα Arduino
- Για να φτιάξω τη σειρά των φώτων νεράιδων χρησιμοποίησα 5 καλώδια από ένα καλώδιο Ethernet
Βήμα 2: Ο κώδικας
// GLOBAL VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 LED βάσης, Μπορείτε να προσθέσετε πολλά παράλληλα led byte = {3, 4, 5, 6}; byte ηχείο = 11; byte patternLength = 64; // μοτίβο Μήκος byte τραγούδιLength = 51; const byte τραγούδι = {// Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // Η δομή είναι Σημείωση αριθμού στη συνέχεια // Σημείωση μήκους στο πρότυπο const byte του 8ου = {// Δεδομένα μοτίβου 0b0001, 0b0010, 0b0100, 0b1000, // Bits corrispond to Leds in Array 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
Αρχικά δηλώνω τις μεταβλητές μου, με τις πιο ενδιαφέρουσες να είναι το Song and Pattern.
- Το τραγούδι αποθηκεύει τη μελωδία. σε αυτή την περίπτωση είναι Jingle bells.
- Το μοτίβο αποθηκεύει θέσεις ενεργοποίησης και απενεργοποίησης στα δυαδικά ψηφία των τιμών του πίνακα.
Προσαρμοσμένες λειτουργίες
// FUNCTIONS int noteToHz (int note) {// Μετατροπή σημείωσης αριθ. έως Frequency float freq = 440 * (pow (1.059463094359, note-21)); // -21 σας δίνει τη σημείωση 1 στο C3 (νομίζω) return int (freq). // Τα αποτελέσματα είναι ακριβή σε 1hz} άδειες λυχνίες LED (byte PORT_X) {// Έλεγχος κατάστασης LED για (int q = 0; q
Οι δύο λειτουργίες που έχω θα κάνουν τα εξής:
- Υπολογίστε τη συχνότητα για τη λειτουργία τόνου στον βρόχο
- ανάβετε ή απενεργοποιείτε τα LED ανάλογα με την τιμή που μεταβιβάζεται στη λειτουργία
Λειτουργία εγκατάστασης
void setup () {// setup OUTPUT pin pin pinMode (ηχείο, OUTPUT); για (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}
Στη λειτουργία ρύθμισης έθεσα τις καρφίτσες που απαιτούνται σε OUTPUT.
Λειτουργία βρόχου
void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Σημειώσεις, Διάρκεια και αναπαραγωγή της μελωδίας int note = noteToHz (τραγούδι [t * 2]); int μήκος = ((τραγούδι [(t * 2) +1] * barTime) / 8); τόνος (ηχείο, σημείωση, μήκος - 50). // Φώτα που αναβοσβήνουν! lightLEDs (μοτίβο [t % patternLength]); καθυστέρηση (μήκος)? } // Silence Loop int randomSilence = random (1000, 5000); για (int t = 0; t
Έχω 2 βρόχους στη συνάρτηση Κύριος βρόχος. Ένας βρόχος τραγουδιού και ένας βρόχος σιωπής
Ο βρόχος τραγουδιού θα διαβάσει τα δεδομένα από τη σειρά τραγουδιών, θα παίξει τη νότα χρησιμοποιώντας τη λειτουργία τόνου
Ο βρόχος του τραγουδιού θα
- Διαβάστε τα δεδομένα από τη σειρά τραγουδιών,
- Στη συνέχεια, αναπαράγετε τη νότα χρησιμοποιώντας τη λειτουργία τόνου
- Φωτίστε τον πίνακα μοτίβου ανάγνωσης των LED.
Στο βρόχο Σιωπή
ανάβουν μόνο τα LED
Συνδέστε το Arduino και ανεβάστε τον κωδικό. (Τότε αποσυνδέστε το)
Βήμα 3: Εκκίνηση του κυκλώματος
Θα ξεκινήσω με τη σειρά των φώτων
- Χρησιμοποίησα σύρμα από καλώδιο Ethernet και κόλλησα 3 LED παράλληλα τέσσερις φορές, φροντίζοντας να χωρίσω ομοιόμορφα τα LED σε απόσταση περίπου 2 μέτρων
- Συγκόλλησα την άνοδο του κάθε led σε ένα μόνο καλώδιο.
- Στη συνέχεια, η κάθοδος κάθε LED σε 4 ξεχωριστά καλώδια. Με αντίσταση φυσικά
- Επανέλαβα αυτή τη διαδικασία 3 φορές για να πάρω μια σειρά από 12 LED και έβαλα ακίδες κεφαλίδας στο τέλος των 5 καλωδίων
Συνδέστε τις θετικές και τις αλεσμένες ράγες στο breadboard
Βήμα 4: Το ULN2803
Τοποθετήστε το τσιπ ULN2308 στην σανίδα ψωμιού
Το ULN2308 είναι ένα τσιπ συστοιχίας τρανζίστορ. από το φύλλο δεδομένων που μπορώ να δω
- Αυτός ο πείρος 1 είναι μια είσοδος που γυρίζει τον πείρο 18 "ON"
- Η καρφίτσα 2 ενεργοποιείται 17. Και τα λοιπά.
- Ο πείρος 9 είναι αλεσμένος
- Συνδέστε τον πείρο 9 του τσιπ στη ράγα γείωσης
- Συνδέστε τη θετική ράγα σε μια τερματική ταινία, μία ταινία πάνω από τον πείρο 18. (Θα δείτε γιατί σε ένα λεπτό)
- Συνδέστε τον πείρο 1 του τσιπ με τον πείρο 3 του Arduino
- 2 πηγαίνει στο 4
- 3 του τσιπ πηγαίνει στο 5 και
- 4 πηγαίνει στην καρφίτσα 6 του Arduino
- Τοποθετήστε το κορδόνι LED στη σανίδα ψωμιού. Όπου το κοινό καλώδιο ανόδου συνδέεται με τη λωρίδα συνδεδεμένη στα 5 βολτ. Οι υπόλοιπες καρφίτσες των νεράιδων πρέπει να πάνε στην ακίδα 18, 17, 16 και 15 του τσιπ.
Βήμα 5: Προσθήκη ήχου
- Συνδέστε το ηχείο Piezo μεταξύ 2 λωρίδων ακροδεκτών
- Συνδέστε τον αρνητικό πόλο του στοιχείου Piezo στη γείωση και
- Το άλλο άκρο του ηχείου στο pin 11
Βήμα 6: Συμπέρασμα
Έχω μια σειρά από φωτιστικά που θα παίξουν τυχαία jingle bells για να μου θυμίσουν ότι είναι η εορταστική περίοδος.
Συνιστάται:
Μουσικά παπούτσια MIDI: 5 βήματα (με εικόνες)
Μουσικά παπούτσια MIDI: Όπως πολλοί άνθρωποι, συχνά βρίσκομαι ασυναίσθητα να χτυπάω τα πόδια μου, είτε πρόκειται για τραγούδι είτε από κάποια νευρική συνήθεια. Όσο διασκεδαστικό κι αν είναι αυτό, πάντα ένιωθα ότι κάτι έλειπε. Αν μπορούσα να ενεργοποιήσω τους ήχους του ας πούμε, ένα
Διαδραστικά φώτα αυλής, φώτα πεζοδρομίου: 3 βήματα
Interactive Yard Lights, Walkway Lights: wantedθελα να φτιάξω ένα είδος διαδραστικών φώτων αυλής για την πίσω αυλή μου. Η ιδέα ήταν, όταν κάποιος περπατούσε με έναν τρόπο, θα ξεκινούσε ένα κινούμενο σχέδιο προς την κατεύθυνση που περπατούσατε. Ξεκίνησα με Dollar General $ 1,00 ηλιακά φώτα
Πεντάλ ATMega1284P Κιθάρα και Μουσικά εφέ: 6 βήματα (με εικόνες)
Πεντάλ ATMega1284P Κιθάρα και Μουσικά εφέ: Έχω μεταφέρει το Arduino Uno ATMega328 Pedalshield (όπως αναπτύχθηκε από την Electrosmash και εν μέρει βασίζεται στην εργασία στο Open Music Lab) στο ATMega1284P που έχει οκτώ φορές περισσότερη RAM από το Uno (16kB έναντι 2kB). Ένα επιπλέον απροσδόκητο όφελος είναι
Μουσικά παπούτσια: 17 βήματα (με εικόνες)
Μουσικά παπούτσια: Αυτό το έργο είναι ένας διασκεδαστικός τρόπος για να δημιουργήσετε κτυπήματα ενώ χτυπάτε στο χορό. Είναι επίσης ένα εξαιρετικό έργο για αρχάριους που χρησιμοποιεί διακόπτες Arduino, bluetooth και μαλακό αγώγιμο ύφασμα. Πριν από μερικούς μήνες βρήκα έναν εύκολο τρόπο ενεργοποίησης αρχείων ήχου όταν
DIY Χριστουγεννιάτικα φώτα μελοποιημένα - Χορογραφημένα φώτα σπιτιού: 15 βήματα (με εικόνες)
DIY Χριστουγεννιάτικα φώτα σε μουσική - Χορογραφημένα φώτα σπιτιού: DIY Χριστουγεννιάτικα φώτα σε μουσική - Χορογραφημένα φώτα σπιτιού Αυτό ΔΕΝ είναι ένα αρχικό DIY. Θα χρειαστείτε μια σταθερή γνώση των ηλεκτρονικών, της κυκλικότητας, του BASIC προγραμματισμού και των γενικών έξυπνων για την ηλεκτρική ασφάλεια. Αυτό το DIY είναι για ένα έμπειρο άτομο, οπότε