MIDIfying ένα ηλεκτρονικό όργανο: 6 βήματα
MIDIfying ένα ηλεκτρονικό όργανο: 6 βήματα
Anonim
MIDIfying ένα ηλεκτρονικό όργανο
MIDIfying ένα ηλεκτρονικό όργανο

Αυτό το διδακτικό σας καθοδηγεί να πάρετε το παλιό μη αγαπημένο ηλεκτρονικό όργανο που έχετε στο γκαράζ ή το υπόγειό σας και να μετατραπεί σε ένα σύγχρονο μουσικό όργανο. Δεν θα σταθούμε πολύ στις λεπτομέρειες του συγκεκριμένου οργάνου που έχετε, εκτός από το να πούμε ότι βασικά το τυπικό μουσικό πληκτρολόγιο είναι ένα σύνολο πλήκτρων που συνδέονται όταν πιέζονται σε ένα κοινό δίαυλο. Στον παλιό κόσμο, υπήρχαν σημαντικά κυκλώματα παράλληλα με τα πλήκτρα που προκάλεσαν μια έξοδο να περάσει στο δίαυλο, το οποίο με τη σειρά του ενισχύθηκε και μεταφέρθηκε σε ένα ηχοσύστημα. Σήμερα το πληκτρολόγιο είναι ένα σύνολο αισθητήρων. διαβάζουμε την κατάσταση των μεμονωμένων κλειδιών και στέλνουμε τις αλλαγές σε ένα πρόγραμμα σύνθεσης λογισμικού, το οποίο οδηγείται από εντολές MIDI.

Το εκπαιδευτικό κάλυμμα καλύπτει μεγάλο μέρος της διαδικασίας, από τη συλλογή της ψηφιακής κατάστασης των κλειδιών, τη διαχείρισή του με έναν μικροεπεξεργαστή Arduino, τη δημιουργία μιας ροής δεδομένων MIDI και τη μεταφορά της σε έναν υπολογιστή (συμπεριλαμβανομένου του Raspberry Pi) που εκτελεί το συνθεσάιζερ.

Βήμα 1: Το αφηρημένο πληκτρολόγιο

Το ακόλουθο αντιπροσωπεύει ένα αφηρημένο ηλεκτρονικό όργανο, όπου κάθε σειρά είναι ένα σύνολο πλήκτρων ή στάσεων ή άλλων διακοπτών ελέγχου. Οι καταχωρήσεις στήλης 0 αντιπροσωπεύουν μεμονωμένα κλειδιά και το - ένας δίαυλος στον οποίο συνδέεται το πλήκτρο όταν πατηθεί. Το 61 βασικό μεγάλο εγχειρίδιο θα μπορούσε να είναι η πρώτη σειρά, το εγχειρίδιο φουσκώματος η δεύτερη σειρά, τα πετάλια η τρίτη και οι στάσεις κλπ η τέταρτη. Οι σειρές στην πραγματικότητα περιέχουν 64 στοιχεία λόγω της ψηφιακής τους σημασίας ως δύναμης 2 πέραν των 61. Στις σειρές του πληκτρολογίου, τα πλήκτρα ακολουθούν την κανονική μουσική σύμβαση με το C στα αριστερά.

Λεωφορείο 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Λεωφορείο 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Λεωφορείο 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Λεωφορείο 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Κάθε λεωφορείο είναι ανεξάρτητο και ηλεκτρικά απομονωμένο από τους συνομηλίκους του. Τα πρώτα 8 στοιχεία επισημαίνονται σε Bold, με 8 τέτοια μπλοκ στην παραπάνω διάταξη. Το επόμενο βήμα περιγράφει έναν πίνακα τυπωμένων κυκλωμάτων που λειτουργεί με τα έντονα στοιχεία και τα άλλα 7 μπλοκ από αυτά.

Τα κλειδιά αναπαρίστανται ως 0 παραπάνω. Μπορούμε να το πάμε λίγο παραπάνω και να πούμε ότι ένα πλήκτρο είναι ένα ψηφιακό 1 όταν πατηθεί και 0 διαφορετικά. Και τα κλειδιά μπορεί να είναι συμβατικά μουσικά λευκά φλατ ή μαύρα αιχμηρά, ή πεντάλ οργάνων, ή στοπ οργάνων ή μια τράπεζα περιστροφικών διακοπτών που μπορεί να μας δώσουν έναν τόνο σαξοφώνου. Απλώς θεωρούμε το όργανο ως ένα σύνολο διακοπτών σε ένα σύνολο λεωφορείων και ουσιαστικά ένα ψηφιακό ρεύμα 0 και 1.

Βήμα 2: Καλωδίωση από τα πληκτρολόγια

Καλωδίωση από τα πληκτρολόγια
Καλωδίωση από τα πληκτρολόγια
Καλωδίωση από τα πληκτρολόγια
Καλωδίωση από τα πληκτρολόγια

Για να βοηθήσει στην καλωδίωση των πληκτρολογίων, έχει κατασκευαστεί μια πλακέτα τυπωμένου κυκλώματος με χρήση Eagle CAD. Το μέγεθός του είναι περίπου 96mm X 43mm και απαιτούνται 8, που εκτείνονται στο πίσω μέρος των συγκροτημάτων πληκτρολογίου οργάνων.

Ας δούμε λεπτομερώς αυτόν τον πίνακα τυπωμένων κυκλωμάτων (PCB). Η αριστερή εικόνα είναι το μπροστινό μέρος του PCB στο οποίο είναι τοποθετημένα τα εξαρτήματα και η δεξιά είναι το πίσω μέρος του, όπου συγκολλούμε τα εξαρτήματα.

Πρώτον, τα εξαρτήματα 2X3 στο επάνω μέρος προορίζονται για σύνδεση με τα παραπάνω κλειδιά, με τους δύο κορυφαίους διαύλους συνδέσεων 0 και 1, το επόμενο ζεύγος 2 και 3 και το κάτω ζεύγος επίσης διαύλους 2 και 3. Διαπιστώθηκε ότι ένα PCB Η κεφαλίδα 2X3 ήταν αρκετά άκαμπτη για να χωρέσει ένα μονόκλωνο καλώδιο σύνδεσης από τα κλειδιά απλώς ωθημένο στην κεφαλίδα, παρόμοια με την καλωδίωση ασπίδας Arduino. Το σύρμα σύνδεσης που χρησιμοποίησα ανακτήθηκε από το αρχικό όργανο. έχει διάμετρο 0,75 mm.

Έτσι, κάθε κεφαλίδα 2X3 φιλοξενεί μια στήλη από τα έντονα επισημασμένα κλειδιά, ή σε γενικές γραμμές μία νότα. Συνεπώς, ο πίνακας απαιτεί 8 από αυτές τις κεφαλίδες. Η εικόνα περιέχει μία από αυτές τις γυναικείες κεφαλίδες πάνω αριστερά. Το μεσαίο τμήμα του πίνακα είναι γεμάτο με 32 διόδους (1N4148 ή παρόμοιες), η κάθε μία αντιστοιχεί σε μία από τις κόκκινες εισόδους. Η πολικότητα της διόδου είναι όπως σημειώνεται στον πίνακα, με κάθοδο (μαύρη ταινία) στο πάνω άκρο του πίνακα. Μια μονή δίοδος απεικονίζεται στη θέση 4. Τέλος, μια μεμονωμένη αρσενική κεφαλίδα 2X5 συμπληρώνει το χαμηλότερο τμήμα του πίνακα. Οι άνω 2 ακίδες του δεν είναι συνδεδεμένες. Η καρφίτσα 1 βρίσκεται στην κάτω δεξιά γωνία και συνδέεται με τις αριστερότερες 4 διόδους, η καρφίτσα 2 με τις διόδους 5-8 και τέλος η 29-32 συνδέεται με την καρφίτσα 8. Η κεφαλίδα μπορεί να κοπεί από ένα μεγαλύτερο τμήμα DIL, όπως απεικονίζεται στο ο πίνακας. Η καλωδίωση μεταξύ των διαφόρων εξαρτημάτων πραγματοποιείται εντός του ίδιου του PCB, με τη μόνη συγκόλληση να απαιτεί τις διόδους και τις επικεφαλίδες.

8 από αυτές τις πλήρεις σανίδες είναι τοποθετημένες αμέσως κάτω από τα εγχειρίδια χρησιμοποιώντας τις παρεχόμενες οπές στερέωσης, που απλώνονται βολικά στο όργανο. Η λειτουργία αυτού του πίνακα είναι να πάρει ένα μπλοκ 8 κλειδιών σε 4 διαύλους και να το παρουσιάσει σε μια αρσενική κεφαλίδα στην οποία θα συνδεθεί καλώδιο κορδέλας 10 κατευθύνσεων για μεταφορά στο επόμενο στάδιο. Το σχέδιο του πίνακα μπορεί να μεταφορτωθεί από το παρεχόμενο αρχείο zip.

Βήμα 3: Ενοποίηση εξόδων πληκτρολογίου σε καταχωρητές Shift

Ενοποίηση των εξόδων του πληκτρολογίου σε καταχωρητές Shift
Ενοποίηση των εξόδων του πληκτρολογίου σε καταχωρητές Shift

Απαιτούνται δύο επιπλέον PCB, όπως φαίνεται παραπάνω. Είναι γνωστά ως DIN R5 και είναι δημοφιλή στον κόσμο MIDI, αν και παρέχουν απλώς μια λειτουργία καταχωρητή αλλαγής. Πρώτα στο επάνω οριζόντιο τμήμα, μπορείτε να δείτε 4 αρσενικές κεφαλίδες 2Χ5, οι οποίες συνδέονται μέσω καλωδίου κορδέλας στο αντίστοιχο 2Χ5 στους 8 παραπάνω πίνακες. Χρειαζόμαστε δύο πίνακες DIN για να φιλοξενήσουμε 8 τέτοια καλώδια.

Πιο κάτω στον πίνακα υπάρχουν τσιπ IC που σχηματίζουν έναν καταχωρητή μετατόπισης 32-bit, και τέλος μας ενδιαφέρουν 2 επιπλέον κεφαλίδες 2X5, εκ των οποίων η μία (J2) συμμορία για περαιτέρω πίνακες DIN (η δεύτερη μας) και η άλλη J1 για τον μικροεπεξεργαστή Arduino ή Arduino.

Συνοψίζοντας, έχουμε -

  • Μέχρι 4 λεωφορεία 64 κλειδιών που τροφοδοτούν
  • 8 πίνακες 32 εισόδων, 8 εξόδων ανά δίαυλο
  • αυτές οι 64 έξοδοι τροφοδοτούνται σε 2 καταχωρητές αλλαγής 32-bit
  • ο μικροεπεξεργαστής Arduino θα κάνει ποδήλατο στα λεωφορεία

Βήμα 4: Εγκατάσταση του υλικού μαζί

Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί
Τοποθέτηση του υλικού μαζί

Οι συνδέσεις μεταξύ του Arduino, των δύο σανίδων DIN και των καλωδίων κορδέλας από το συγκρότημα των κλειδιών οργάνων απεικονίζονται στην παραπάνω εικόνα. Σημειώστε ότι το J2 του δεύτερου DIN παραμένει άδειο.

Οι σύνδεσμοι χρησιμοποιούν τεχνολογία IDC (επαφή μόνωσης-μετατόπισης) και τα καλώδια δεν χρειάζεται να αφαιρεθούν ή να διαχωριστούν. Εφαρμόζονται στο καλώδιο με ένα εργαλείο συμπίεσης που διατίθεται στους χομπίστες. Στο αριστερό άκρο του πτυχωμένου καλωδίου μπορεί να στερεωθεί με λεπίδα ξυραφιού. στο κέντρο, το κάτω μέρος του συνδέσμου παρέχει μια θηλυκή υποδοχή 2X5. και δεξιά μια κάτοψη του συνδέσμου.

Οι σανίδες DIN και οι προσαρμοσμένες σανίδες PCB ήταν προσαρτημένες σε ξυλουργική οργάνων χρησιμοποιώντας στρογγυλές κεφαλές από ορείχαλκο βίδες και αποστάτες. Μια μερική άποψη των προσαρμοσμένων σανίδων PCB που είναι τοποθετημένα στο όργανο απεικονίζεται παραπάνω. Τα άνω καλώδια σύνδεσης συνδέουν στάσεις ή χειριστήρια στις σανίδες και η μάζα στα αριστερά προέρχεται από τα πεντάλ. Τέλος, η αφαίρεση των γεννητριών τόνου και άλλων λειτουργιών του αρχικού οργάνου επέτρεψε την επαναχρησιμοποίηση του κενού του ντουλαπιού για αποθήκευση κρασιού.

Βήμα 5: Το συγκρότημα Arduino

Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino
Το συγκρότημα Arduino

Το συγκρότημα Arduino που φαίνεται στα αριστερά των δύο πινάκων DIN παραπάνω θα συζητηθεί τώρα. Αποτελείται από τρία ξεχωριστά στρώματα, διασυνδεδεμένα ως ασπίδες Arduino. Τα PCB που περιλαμβάνουν τα στρώματα έχουν τυχαία χρώμα Μπλε, Πράσινο και Κόκκινο.

Το μπλε στρώμα (στην κορυφή) είναι μια ασπίδα που παράγεται από τη Freetronics, η οποία παρέχει οθόνη υγρών κρυστάλλων 16X2. (2 σειρές 16 χαρακτήρων). Δεν είναι απολύτως απαραίτητο, αλλά είναι εξαιρετικά χρήσιμο για τον έλεγχο της λειτουργίας των πληκτρολογίων, των πεντάλ και των στάσεων. Οδηγείται από τη βιβλιοθήκη LiquidCrystal και άλλες παραλλαγές υλικού θα μπορούσαν να αντικατασταθούν εύκολα.

Το κόκκινο στρώμα (στο κάτω μέρος) είναι ένα Teensy 3.2 τοποθετημένο σε μια σανίδα Sparkfun Teensyduino. Το Teensy προσφέρει άμεση υποστήριξη MIDI και διαφορετικά συμπεριφέρεται ως Arduino UNO. Έτσι, η χρήση του Teensy εξοικονομεί στοιχεία κατάντη. Η σύνδεση τροφοδοσίας (5V 2A) βρίσκεται κάτω αριστερά και η υποδοχή USB που υποστηρίζει σειριακή ή MIDI έξοδο στο κέντρο αριστερά. Οι κεφαλίδες στο πάνω και στο κάτω άκρο παρέχουν τυπική λειτουργικότητα ασπίδας Arduino.

Το πράσινο στρώμα (ανάμεσα σε μπλε και κόκκινο) είναι μια προσαρμοσμένη πλακέτα PCB. Ο σκοπός του είναι σε γενικές γραμμές να υποστηρίξει κομμάτια και κομμάτια όπως σύνδεση με τις πλακέτες DIN και να μειώσει την εξωτερική καλωδίωση. Κάποιες από τις λειτουργίες του είναι περιττές. Περιλαμβάνει κάποια κυκλώματα για την υποστήριξη του MIDI μέσω ενός τυπικού Arduino UNO. Παρέχει επίσης μια ανδρική κεφαλίδα 2X5 για σύνδεση καλωδίου με κορδέλα στην κεφαλίδα J1 στην πρώτη πλακέτα DIN. Άλλες λειτουργίες περιλαμβάνουν υποστήριξη Volume Control. το αρχικό Όργανο χρησιμοποίησε ένα ποτενσιόμετρο (δοχείο) 10Κ που κινούνταν από ένα Foot Shoe.

Οι τέσσερις οριζόντιες κεφαλίδες παρέχουν τυπική συνδεσιμότητα με ασπίδα Arduino στον πίνακα Teensy παρακάτω και την οθόνη Liquid Crystal. Το αποτύπωμα που μοιάζει με σταθμό λεωφορείων στην κάτω αριστερή γωνία είναι εναπομείναν και η μεγάλη κάθετη κεφαλίδα στα αριστερά παρέχει συνδεσιμότητα με τα τέσσερα λεωφορεία, έλεγχο έντασης ήχου και γείωση.

Ο προσαρμοσμένος πίνακας αναπτύχθηκε χρησιμοποιώντας το Eagle CAD και τα αρχεία zip του συμπλέγματος Gerber που αποστέλλονται σε κατασκευαστές PCB είναι διαθέσιμα στο αρχείο zip του PCB2.

Βήμα 6: Το λογισμικό Arduino

Το λογισμικό αναπτύχθηκε αρχικά για ένα Arduino UNO και αργότερα τροποποιήθηκε με πολύ λίγες αλλαγές για τη χρήση του Teensy. Η χρήση καρφιτσών είναι αμετάβλητη.

Η οθόνη υγρών κρυστάλλων χρησιμοποιεί μισή ντουζίνα καρφίτσες και αποφασίστηκε να χρησιμοποιηθούν οι αναλογικές ακίδες σε ψηφιακή λειτουργία για να αποκτήσουν ένα μπλοκ παρακείμενων ακίδων για τα λεωφορεία. Ο Έλεγχος έντασης χρησιμοποιεί έναν άλλο Αναλογικό πείρο σε Αναλογική λειτουργία.

Μεγάλο μέρος του λογισμικού ασχολείται με την ανάγνωση του μεμονωμένου πληκτρολογίου, τα πλήκτρα πεντάλ και διακοπής ενεργοποιώντας με τη σειρά του κάθε δίαυλο και τη μετάβαση των τιμών bit από τους καταχωρητές βάρδιας που παρέχονται από τις πλακέτες DIN.

Το μεταγενέστερο περιβάλλον θα περιλαμβάνει συνήθως έναν επεξεργαστή που εκτελεί Windows ή UNIX ή Linux και ένα Synthesizer λογισμικού όπως το FluidSynth, το οποίο με τη σειρά του θα μπορούσε να διαχειριστεί η jOrgan. Το FluidSynth οδηγείται τελικά από ένα ή περισσότερα Soundfont, τα οποία καθορίζουν τον ήχο που παράγεται όταν λαμβάνεται μια συγκεκριμένη εντολή MIDI. Υπάρχει κάποια αναλογία με τις γραμματοσειρές επεξεργασίας κειμένου. Για το πληκτρολόγιο και τα πεντάλ, μια αλλαγή από την προηγούμενη σάρωση θα έχει ως αποτέλεσμα τη δημιουργία μιας σειράς MIDI Note On ή Note Off. Το πιο αριστερό πλήκτρο είναι το MIDI 36 και αυξάνεται στο πληκτρολόγιο. Το ευρετήριο διαύλου παρέχει εύκολα εύρος για τον αριθμό καναλιού MIDI. Για τα πλήκτρα διακοπής, δημιουργούνται αλληλουχίες ελέγχου προγράμματος MIDI ή μπορεί να είναι λογικό να δημιουργηθεί Σημείωση Ενεργοποίηση/Απενεργοποίηση και να το αφήσουμε στο jOrgan ή σε παρόμοιο λογισμικό MIDI για να το ερμηνεύσει, να το προσαρμόσει και να το επεκτείνει. Ανεξάρτητα από την πορεία που ακολουθείται, η τελική απόφαση επιβάλλεται από τον ορισμό του (των) κατάντη Soundfont (s). Το λογισμικό έχει χρησιμοποιηθεί σε διάφορες μορφές για τη δημιουργία MIDI μέσω USB σε Windows που χρησιμοποιούν την εφαρμογή Wurlitzer και FluidSynth, και σε ένα Raspberry Pi που εκτελεί FluidSynth και ένα γενικό MIDI Soundfont. Αυτή η περιγραφή είναι ομολογουμένως πρόχειρη, αλλά όποιος γνωρίζει το περιβάλλον Arduino ή το C δεν θα δυσκολευτεί να την τροποποιήσει για δικούς του σκοπούς. υπάρχει εύλογη εσωτερική τεκμηρίωση και λογική αρθρωτότητα.

Το λογισμικό Arduino περιέχεται στο organino.zip.