Πίνακας περιεχομένων:

Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano: 7 βήματα
Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano: 7 βήματα

Βίντεο: Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano: 7 βήματα

Βίντεο: Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano: 7 βήματα
Βίντεο: Synth Gifts Ideas 2022 from 40€ up to 640€ | ITA + Subtitles 2024, Ιούλιος
Anonim
Image
Image
Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano
Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano
Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano
Ας δημιουργήσουμε ένα SN76489 USB MIDI Synth με Arduino Nano

Θέλατε ποτέ να φτιάξετε το δικό σας συνθεσάιζερ βασισμένο σε παλιά chip-tune από τη δεκαετία του '80; Παίξτε απλές πολυφωνικές μελωδίες που ακούγονται ακριβώς όπως αυτά τα παλιά Sega Master System και Megadrive βιντεοπαιχνίδια;

Έχω, λοιπόν, παρήγγειλα μερικές μάρκες SN76489 από το ebay και μια διεπαφή midi host και του έδωσα μια ευκαιρία. Λοιπόν, δεν ήταν μια βόλτα στο πάρκο για μένα, αλλά, απόλαυσα κάθε στιγμή.

Πρώτα έμαθα πώς να διασυνδέω απευθείας το SN76489 και να κάνω λίγο θόρυβο με αυτό. Υπήρχαν κάποια μπερδεμένα στοιχεία σε αυτό, αλλά, με τη βοήθεια του The Oddbloke Geek Blog και μερικά άλλα παραδείγματα, μαζί με το έγγραφο προδιαγραφών τσιπ, μπόρεσα να αναπτύξω μια απλή βιβλιοθήκη arduino.

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

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

Στην πορεία, έμαθα ότι ήχοι με συχνότητα χαμηλότερες από αυτούς που προσπάθησα να δημιουργήσω για σημειώσεις midi 0x2f δεν ακούγονταν σωστά, οπότε αποφάσισα να το χρησιμοποιήσω για να επιτρέψω την αποστολή θορύβου στη γεννήτρια θορύβου για τυχόν σημειώσεις midi μεταξύ 0x28 και 0x2f και επιτρέπουν επίσης νότες αναπαραγωγής με ανατολίτικη αραβική πινελιά σε αυτό για οτιδήποτε χαμηλότερο από midi 0x28.

Κοιτάζοντας προς τα πίσω, ήταν πολύ διασκεδαστικό και πολύ ενδιαφέρον για κατασκευή.

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

Αν σας άρεσε αυτό το έργο, ψηφίστε το παρακάτω για να κερδίσετε τον διαγωνισμό στον οποίο συμμετέχει

Προμήθειες

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

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

ebay.us/svA4z4 | 1 x πίνακας επιδόσεων

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x μίνι ασπίδα USB

ebay.to/2QrHl1C | 1 x τσιπ ήχου SN76489

ebay.us/aaaj8p | 1 x μητρώο βάρδιας 595

ebay.us/DSvTHO | 1 x ταλαντωτής κρυστάλλων 4MHz

ebay.us/XQeM0Q | 1 x ρυθμιστής τάσης 5V 7805

ebay.us/6R6Fpf | 1 x ψύκτρα για τον ρυθμιστή τάσης

ebay.us/xkLbn4 | Πυκνωτές 3 x 10uF

ebay.us/pnm2BH | καλώδια

ebay.us/PMbUfY | 1 x κόκκινο LED για ισχύ

ebay.us/zokHtc | 1 x 220 ohm αντίσταση για περιορισμό της ροής ρεύματος LED

ebay.us/qjbesJ | 1 x βύσμα τροφοδοσίας για τροφοδοσία 12v

ebay.us/cS0wwv | 1 x διακόπτης ενεργοποίησης/απενεργοποίησης

ένα κατάλληλο κουτί (έχτισα το δικό μου από ένα παλιό συρτάρι που αναπαυόταν στην αποθήκη μου για χρόνια)

Βήμα 1: Προετοιμασία του USB Mini Host Shield για οδήγηση μιας συσκευής Midi 5V

Προετοιμασία της ασπίδας USB Mini Host για οδήγηση συσκευής 5V Midi
Προετοιμασία της ασπίδας USB Mini Host για οδήγηση συσκευής 5V Midi

Δεδομένου ότι η θύρα USB mini host λειτουργεί σε 3.3V και τα πληκτρολόγια USB midi που χρησιμοποιώ απαιτούν 5V, απαιτείται η προσαρμογή της τάσης εξόδου της ασπίδας κόβοντας τη γραμμή 3,3V που πηγαίνει στο USB out Vcc, ώστε, αργότερα να μπορούμε να τη συνδέσουμε έως 5V

Υπάρχουν πολλά σεμινάρια για το πώς να το κάνετε αυτό και αποδείχθηκε ότι ήταν αρκετά απλό:

Απλώς κόψτε τη γραμμή μεταξύ της αντίστασης 2k2 και της γραμμής Vcc (δείτε τη συνημμένη εικόνα). Χρησιμοποίησα ένα κατσαβίδι για να χαράξω αυτήν τη γραμμή και δοκίμασα αν λειτουργεί με μετρητή συνέχειας.

Βήμα 2: Συνδέστε το USB Mini Shield με το Arduino Nano σας

Συνδέστε το USB Mini Shield με το Arduino Nano σας
Συνδέστε το USB Mini Shield με το Arduino Nano σας
Συνδέστε το USB Mini Shield με το Arduino Nano σας
Συνδέστε το USB Mini Shield με το Arduino Nano σας

Ευτυχώς, υπάρχουν πολλές πληροφορίες για το πώς να το κάνετε αυτό, οπότε, κάνοντας googling για το "Arduino Nano and mini USB host shield" προσγειώθηκα σε αυτό το νήμα

Περιέγραψε πώς να συνδέσετε την ασπίδα USB mini v2.0 και αφού την ακολούθησα πήγα κατευθείαν για να δοκιμάσω μερικά παραδείγματα midi USB.

Καλωδίωση:

Arduino Host ασπίδα

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3.3V ------------ 9

GND ----------- 3

RST ------------ 4

Σε αυτό το νήμα, αναφέρθηκε επίσης ότι έκοψαν το καλώδιο 3.3V, ώστε το USB να μπορεί να πάρει 5V από το VBUS.

Αυτή η περιγραφή και οι συνημμένες εικόνες προέρχονται από αυτό το νήμα.

BTW, υπάρχει ένα λάθος στην εκτύπωση σε αυτόν τον πίνακα, οπότε αυτό ήταν λίγο μπερδεμένο, ωστόσο, μπορείτε να δείτε τα σχόλιά μου για αυτό (tyrkelko) και από πού το έμαθα.

Βήμα 3: Τσιπς κανείς; Προσθήκη SN76489 Με 4MHz Osc. και 595 Shift Register

Τσιπς Κανείς; Προσθήκη SN76489 Με 4MHz Osc. και 595 Shift Register
Τσιπς Κανείς; Προσθήκη SN76489 Με 4MHz Osc. και 595 Shift Register

Τώρα ήρθε η ώρα να προσθέσω το τσιπ που κάνει αυτόν τον εκπληκτικό ήχο.

Έχω ήδη αναπτύξει μια βιβλιοθήκη για τη διασύνδεση του arduino με αυτό το τσιπ και έπρεπε μόνο να ακολουθήσω τις οδηγίες μου.

Η βιβλιοθήκη κυκλοφορεί σε github υπό GPLv3 (η πρώτη μου έκδοση ανοιχτού κώδικα).

github.com/tyrkelko/sn76489

Η σύνδεση των 76489 και 595 ήταν όπως στη συνημμένη εικόνα που καταγράφεται από το αρχείο readme.txt της βιβλιοθήκης

Το Write Enable on Low (NotWE) του 76489 συνδέθηκε με τον ακροδέκτη 3 του nano και μπορεί να αλλάξει στον κώδικα.

#define PIN_NotWE 3

Το 595 συνδέθηκε με το nano ως εξής και μπορεί επίσης να ρυθμιστεί με την επεξεργασία των αριθμών pin:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Ο ταλαντωτής που χρησιμοποίησα ήταν ένας ταλαντωτής κρυστάλλων 4MHz με 4 πόδια.

Διαμορφώθηκε στον κώδικα ως εξής και μπορείτε να προσαρμόσετε την τιμή του σε οποιαδήποτε συχνότητα ταλαντωτή μεταξύ 500kHz και 4MHz:

#define FREQUENCY 4000000.0

Η σύνδεση του ταλαντωτή που χρησιμοποίησα ήταν η εξής:

ακίδα 1 - δεν είναι συνδεδεμένο

καρφίτσα 7 - γείωση

ακίδα 8 - συνδεδεμένη με 76489 ακίδα 14 - ρολόι osc

Βήμα 4: Απλώς προσθέστε κώδικα - Προσθήκη βιβλιοθηκών, μεταγλώττιση και μεταφόρτωση του κώδικα

Οι βιβλιοθήκες που χρησιμοποιούνται σε αυτό το έργο πρέπει να προστεθούν στο Arduino IDE ως εξής:

Ανοίξτε το Arduino IDE

Κατεβάστε τις ακόλουθες βιβλιοθήκες στο φάκελο βιβλιοθήκης του IDE σας (ελπίζω να τις δείτε στο μενού "Διαχείριση Βιβλιοθηκών …" στο μενού IDE "Εργαλεία" σύντομα):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Χρησιμοποιήστε τον κώδικα από το ακόλουθο έργο github:

github.com/tyrkelko/usb_midi_tone

Κατεβάστε το usb_midi_tone.ino, μεταγλωττίστε και ανεβάστε στο Arduino nano σας.

Βήμα 5: Συνδέστε έναν ενισχυτή και ένα ηχείο, συνδέστε το πληκτρολόγιο USB Midi και δοκιμάστε

Τώρα ήρθε η ώρα να δοκιμάσουμε ότι όλα λειτουργούν.

Για να το κάνουμε αυτό χρειαζόμαστε:

1. Ενισχυτής και ηχείο

2. Ένα πληκτρολόγιο midi USB

Συνδέστε τον SN76489 pin 7, έξοδο ήχου, στον ήχο του ενισχυτή.

Ενεργοποιήστε τον ενισχυτή και, στη συνέχεια, ενεργοποιήστε το arduino nano. Θα πρέπει τώρα να ακούσετε τον ήχο δοκιμής ενεργοποίησης για ένα κλάσμα του δευτερολέπτου.

Συνδέστε το πληκτρολόγιο midi USB και δοκιμάστε.

Εάν όλα λειτουργούν σωστά, θα πρέπει να μπορείτε να αναπαράγετε 3 τόνους ταυτόχρονα και επίσης να αναπαράγετε 8 τύπους θορύβου και ακόμη και έναν τέταρτο τόνου 24 EDO-Scale.

Εάν δεν λειτουργεί, περάστε τα βήματα για να δείτε τι μπορεί να έχει πάει στραβά.

Εάν πιστεύετε ότι αυτό προκύπτει από ασαφείς οδηγίες, στείλτε μου μια σημείωση, ώστε να ενημερώσω τις οδηγίες για να το διορθώσω.

Βήμα 6: Ολοκληρώστε το κύκλωμα με ρυθμιστή τάσης 5V, συνδετήρα 12V, διακόπτη ενεργοποίησης/απενεργοποίησης και LED λειτουργίας

Σε αυτό το βήμα θα πρέπει να είστε σε θέση να ολοκληρώσετε το κύκλωμα αφού το δοκιμάσετε για να λειτουργήσει σωστά.

1. Προσθέστε έναν ρυθμιστή ισχύος με LM7805 και δύο πυκνωτές 10uF και 0.1uF. Υπάρχουν πολλά σεμινάρια σχετικά με αυτό, μπορείτε να χρησιμοποιήσετε τα παρακάτω εκπαιδευτικά για να το επιτύχετε-https://www.instructables.com/id/7805-Regulator-5V…

2. Προσθέστε μια υποδοχή τροφοδοσίας 12V με το Vcc να περνά μέσω διακόπτη on/off

3. Προσθέστε μια λυχνία LED με περιοριστική αντίσταση ρεύματος για να υποδείξετε πότε είναι ενεργοποιημένη.

Βήμα 7: Κλείστε σε ένα κουτί, ζωγραφίστε και απολαύστε το νέο σας Synth

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

Ελπίζω να σας άρεσε να διαβάζετε αυτό το διδακτικό και ότι σας ενέπνευσε να φτιάξετε το δικό σας synth ή να προχωρήσετε σε ένα άλλο έργο στο οποίο εργάζεστε.

Παρακαλούμε σχολιάστε παρακάτω με τυχόν ερωτήσεις και αν έχετε δημιουργήσει κάτι παρόμοιο με βάση αυτό το σεμινάριο, θα ήταν υπέροχο αν μοιραζόσασταν αυτό που φτιάξατε στο "Έφτιαξα αυτό!" περιοχή ή στην ενότητα σχολίων.

Συνιστάται: