Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Ηλεκτρονικά
- Βήμα 2: Σύνδεση της λωρίδας LED
- Βήμα 3: Προσαρμογή του έργου στο πληκτρολόγιό σας
- Βήμα 4: Ο κώδικας Arduino
- Βήμα 5: Πιθανές βελτιώσεις…
- Βήμα 6: Τέλος
Βίντεο: MIDI2LED - ένα ελεγχόμενο MIDI LED Strip Light Effect: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Αυτό είναι το πρώτο μου διδακτικό, οπότε αντέξτε με.
Μου αρέσει να κάνω μουσική και σε ζωντανές καταστάσεις όπως οι συναυλίες στο σαλόνι, μου αρέσει όταν υπάρχουν εφέ φωτισμού συγχρονισμένα με αυτό που παίζω. Έτσι έφτιαξα ένα κουτί με βάση το Arduino που κάνει μια λωρίδα LED να ανάβει σε τυχαίο χρώμα όταν χτυπάω μια σημείωση στο πληκτρολόγιο MIDI και όπου χτυπάω τη νότα.
Προμήθειες
- Arduino Uno
- Arduino protoshield
- Υποδοχή MIDI
- Δίοδος 1N4148
- 6N138 συζεύκτης opto
- αντιστάσεις: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- Λωρίδα LED WS2812B (60 LED)
- μερικά καλώδια που περίσσεψαν
- σωλήνες συρρίκνωσης θερμότητας
- κατάλληλο περίβλημα για το Arduino (χρησιμοποιώ πλαστικό κουτί διακλάδωσης)
Θα χρειαστείτε επίσης
- συγκόλληση και συγκόλληση
- Πληκτρολόγιο MIDI και καλώδιο MIDI
Βήμα 1: Ηλεκτρονικά
Το κύκλωμα είναι αρκετά απλό. Αποτελείται από μια τυπική είσοδο MIDI (αριστερά από το Arduino) και τη σύνδεση με τη λωρίδα LED (δεξιά από το Arduino). Τοποθετήστε όλα τα μέρη στο protoshield, υπάρχει πολύς χώρος. Γενικά συνιστάται η χρήση εξωτερικής τροφοδοσίας για την τροφοδοσία της λωρίδας LED, αλλά διαπίστωσα ότι όταν παίζετε, μόνο λίγα LED είναι αναμμένα ταυτόχρονα, οπότε υπήρχε κανένα πρόβλημα με τη χρήση του Arduino +5V / GND ως έξοδο ισχύος. (Προσπαθήστε να αποφύγετε να χτυπήσετε όλα τα πλήκτρα ταυτόχρονα και με πλήρη ταχύτητα.;-)) Εάν αποφασίσετε να χρησιμοποιήσετε εξωτερική τροφοδοσία, απλώς συνδέστε το στις ακίδες Arduino +5V και GND. Μερικοί άνθρωποι προτείνουν την εισαγωγή ενός πυκνωτή 100uF (δεν φαίνεται στο σχηματικό) μεταξύ αυτών των δύο γραμμών.
Συγκολλήστε τα μέρη στο protoshield και συνδέστε τη λωρίδα LED όπως φαίνεται στο σχήμα.
Βήμα 2: Σύνδεση της λωρίδας LED
Είναι σημαντικό να συνδέσετε το δεξί άκρο - το άκρο εισόδου - της λωρίδας LED στο κύκλωμα. Η λωρίδα μου έχει θηλυκό σύνδεσμο ως είσοδο και έχει μικρά τρίγωνα που δείχνουν μακριά από την είσοδο. Στην έξοδο, υπήρχε ένας αρσενικός σύνδεσμος (για να μπορέσω να τον συνδέσω σε άλλη λωρίδα, που δεν χρειαζόμαστε), οπότε το έκοψα και το κόλλησα στα τρία καλώδια που προέρχονται από το Arduino. Χρησιμοποιήστε σωλήνες συρρίκνωσης θερμότητας για να συνδέσετε τα τρία καλώδια στη λωρίδα LED μαζί και να τα κάνετε λιγότερο ορατά.
Η λωρίδα LED που χρησιμοποίησα έρχεται με κολλητική ταινία στο πίσω μέρος της, ώστε να μπορεί εύκολα να κολληθεί στο πίσω μέρος του πληκτρολογίου MIDI.
Βήμα 3: Προσαρμογή του έργου στο πληκτρολόγιό σας
Σως χρειαστεί να προσαρμόσετε τη λωρίδα LED και τον κωδικό Arduino στο πληκτρολόγιό σας. Το δικό μου έχει 76 πλήκτρα και το μήκος της λωρίδας είναι σχεδόν ακριβώς το πλάτος του πληκτρολογίου. Αν έχετε π.χ. 61 πλήκτρα, μπορεί να χρειαστείτε μια πιο κοντή λωρίδα. Η λωρίδα LED μπορεί να κοπεί μεταξύ δύο LED. Απλά βεβαιωθείτε ότι κόβετε το σωστό μέρος, έχει ένα άκρο εισόδου (με θηλυκό σύνδεσμο) και ένα άκρο εξόδου (με έναν αρσενικό σύνδεσμο), πρέπει να διατηρήσετε το άκρο εισόδου. Στον κώδικα, αλλάξτε τους #defines Για
- NUMBER_OF_LEDS στον αριθμό των LED που απομένουν στη λωρίδα σας μετά την αποκοπή του τέλους,
- NUMBER_OF_KEYS στον αριθμό των πλήκτρων στο πληκτρολόγιό σας και
- MIN_KEY στον αριθμό βήματος MIDI του χαμηλότερου κλειδιού σας. Μπορείτε να το βρείτε στο εγχειρίδιο χρήσης του πληκτρολογίου. ή χρησιμοποιήστε ένα εργαλείο που εμφανίζει τον αριθμό σημειώσεων MIDI, όπως το KMidiMon για Linux ή το Pocket MIDI για Windows ή Mac. ή δοκιμάστε διαφορετικές τιμές έως ότου η συσκευή ανταποκριθεί σε όλα τα πλήκτρα του πληκτρολογίου σας
Βήμα 4: Ο κώδικας Arduino
Ο κώδικας Arduino χρησιμοποιεί τη βιβλιοθήκη MIDI (v4.3.1) από το Forty Seven Effects και τη βιβλιοθήκη Adafruit NeoPixel (v1.3.4) της Adafruit. Εγκαταστήστε αυτές τις βιβλιοθήκες χρησιμοποιώντας το Arduino IDE. Στη συνέχεια, μεταγλωττίστε τον κώδικα και ανεβάστε τον στο Arduino χωρίς να είναι συνδεδεμένη η ασπίδα (το οπτικό ζεύγος είναι συνδεδεμένο με τον πείρο RX, το οποίο εμποδίζει τη μεταφόρτωση). Τροφοδοτήστε το Arduino μέσω καλωδίου USB (χρησιμοποιώ κονδυλώματα τοίχου USB).
Εάν θέλετε να τροποποιήσετε τον κώδικα σύμφωνα με τις προτιμήσεις σας, ακολουθεί μια σύντομη επισκόπηση του τρόπου λειτουργίας του: Σε κάθε βρόχο, η είσοδος MIDI διαβάζεται. Εάν έχει ληφθεί ένα συμβάν Σημείωσης ενεργοποίησης ή Σημείωσης, καλούνται οι συναρτήσεις MyHandleNoteOn ή MyHandleNoteOff. Και οι δύο καλούν τη συνάρτηση updateVelocityArray, η οποία αποθηκεύει την ταχύτητα (δηλ. Πόσο δυνατά έχετε πατήσει το πλήκτρο) του αριθμού κλειδιού. Εάν η ταχύτητα είναι μεγαλύτερη από αυτή που ήταν αποθηκευμένη πριν, το χρώμα της αντίστοιχης λυχνίας LED ορίζεται στο "τρέχον χρώμα". Αφού χειριστούν τα συμβάντα MIDI, καλείται η συνάρτηση updateLedArray. Αυτό ενημερώνει το "τρέχον χρώμα" (οι κόκκινες, πράσινες και μπλε τιμές των οποίων αλλάζουν ανεξάρτητα με γραμμικό τρόπο, έως ότου επιτευχθεί το κάτω ή το άνω άκρο, οπότε η ταχύτητα για τη γραμμική αλλαγή ορίζεται σε έναν τυχαίο αριθμό), μειώνει αργά την ταχύτητα των πιεσμένων σημειώσεων και ενημερώνει τις τιμές χρωμάτων κάθε LED που πρέπει να αλλάξει το χρώμα της (λόγω νέου χτυπήματος σημείωσης ή μείωσης ταχύτητας). Η λειτουργία showLedArray μεταφέρει τα χρώματα στη δομή Adafruit_NeoPixel που ονομάζεται "pixel" και κάνει τα πραγματικά LED να δείχνουν τα χρώματα στη δομή των pixel.
Βήμα 5: Πιθανές βελτιώσεις…
Ένα έργο δεν τελειώνει ποτέ. Πάντα υπάρχει κάτι που μπορεί να γίνει για να βελτιωθεί:
- Το protoshield περιέχει τόσο λίγα μέρη που είναι πραγματικά απόβλητο. Κάποιος θα μπορούσε εύκολα να επιτύχει το ίδιο αποτέλεσμα με ένα Arduino Nano και ένα PCB 15x7 οπών συν μερικές κεφαλίδες θηλυκών καρφιτσών.
- Ορισμένα από τα σήματα MIDI χάνονται. Εάν είναι Σημείωση, το αντίστοιχο LED δεν ανάβει. εάν είναι NoteOff, δεν θα σβήσει (γι 'αυτό εισήγαγα τη μείωση της ταχύτητας, η οποία διασφαλίζει ότι τα LED δεν θα παραμείνουν αναμμένα επ' αόριστον). Ακόμα προσπαθώ να καταλάβω τον λόγο. Ενδεχομένως είναι θέμα χρονισμού και το MIDI.read () πρέπει να καλείται συχνότερα.
- Ορισμένα από τα σήματα MIDI δεν έχουν διαβαστεί σωστά, δηλαδή ανάβουν λάθος LED. Θα μπορούσε να συνδεθεί με το παραπάνω σημείο. Χρειάζεται κάποια έρευνα.
- Το κύκλωμα έχει σχεδιαστεί για να δίνει ένα ευχάριστο οπτικό αποτέλεσμα χωρίς μεγάλη αλληλεπίδραση του χρήστη (εκτός από την αναπαραγωγή του πληκτρολογίου). Ωστόσο, θα μπορούσα να φανταστώ να προσθέσω ένα ποτενσιόμετρο που διαβάζεται (χρησιμοποιώντας μία από τις αναλογικές εισόδους του Arduino) με το οποίο μπορείτε να αλλάξετε τη μέγιστη ταχύτητα με την οποία αλλάζουν τα χρώματα (επί του παρόντος #ορίζεται ως MAX_COLOR_CHANGE_SPEED = 20). Or μετρήστε τον μέσο χρόνο μεταξύ δύο συμβάντων NoteOn και αλλάξτε ανάλογα MAX_COLOR_CHANGE_SPEED - σε αργά τραγούδια, το χρώμα θα πρέπει να αλλάζει πιο αργά.
Βήμα 6: Τέλος
Τροφοδοτήστε το Arduino μέσω καλωδίου USB (χρησιμοποιώ κονδυλώματα τοίχου USB). Συνδέστε το πληκτρολόγιο MIDI στην υποδοχή MIDI και ξεκινήστε το rockin '. Παρακολουθήστε με να παίζω λίγο ελαφριά μουσική (το λογοπαίγνιο, όσο κακό και αν είναι, προορίζεται).
Συνιστάται:
Βηματικό μοτέρ ελεγχόμενο με MIDI με τσιπ άμεσης ψηφιακής σύνθεσης (DDS): 3 βήματα
Stepper Motor με ελεγχόμενο MIDI με τσιπ άμεσης ψηφιακής σύνθεσης (DDS): Έχετε ποτέ κακή ιδέα ότι ΜΟΝΟ έπρεπε να μετατραπεί σε ένα μίνι έργο; Λοιπόν, έπαιζα με ένα σκίτσο που είχα κάνει για το Arduino Due με στόχο τη δημιουργία μουσικής με μια μονάδα AD9833 Direct Digital Synthesis (DDS) … και κάποια στιγμή σκέφτηκα ότι
LED Strip Amazing Effect: 4 βήματα
LED Strip Amazing Effect: Γεια σου φίλε, θέλουμε καλά εφέ της λωρίδας LED. Η λωρίδα LED διακοσμεί το δωμάτιό μας και όταν δίνει εφέ, τότε το δωμάτιο φαίνεται εκπληκτικό. Εάν η λωρίδα LED σας λάμπει απλά, τότε αυτό το ιστολόγιο είναι πολύ ιδιαίτερο για εσάς γιατί σε αυτό το ιστολόγιο θα μάθετε πώς μπορούμε να κάνουμε
ESP8266 RGB LED STRIP WIFI Έλεγχος - NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi - Έλεγχος Smartphone RGB LED STRIP: 4 βήματα
ESP8266 RGB LED STRIP WIFI Έλεγχος | NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi | RGB LED STRIP Smartphone Control: Γεια σας παιδιά σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε το nodemcu ή το esp8266 ως τηλεχειριστήριο IR για τον έλεγχο μιας λωρίδας LED RGB και το Nodemcu θα ελέγχεται από smartphone μέσω wifi. Έτσι, βασικά μπορείτε να ελέγξετε το RGB LED STRIP με το smartphone σας
DIY Multicolor Led Light ελεγχόμενο Wi-fi: 11 βήματα (με εικόνες)
DIY Multicolor Led Light Ελεγχόμενο Wi-fi: Καλά Χριστούγεννα σε όλους Αυτό το βίντεο δείχνει πώς να φτιάξετε μια λάμπα led που αλλάζει χρώμα ανάλογα με εσάς, ελέγχεται μέσω WI-FI. το συνδέετε με το Wifi του σπιτιού σας, πηγαίνετε σε αυτήν την ιστοσελίδα και η παράσταση μπορεί να ξεκινήσει το έργο πραγματοποιήθηκε στο
MIDI 5V LED Strip Light Controller for the Spielatron or Other MIDI Synth: 7 βήματα (με εικόνες)
MIDI 5V LED Strip Light Controller for the Spielatron or Other MIDI Synth: Αυτός ο ελεγκτής αναβοσβήνει με τρία χρώματα φώτα LED για 50mS ανά νότα. Μπλε για G5 έως D#6, κόκκινο για E6 έως B6 και πράσινο για C7 έως G7. Ο ελεγκτής είναι μια συσκευή ALSA MIDI, ώστε το λογισμικό MIDI να μπορεί να εξάγεται στις λυχνίες LED ταυτόχρονα με μια συνθετική συσκευή MIDI