Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Vorbereiten des USB-Mini-Host-Shields zum Ansteuern eines 5-V-Midi-Geräts
- Schritt 2: Verbinden Sie das USB Mini Shield mit Ihrem Arduino Nano
- Schritt 3: Chips jeder? Hinzufügen von SN76489 mit 4MHz Osc. und 595 Schieberegister
- Schritt 4: Einfach Code hinzufügen - Bibliotheken hinzufügen, Code kompilieren und hochladen
- Schritt 5: Schließen Sie einen Verstärker und Lautsprecher an, schließen Sie Ihre USB-Midi-Tastatur an und testen Sie
- Schritt 6: Schließen Sie den Stromkreis mit einem 5V-Spannungsregler, einem 12V-Anschluss, einem Ein-/Aus-Schalter und einer Power-LED
- Schritt 7: In eine Schachtel legen, lackieren und Ihren neuen Synthesizer genießen
Video: Lassen Sie uns einen SN76489 USB-MIDI-Synth mit Arduino Nano bauen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Wollten Sie schon immer Ihren eigenen Synthesizer bauen, der auf alten Chiptunes aus den 80ern basiert? Spielen Sie einfache polyphone Melodien, die genau so klingen, wie diese alten Sega Master System- und Megadrive-Videospiele klangen?
Ich habe also ein paar SN76489-Chips von ebay und ein Midi-Host-Interface bestellt und es ausprobiert. Nun, es war kein Spaziergang im Park für mich, aber ich habe jeden Moment genossen.
Zuerst habe ich gelernt, wie man den SN76489 direkt anschließt und damit Lärm macht. Es gab einige verwirrende Elemente, aber mit Hilfe von The Oddbloke Geek Blog und einigen anderen Beispielen konnte ich zusammen mit dem Chipspezifikationsdokument eine einfache Arduino-Bibliothek entwickeln.
Als nächstes musste ich lernen, wie man eine Midi-Tastatur mit einem USB-Mini-Host-Shield verbindet. Dies war nicht so schwer, da einige Dokumentationen verfügbar sind und es gute Bibliotheken mit klaren Beispielen gibt.
Nachdem ich verstanden hatte, wie man den Chip steuert und wie ich meine USB-Midi-Tastatur anschließe, musste ich nur noch einen Code schreiben, der all dies zusammenfasst und es mir ermöglicht, die Tastatur zur Steuerung des Chips zu verwenden.
Unterwegs habe ich gelernt, dass Klänge mit einer niedrigeren Frequenz als die, die ich für 0x2f-Midinoten zu erzeugen versuchte, nicht richtig klangen und erlauben Sie auch, Noten mit einem orientalischen arabischen Touch für alles unter Midi 0x28 zu spielen.
Rückblickend hat es sehr viel Spaß gemacht und war sehr interessant zu bauen.
Ich hoffe, Sie finden es genauso lustig und interessant wie ich und wenn Sie selbst eines bauen, wären Sie so freundlich, ein paar Bilder davon zu teilen.
Wenn Ihnen dieses Projekt gefallen hat, stimmen Sie unten dafür ab, um den Wettbewerb zu gewinnen, an dem es teilnimmt
Lieferungen
Ich habe Links zu Material hinzugefügt, das Sie für dieses Projekt kaufen können, aber Sie könnten viele verfügbare Artikel finden, die Sie von alter Elektronik abkratzen können.
Diese Links sind Affiliate-Links. Wenn Sie also nach dem Anklicken kaufen, erhalte ich einen kleinen Teil (kein Vermögen) und Sie erhalten ein Produkt, das für dieses Projekt geeignet ist. Es fallen keine Gebühren oder zusätzliche Kosten für die Verwendung an, Sie können jedoch ähnliche Artikel finden, die diese ziemlich einfach ersetzen können.
ebay.us/svA4z4 | 1 x Leistungsplatine
ebay.us/ZyEFNp | 1 x Arduino-Nano
ebay.us/t1zy0v | 1 x USB-Mini-Schild
ebay.to/2QrHl1C | 1 x SN76489 Soundchip
ebay.us/aaaj8p | 1 x Schieberegister 595
ebay.us/DSvTHO | 1 x Quarzoszillator von 4MHz
ebay.us/XQeM0Q | 1 x 5V Spannungsregler 7805
ebay.us/6R6Fpf |1 x Kühlkörper für den Spannungsregler
ebay.us/xkLbn4 | 3 x 10uF Kondensatoren
ebay.us/pnm2BH | Drähte
ebay.us/PMbUfY | 1 x rote LED für Power
ebay.us/zokHtc | 1 x 220 Ohm Widerstand zur Begrenzung des LED-Stromflusses
ebay.us/qjbesJ | 1 x Stromanschluss für 12V Netzteil
ebay.us/cS0wwv |1 x Ein-/Ausschalter
eine passende Kiste (ich habe meine aus einer alten Schublade gebaut, die jahrelang in meinem Lager lag)
Schritt 1: Vorbereiten des USB-Mini-Host-Shields zum Ansteuern eines 5-V-Midi-Geräts
Da die USB-Mini-Host-Abschirmung mit 3,3 V arbeitet und die von mir verwendeten USB-Midi-Tastaturen 5 V benötigen, muss die Ausgangsspannung der Abschirmung angepasst werden, indem die 3,3-V-Leitung, die zum USB-Ausgang Vcc führt, durchgeschnitten wird, damit wir sie später anschließen können auf 5V.
Es gibt viele Tutorials dazu und es stellte sich als recht einfach heraus:
Schneiden Sie einfach die Leitung zwischen dem 2k2-Widerstand und der Vcc-Leitung ab (siehe beiliegendes Bild). Ich habe einen Schraubendreher verwendet, um diese Leitung zu zerkratzen und getestet, ob sie mit einem Durchgangsmesser funktioniert.
Schritt 2: Verbinden Sie das USB Mini Shield mit Ihrem Arduino Nano
Zum Glück gibt es viele Informationen dazu, also bin ich beim Googeln nach "Arduino Nano und Mini-USB-Host-Shield" auf diesen Thread gelandet
Es beschrieb, wie das USB-Mini-v2.0-Shield angeschlossen wird, und nachdem ich es befolgt hatte, ging ich direkt los, um einige USB-Midi-Beispiele zu testen.
Verdrahtung:
Arduino Host-Schild
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V--------------1
3.3V-------------9
Masse -----------3
RST-------------4
In diesem Thread wurde auch erwähnt, dass das 3,3-V-Kabel abgeschnitten wurde, damit der USB 5 V vom VBUS erhalten kann.
Diese Beschreibung und die beigefügten Bilder stammen aus diesem Thread.
Übrigens, es gibt einen Fehler auf dem Druck auf diesem Board, daher war dies etwas verwirrend, aber Sie können mein Feedback dazu (tyrkelko) sehen und woher ich es gelernt habe.
Schritt 3: Chips jeder? Hinzufügen von SN76489 mit 4MHz Osc. und 595 Schieberegister
Jetzt war es an der Zeit, den Chip hinzuzufügen, der diesen erstaunlichen Klang erzeugt.
Ich habe bereits eine Bibliothek entwickelt, um Arduino mit diesem Chip zu verbinden und musste nur meinen Anweisungen folgen.
Die Bibliothek wird in github unter GPLv3 veröffentlicht (meine erste Open-Source-Version).
github.com/tyrkelko/sn76489
Die Verbindung von 76489 und 595 war wie im beiliegenden Bild, das aus der Datei readme.txt der Bibliothek stammt
Das Write Enable on Low (NotWE) von 76489 wurde mit Pin 3 des Nanos verbunden und kann im Code geändert werden.
#define PIN_NotWE 3
Der 595 wurde wie folgt mit dem Nano verbunden und kann auch durch Editieren der Pin-Nummern angepasst werden:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
Der von mir verwendete Oszillator war ein 4-MHz-Quarzoszillator mit 4 Beinen.
Es wurde im Code wie folgt konfiguriert und Sie können seinen Wert an eine beliebige Oszillatorfrequenz zwischen 500 kHz und 4 MHz anpassen:
#define FREQUENZ 4000000.0
Das Anschließen des von mir verwendeten Oszillators war wie folgt:
Pin 1 - nicht verbunden
Pin 7 - Masse
Pin 8 - verbunden mit 76489 Pin 14 - Taktosc
Schritt 4: Einfach Code hinzufügen - Bibliotheken hinzufügen, Code kompilieren und hochladen
Bibliotheken, die in diesem Projekt verwendet werden, müssen der Arduino-IDE wie folgt hinzugefügt werden:
Öffnen Sie die Arduino-IDE
Laden Sie die folgenden Bibliotheken in den Bibliotheksordner Ihrer IDE herunter (hoffentlich finden Sie diese bald im Menü "Bibliotheken verwalten…" im Menü "Tools" der IDE):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Verwenden Sie den Code aus dem folgenden Github-Projekt:
github.com/tyrkelko/usb_midi_tone
Laden Sie usb_midi_tone.ino herunter, kompilieren Sie und laden Sie es auf Ihren Arduino nano hoch.
Schritt 5: Schließen Sie einen Verstärker und Lautsprecher an, schließen Sie Ihre USB-Midi-Tastatur an und testen Sie
Jetzt ist es Zeit zu testen, ob alles funktioniert.
Dazu brauchen wir:
1. Ein Verstärker und Lautsprecher
2. Eine USB-Midi-Tastatur
Verbinden Sie SN76489 Pin 7, Audioausgang, mit dem Audioeingang des Verstärkers.
Schalten Sie den Verstärker ein und schalten Sie dann das Arduino Nano ein. Sie sollten nun für den Bruchteil einer Sekunde den Einschalttestton hören.
Schließen Sie die USB-Midi-Tastatur an und testen Sie.
Wenn alles richtig funktioniert, sollten Sie 3 Töne gleichzeitig spielen können, und auch 8 Arten von Geräuschen und sogar einen Viertelton von 24 EDO-Scale.
Wenn es nicht funktioniert, gehen Sie die Schritte durch, um zu sehen, was möglicherweise schief gelaufen ist.
Wenn Sie der Meinung sind, dass dies auf unklare Anweisungen zurückzuführen ist, senden Sie mir bitte eine Nachricht, damit ich die Anweisungen aktualisiere, um das Problem zu beheben.
Schritt 6: Schließen Sie den Stromkreis mit einem 5V-Spannungsregler, einem 12V-Anschluss, einem Ein-/Aus-Schalter und einer Power-LED
In diesem Schritt sollten Sie in der Lage sein, die Schaltung zu schließen, nachdem Sie getestet haben, dass sie richtig funktioniert.
1. Fügen Sie einen Leistungsregler mit LM7805 und zwei 10uF-Kondensatoren und 0,1uF hinzu. Es gibt viele Tutorials dazu, Sie können die folgende Anleitung verwenden, um dies zu erreichen -
2. Fügen Sie einen 12-V-Stromanschluss hinzu, wobei der Vcc über einen Ein-/Aus-Schalter geht
3. Fügen Sie eine LED mit einem Begrenzungsstromwiderstand hinzu, um anzuzeigen, wenn die Stromversorgung eingeschaltet ist.
Schritt 7: In eine Schachtel legen, lackieren und Ihren neuen Synthesizer genießen
Sobald die Schaltung getestet ist und nach Ihren Wünschen funktioniert, bleibt nicht mehr viel zu tun, außer ein schönes Gehäuse zu bauen, es mit tollen Farben zu bemalen und etwas Musik zu spielen.
Ich hoffe, es hat Ihnen Spaß gemacht, dieses anweisbare zu lesen, und dass es Sie dazu inspiriert hat, Ihren eigenen Synthesizer zu bauen oder mit einem anderen Projekt, an dem Sie arbeiten, zu beginnen.
Bitte kommentieren Sie unten mit allen Fragen und wenn Sie etwas Ähnliches basierend auf diesem Tutorial gebaut haben, wäre es großartig, wenn Sie teilen würden, was Sie in der "Ich habe das gemacht!" Bereich oder im Feedback-Bereich.
Empfohlen:
Lassen Sie uns gemeinsam eine Fitbit Charge 2 reparieren. Linien im Bildschirm.: 3 Schritte
Lassen Sie uns gemeinsam eine Fitbit Charge 2 reparieren. Linien im Bildschirm.: Ungefähr 13 Halterungen, nachdem ich mein erstes Fitbit gekauft hatte, begann ich, Linien zu bekommen, die über den Bildschirm gingen. Jeden Tag tauchte ein anderer auf, manchmal mehr als einer am Tag. Ich habe mich sehr gut um mein Fitbit gekümmert dachte ich und wusste nicht warum es anfing. wenn
So bauen Sie einen Smart Mirror mit Raspberry Pi 4: 10 Schritte
So bauen Sie einen Smart Mirror mit Raspberry Pi 4: In dieser Anleitung sehen wir, wie Sie einen Smartmirror aus recycelten Teilen wie einem Bilderrahmen, einem alten Monitor und einem Bilderglas bauen. Für die elektronischen Komponenten, die ich hier gekauft habe www.lcsc .com
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: 8 Schritte (mit Bildern)
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: EinführungSeit ich mit dem Studium von Arduino und der Maker-Kultur begonnen habe, habe ich gerne nützliche Geräte aus Schrott- und Schrottstücken wie Kronkorken, PVC-Stücken, Getränkedosen usw. gebaut. Ich liebe es, eine Sekunde zu geben Leben für jedes Stück oder jeden Kumpel
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC - DIY (ELECTROINDIA): 4 Schritte
So erstellen Sie einen Tiefpassfilter für einen Subwoofer mit dem NE5532-IC | DIY (ELECTROINDIA): In diesem Projekt zeige ich Ihnen, wie Sie einen Tiefpassfilter für Subwoofer herstellen können. Los geht's
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für