Πίνακας περιεχομένων:
- Βήμα 1: Υλικά
- Βήμα 2: Σχεδιασμός
- Βήμα 3: Κατασκευή και καλωδίωση
- Βήμα 4: Προγραμματισμός
- Βήμα 5: Ρύθμιση
Βίντεο: Arduino Uno Midi Fighter: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει την απαίτηση έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com)
Με βάση το δημοφιλές MidiFighter by DJ Techtools, αυτός ο σπιτικός ελεγκτής Musical Instrument Digital Interface (MIDI) μπορεί να χρησιμοποιηθεί ως συσκευή MIDI σε οποιοδήποτε λογισμικό Digital Audio Workstation (DAW). Ένας ελεγκτής MIDI μπορεί να στέλνει και να λαμβάνει μηνύματα MIDI από έναν υπολογιστή και μπορεί να χρησιμοποιηθεί για τον άμεσο έλεγχο του λογισμικού που χρησιμοποιείται. Επιπλέον, τα χειριστήρια σε ένα χειριστήριο MIDI είναι πλήρως προσαρμόσιμα - πράγμα που σημαίνει ότι κάθε μεμονωμένο κουμπί, ρυθμιστικό και κουμπί μπορούν να αντιστοιχιστούν σε οποιαδήποτε λειτουργία σε ένα DAW. Για παράδειγμα, το πάτημα ενός κουμπιού μπορεί να παίξει μια συγκεκριμένη νότα ή να προγραμματιστεί για να αλλάξει το ρυθμό του ηχητικού έργου σας.
github.com/jdtar/Arduino-Midi-Controller
Βήμα 1: Υλικά
Παρακάτω είναι μια λίστα υλικών και εργαλείων που χρησιμοποιούνται σε αυτό το έργο.
Arduino Uno
Breadboard
4051/4067 Πολυπλέκτης
Καλώδια βραχυκυκλωτήρων
Επιπλέον καλώδιο
2x γραμμικά ποτενσιόμετρα διαφάνειας 10k ohm
Κουμπιά 16x Sanwa 24mm
Συρρίκνωση θερμότητας
Συγκολλητικό σίδερο
Ξυραφάκι
Αντίσταση 4,7 kΩ
Ακρυλικό φύλλο (για καπάκι)
Στέγαση για κουμπιά και Arduino
Τρισδιάστατος εκτυπωτής
Κόφτης λέιζερ
Βήμα 2: Σχεδιασμός
Μου δόθηκε ήδη το περίβλημα για τον ελεγκτή MIDI μου πριν ξεκινήσω το έργο, οπότε χλεύασα ένα σκίτσο για το καπάκι για να απεικονίσω πού έπρεπε να τοποθετηθούν όλα. Knewξερα ότι ήθελα τουλάχιστον 16 κουμπιά και δύο ποτενσιόμετρα ως δυνατότητα, έτσι προσπάθησα να χωρίσω τα εξαρτήματα όσο το δυνατόν πιο ομοιόμορφα.
Αφού σχεδίασα τη διάταξη για το καπάκι, εξήγαγα το αρχείο σε μορφή PDF 1: 1 και το έστειλα σε κόφτη λέιζερ για να κόψω ένα φύλλο ακρυλικού. Για τρύπες βιδών, σημείωσα πού ήθελα να είναι οι οπές με μαρκαδόρο και έλιωσα το ακρυλικό με ένα καυτό νήμα.
Επισυνάπτεται το PDF 1: 1 το οποίο μπορεί να εκτυπωθεί ως 1: 1 και να κοπεί με ηλεκτρικά εργαλεία εάν δεν είναι διαθέσιμος κόφτης λέιζερ.
Βήμα 3: Κατασκευή και καλωδίωση
Μετά το κόψιμο του ακρυλικού, διαπίστωσα ότι το ακρυλικό ήταν πολύ λεπτό για να στηρίξει επαρκώς όλα τα συστατικά. Στη συνέχεια έκοψα ένα άλλο φύλλο και τα κόλλησα μεταξύ τους, κάτι που έτυχε να λειτουργεί τέλεια.
Η καλωδίωση των εξαρτημάτων χρειάστηκε κάποια δοκιμή και σφάλμα, αλλά κατέληξε στο συνημμένο σκίτσο Fritzing. Πρώτα ένωσα τα καλώδια γείωσης και την αντίσταση 4,7kΩ, συγκολλήθηκαν και η θερμότητα συρρίκνωσε τις συνδέσεις στα κουμπιά. Η τοποθέτηση των δύο ποτενσιόμετρων ολίσθησης απαιτούσε οπές τήξης για τις βίδες στο ακρυλικό. Αφού βιδώθηκαν τα δύο ποτενσιόμετρα, συνδέθηκαν με καλώδιο στις αναλογικές ακίδες Α0 και Α1. Αφού ολοκληρώθηκε η καλωδίωση, θυμήθηκα ότι δεν υπήρχαν καπάκια για τα faders μου, οπότε αντί να τα αγοράσω, εκτύπωσα μερικά καλύμματα πόμολων χρησιμοποιώντας έναν τρισδιάστατο εκτυπωτή σκιαγραφώντας το στο Autodesk Fusion 360 και εξάγοντας σε ένα αρχείο STL. De
Το Arduino Uno διαθέτει μόνο 12 διαθέσιμες ψηφιακές ακίδες εισόδου, αλλά 16 κουμπιά επρόκειτο να συνδεθούν. Για να το αντισταθμίσω αυτό, ένωσα ένα 74HC4051 Multiplexer σε ένα breadboard το οποίο χρησιμοποιεί 4 ψηφιακές ακίδες εισόδου και επιτρέπει σε πολλά σήματα να χρησιμοποιούν μια κοινή γραμμή με αποτέλεσμα 8 διαθέσιμες ψηφιακές ακίδες εισόδου για συνολικά 16 ψηφιακές ακίδες διαθέσιμες για χρήση.
Η σύνδεση των κουμπιών στις σωστές ακίδες ήταν απλώς θέμα δημιουργίας μήτρας 4x4 και χρήσης αυτού στον κώδικα. Το δύσκολο κομμάτι όμως ήταν ότι ο συγκεκριμένος πολυπλέκτης που αγοράστηκε είχε μια συγκεκριμένη διάταξη καρφιτσών με την οποία βοήθησε το φύλλο δεδομένων και επίσης είχα μια συγκεκριμένη διάταξη σημειώσεων κατά την καλωδίωση των κουμπιών που κατέληξαν να μοιάζουν κάπως έτσι:
ΣΗΜΕΙΩΣΗ ΜΑΤΡΙΞ
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Βήμα 4: Προγραμματισμός
Μόλις ολοκληρωθεί η συναρμολόγηση, ο προγραμματισμός του Arduino είναι ό, τι απομένει. Το σενάριο που επισυνάπτεται είναι γραμμένο με τέτοιο τρόπο ώστε να προσαρμόζεται εύκολα.
Η αρχή του σεναρίου περιλαμβάνει τη βιβλιοθήκη MIDI.h και μια βιβλιοθήκη ελεγκτή δανεισμένη από το ιστολόγιο Σημειώσεις και Volts, τα οποία και τα δύο περιλαμβάνονται στο αρχείο zip για τον κώδικα. Χρησιμοποιώντας τη βιβλιοθήκη ελεγκτή, μπορούν να δημιουργηθούν αντικείμενα για κουμπιά, ποτενσιόμετρα και κουμπιά πολλαπλής έντασης που περιέχουν τιμές δεδομένων που περιλαμβάνουν τον αριθμό σημείωσης, τις τιμές ελέγχου, την ταχύτητα σημείωσης, τον αριθμό καναλιού MIDI, κ.λπ. Η βιβλιοθήκη MIDI.h επιτρέπει την είσοδο MIDI I/O Οι σειριακές θύρες Arduino που με τη σειρά τους παίρνουν τα δεδομένα από τα αντικείμενα του ελεγκτή, τα μετατρέπουν σε μηνύματα MIDI και στέλνουν τα μηνύματα σε όποια διασύνδεση midi είναι συνδεδεμένη.
Το κενό τμήμα εγκατάστασης του σεναρίου αρχικοποιεί όλα τα κανάλια ως απενεργοποιημένα και επίσης ξεκινά μια σειριακή σύνδεση με 115200 baud, ποσοστό ταχύτερο από το ότι ανταλλάσσονται τα σήματα MIDI.
Ο κύριος βρόχος παίρνει ουσιαστικά τις συστοιχίες των κουμπιών και των πολυπλεγμένων κουμπιών και εκτελεί ένα βρόχο for το οποίο ελέγχει εάν το κουμπί έχει πατηθεί ή απελευθερωθεί και στέλνει τα αντίστοιχα byte δεδομένων στη διεπαφή midi. Ο βρόχος ποτενσιόμετρου ελέγχει τη θέση του ποτενσιόμετρου και στέλνει τις αντίστοιχες αλλαγές τάσης πίσω στη διεπαφή midi.
Βήμα 5: Ρύθμιση
Μόλις φορτωθεί το σενάριο στο Arduino, το επόμενο βήμα είναι να συνδεθείτε και να παίξετε. Υπάρχουν μερικά βήματα, ωστόσο, πριν μπορέσετε να τα χρησιμοποιήσετε.
Στο OSX, η Apple ενσωμάτωσε μια δυνατότητα για τη δημιουργία εικονικών συσκευών midi στις οποίες μπορείτε να έχετε πρόσβαση μέσω της εφαρμογής Audio Midi Setup σε Mac. Μόλις δημιουργηθεί η νέα συσκευή, το Hairless MIDI μπορεί να χρησιμοποιηθεί για τη δημιουργία σειριακής σύνδεσης μεταξύ του Arduino και της νέας εικονικής midi συσκευής. Η σειριακή σύνδεση από το Arduino μέσω του Hairless MIDI λειτουργεί με το ρυθμό baud που ορίζεται στο τμήμα κενής ρύθμισης του σεναρίου και πρέπει να οριστεί ισοδύναμο στις ρυθμίσεις προτίμησης MIDI χωρίς μαλλιά.
Για σκοπούς δοκιμής χρησιμοποίησα το Midi Monitor για να ελέγξω εάν τα σωστά δεδομένα αποστέλλονταν με τη σειρά σειριακής σύνδεσης MIDI. Μόλις διαπίστωσα ότι όλα τα κουμπιά που αποστέλλονταν μέσω των σωστών δεδομένων μέσω των σωστών καναλιών, έθεσα το σήμα MIDI για να δρομολογηθεί στο Ableton Live 9 ως είσοδος MIDI. Στο Ableton μπόρεσα να χαρτογραφήσω κομμένα δείγματα ήχου σε κάθε κουμπί και να παίξω κάθε δείγμα.
Συνιστάται:
Arduino Uno Fish Feeder σε 6 φθηνά και εύκολα βήματα !: 6 βήματα
Arduino Uno Fish Feeder σε 6 φθηνά και εύκολα βήματα!: Λοιπόν, μπορεί να χρειαστεί λίγη ιστορία για αυτό το έργο. Οι άνθρωποι με κατοικίδια ψάρια πιθανότατα παρουσιάστηκαν με το ίδιο πρόβλημα με εμένα: διακοπές και λήθη. Ξεχνούσα συνεχώς να ταΐζω τα ψάρια μου και πάντα προσπαθούσα να το κάνω πριν πάει
Ακουστική Αλλαγή με Arduino Uno Βήμα προς βήμα (8 βήματα): 8 Βήματα
Acoustic Levitation With Arduino Uno Βήμα προς βήμα (8 βήματα): υπερηχητικοί μετατροπείς ήχου L298N DC τροφοδοτικό θηλυκού με αρσενικό dc pin Arduino UNOBreadboardΠώς λειτουργεί: Πρώτα, ανεβάζετε κώδικα στο Arduino Uno (είναι ένας μικροελεγκτής εξοπλισμένος με ψηφιακό και αναλογικές θύρες για μετατροπή κώδικα (C ++)
Το πιο ισχυρό Arduino-UNO, Massduino-UNO: 9 βήματα
Το πιο ισχυρό Arduino-UNO, Massduino-UNO: Τι είναι το Massduino; Το Massduino είναι μια νέα σειρά προϊόντων, που συνδυάζει την πλατφόρμα Arduino περιφερειακά πλούσια, βολική και γρήγορη ανάπτυξη, χαμηλού κόστους και εύκολης κατασκευής μεγάλης κλίμακας πλεονεκτήματα παραγωγής. Σχεδόν όλος ο κώδικας Arduino μπορεί να είναι
Βασισμένο σε Arduino MIDI Fighter (Touch Sensitive): 7 βήματα (με εικόνες)
Arduino Based MIDI Fighter (Touch Sensitive): Το MIDI σημαίνει Musical Instrument Digital Interface. Εδώ, φτιάχνουμε ένα μαχητικό MIDI ευαίσθητο στην αφή. Έχει 16 μαξιλάρια. αυτά μπορούν να αυξηθούν ή να μειωθούν. Εδώ έχω χρησιμοποιήσει 16 λόγω των περιορισμένων καρφιών arduino. Επίσης έχω χρησιμοποιήσει αναλογικές ακίδες εισόδου
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