Inhaltsverzeichnis:
- Schritt 1: Video
- Schritt 2: Teile und Materialien
- Schritt 3: Verkabelung - SAA1099
- Schritt 4: Verdrahtung - TTL-Oszillator
- Schritt 5: Verdrahtung - Iref und Chip-Schnittstelle
- Schritt 6: Verkabelung - Soundkomponenten
- Schritt 7: Verkabelung - Audiobuchse
- Schritt 8: Verkabelung - Strom zum Steckbrett
- Schritt 9: Verkabelung - Datenleitungen
- Schritt 10: Optionale LED(s)
- Schritt 11: Code
- Schritt 12: Testen Sie es
- Schritt 13: Verwenden Ihrer eigenen MIDI-Dateien - Konvertierungsprogramm
- Schritt 14: Konvertieren von MIDI-Dateien
- Schritt 15: Verwenden Ihrer konvertierten MIDI-Datei
- Schritt 16: Flosse
Video: Retro-Soundchip mit einem Arduino - der SAA1099 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem anweisbaren zeige ich Ihnen, wie Sie ein Arduino Uno mit einem Vintage-Sound-Synthese-Chip verwenden, um Midi-Dateien in quadratischer wellenförmiger Güte abzuspielen!
Wenn Sie nur einen schnellen Überblick über die Aufgaben dieses Projekts erhalten möchten, sehen Sie sich das obige Video an. Ansonsten weiter so!
Schritt 1: Video
Wenn Sie alle Ihre Anweisungen in klaren, prägnanten Videos bevorzugen, sind Sie bei uns genau richtig!
Für den Rest von uns können Sie mit etwas mehr Details und schriftlichen Anweisungen fortfahren.
Schritt 2: Teile und Materialien
Dafür benötigst du diese Dinge:
(Die Links sind für eBay-Artikel)
- Ein Arduino (Uno, Nano, Leonardo, sie sollten alle funktionieren)
- Mindestens ein mittelgroßes Steckbrett
- Der SAA1099-Stereo-Sound-Generator-Chip
- Steckbrett-Überbrückungsdrähte (Alternativ verwende ich gerne Dupont-Buchsen-zu-Buchse-Jumper, mit 20-mm-Stiftstiften an beiden Enden - viel stabiler)
- 8Mhz TTL Oszillator (AliExpress Link wie von Zweigelt bereitgestellt)
- Stereo- (oder Mono-) Audiobuchse
- 2 x 1K Widerstände (Lot von 100)
- 1 x 10K Widerstand (Lot von 50)
- 2 x 100pF Kondensatoren
- (Optional) Einige LEDs, mindestens 1 (jede Farbe, hier sind 100 verschiedene Farben für einen Dollar!)
Bei Verwendung der angegebenen Links betragen die Gesamtkosten 23,25 USD, einschließlich Versand. Das meiste kommt natürlich aus der halben Welt, daher dauert der Versand in der Regel etwa einen Monat. Wenn Sie einen schnelleren Versand wünschen, müssen Sie wahrscheinlich etwas mehr bezahlen.
Schritt 3: Verkabelung - SAA1099
Wenn Schaltpläne dein Ding sind, dann bist du hier! Der Rest von uns kann entweder Schritt für Schritt durchgehen oder sich das Video ansehen.
- Platzieren Sie den SAA1099 am Ende des Steckbretts, wobei die Kerbe auf dem Chip zum Ende zeigt.
- Nun, Macht. VDD (Pin 18) am SAA1099 geht an Spannung, dann Pin VSS (Pin 9) an Masse.
- Als nächstes legen Sie einen Draht zwischen CS (Pin 2) und Masse, um ihn niedrig zu halten
Ich würde auch empfehlen, einen Blick auf das Datenblatt zu werfen, das ich angehängt habe.
Schritt 4: Verdrahtung - TTL-Oszillator
- Wir platzieren den TTL-Oszillator auf dem Steckbrett neben dem Steckbrett, so dass der Taktausgangspin am nächsten zum Takteingang des SAA1099 (Pin 8) liegt.
- Sie können fortfahren und Strom und Masse an den TTL-Oszillator anschließen. (Ich habe bis später in meinem Video gewartet, daher habe ich kein Bild). Das obige Bild zeigt, welche Pins welche sind.
Schritt 5: Verdrahtung - Iref und Chip-Schnittstelle
- Schließen Sie den 10K-Widerstand zwischen Iref (Pin 6) und 5V an.
- Verbinden Sie den digitalen Pin 8 mit WR (Pin 1) am SAA1099.
- Verbinden Sie den digitalen Pin 9 mit A0 (Pin 3) des SAA1099.
Schritt 6: Verkabelung - Soundkomponenten
- Schließen Sie einen 100pF-Kondensator zwischen OUTR (Pin 4) und GND. an
- Schließen Sie einen 1K-Widerstand zwischen OUTR (Pin 4) und 5V. an
- Wir machen dasselbe für OUTL (Pin 5)
- Schließen Sie einen 100pF-Kondensator zwischen OUTL (Pin 5) und GND. an
- Schließen Sie einen 1K-Widerstand zwischen OUTL (Pin 5) und 5V. an
Notiz! Stellen Sie sicher, dass sich keine der Drähte von den Widerständen / Kondensatoren berühren, sonst funktioniert das Zeug nicht und könnte (vorläufig) möglicherweise in Ihr Gesicht explodieren.
Schritt 7: Verkabelung - Audiobuchse
- Verbinden Sie ein kleines Überbrückungskabel zwischen 5V und einer leeren Reihe auf dem Steckbrett.
- Platzieren Sie Ihre Audiobuchse so, dass der Jumper von 5V mit dem "Sleeve"-Pin der Audiobuchse verbunden ist
- Verbinden Sie L und R (oder Audio-Pin, wenn Sie eine Mono-Buchse haben) mit den Pins OUTL (Pin 5) bzw. OUTR (Pin 4) des SAA1099.
Notiz! Bei Mono-Audiobuchsen ist es wirklich egal, was geht, solange ein Pin mit 5V und einer mit OUTL oder OUTR verbunden ist. Es wird gut klingen. Wenn dies nicht der Fall ist, sollten Sie in diesem Fall Ihre Verkabelung erneut überprüfen.
Schritt 8: Verkabelung - Strom zum Steckbrett
- Verbinden Sie beide Seiten des Breadboard-Strombusses miteinander, indem Sie Überbrückungsdrähte verwenden.
- Verbinden Sie eine Seite mit den 5V- und GND-Pins des Arduino und stellen Sie sicher, dass Sie die Drähte nirgendwo verwechselt haben. Wenn Sie dies getan haben, kann der magische Rauch entweichen.
Schritt 9: Verkabelung - Datenleitungen
Verbinden Sie D0 bis D7 am Arduino mit D0 (Pin 10) bis D7 (Pin 17) am SAA1099 der Reihe nach
Ich finde, dass DuPont weiblich-weiblich Überbrückungsdrähte mit 15-20MM Header-Pins an beiden Enden viel besser funktionieren als die männlich-männlichen Dupont-Drähte. Außerdem können Sie sie auch als weiblich-weiblich oder männlich-weiblich verwenden. Beide sind bei eBay in großen Mengen leicht zu finden, für kleine Mengen an Wechselgeld. Ein gutes Weihnachtsgeschenk für den aufstrebenden Arduino-Junkie!
Schritt 10: Optionale LED(s)
Ich werde nicht Schritt für Schritt durchgehen, wie man hier alles baut, aber es gibt mehrere gute Orte, um LEDs hinzuzufügen. Zuerst habe ich eine 3mm rote LED zwischen WR (Pin 1) und GND angeschlossen, um jedes Mal anzuzeigen, wenn das Arduino einen Befehl an den SAA1099 sendet.
Ich habe auch bereits LEDs an die Datenleitungen angeschlossen, sodass Sie die tatsächlichen Binärdaten auf jeder Leitung sehen können. Ich habe dieses Setup in meinem Video "Arduino and SAA1099 - Fireflies" verwendet, sowie 6 weitere LEDs und etwas zusätzlichen Code, um jede LED für jeden aktiven Kanal aufleuchten zu lassen.
Je mehr LEDs, desto cooler sieht es aus!
Schritt 11: Code
Nachdem Sie die Schaltung erstellt haben, überprüfen Sie die Verbindungen noch einmal! Sie wollen Ihr teures Arduino und Soundchip nicht in die Luft jagen! (Wenn du das tust, gut. Das geht mich nichts an)
Vorausgesetzt, Sie sind gesund und haben alles überprüft, können wir mit der Programmierung beginnen.
- Die Bibliothek ist unter
- Sie benötigen die Datei SAATunes.zip, also fahren Sie fort und laden Sie sie herunter.
- Öffnen Sie nun die Arduino-IDE.
- Klicken Sie unter "Skizze", "Bibliothek einschließen" auf "ZIP-Bibliothek hinzufügen".
- Navigieren Sie dorthin, wo Sie die SAATunes-Bibliothek heruntergeladen haben. (Es ist mir egal, ob es Ihr Desktop, Downloads oder (fügen Sie etwas peinliches) Ordner - einfach finden)
- Wählen Sie es aus und klicken Sie auf "Öffnen"
- Es sollte Ihnen mitteilen, dass es zu Ihren Bibliotheken hinzugefügt wurde.
Schritt 12: Testen Sie es
- Öffnen Sie das SAATunes-Beispielprogramm unter "Datei", "Beispiele", "SAATunes", "SAATunes-Uno".
- Stecken Sie Ihr Arduino in den Computer und in eine Art Lautsprecher.
- Laden Sie das Programm auf den Arduino hoch.
Sie sollten einen Akkord hören, dann Beethovens Wut über einen verlorenen Penny. Wenn Klassik nicht Ihr Ding ist, haben Sie keine Angst, denn wir werden in Kürze lernen, wie Sie MIDI-Dateien unserer Wahl damit verwenden.
Wenn Sie nichts hören, überprüfen Sie einige Dinge: Erstens, ist Ihr Lautsprecher eingeschaltet? Drehen Sie es ganz auf. Ist das Arduino dann wirklich eingeschaltet? Wurde das Programm richtig hochgeladen? Überprüfen Sie die gesamte Verkabelung mit dem Schaltplan und dem Datenblatt und versuchen Sie es dann erneut.
Schritt 13: Verwenden Ihrer eigenen MIDI-Dateien - Konvertierungsprogramm
Bereit, etwas anderes als Beethoven auszuprobieren? Sehr gut, los gehts.
Um MIDI-Dateien in C++ Bytestreams zu konvertieren, benötigen wir ein Programm von Len Shustek. Er ist der Schöpfer der Bibliothek, auf der ich meinen Code basiert, und meine Bibliothek verwendet dasselbe Bytestream-Format wie er.
- Sie finden das Programm unter
- Das gewünschte Programm ist "miditones.exe". Fahren Sie fort und laden Sie das herunter.
Schritt 14: Konvertieren von MIDI-Dateien
Warnung! Hier gibt es ASCII-Drachen! Vielleicht finden Sie es einfacher, sich das Video anzusehen, in dem Sie genau sehen können, wovon ich spreche. Wenn Sie es wagen, einzutreten, dann fahren Sie fort!
Um das Konvertierungsprogramm von MIDI in Bytestream zu verwenden, müssen Sie ein Eingabeaufforderungsfenster öffnen. Entschuldigung für Mac- und Linux-Benutzer, möglicherweise müssen Sie eine Problemumgehung finden.
- Öffnen Sie das Startmenü, geben Sie "CMD" ein und drücken Sie die Eingabetaste.
- Wir werden jetzt ein wenig MS-DOS-Magie lernen. Navigieren Sie mit dem Befehl "CD" dorthin, wo Sie die Datei "miditones.exe" heruntergeladen haben. In den meisten Fällen lauten die Befehle "cd downloads".
- Führen Sie das Programm "miditones.exe" aus, indem Sie "miditones" eingeben. Es sollte Ihnen eine Hilfeliste mit den gebräuchlichsten Befehlen anzeigen.
Jetzt brauchen wir eine MIDI-Datei zum Konvertieren. Finde einen irgendwo im Internet, am besten ohne Percussion oder irgendwelche Spezialeffekte außer Instrumenten/Geschwindigkeit. (Wenn Sie nicht wissen, was das ist, machen Sie sich keine Sorgen, es wird Ihnen gut gehen)
- Laden Sie Ihre MIDI-Datei an den gleichen Ort herunter, an dem Sie das Programm "miditones" haben.
- Geben Sie nun im Eingabeaufforderungsfenster "miditones -d -v [Dateiname]" ein (Ersetzen Sie [Dateiname] durch den Namen Ihrer MIDI-Datei).
- miditones generiert eine. C-Datei mit dem C++-Bytestream im selben Ordner mit demselben Namen wie die MIDI-Datei.
Schritt 15: Verwenden Ihrer konvertierten MIDI-Datei
Nachdem Sie Ihre MIDI-Datei nun konvertiert haben, füttern wir sie in kleinen Bytes an das Arduino!
- Angenommen, Sie haben das SAATunes-Uno-Beispiel bereits geöffnet, gehen wir weiter und "speichern unter" etwas anderes, damit wir es bearbeiten können.
- Wenn Sie es gespeichert haben, klicken Sie auf das kleine "Pfeil nach unten"-Symbol in der oberen rechten Ecke.
- Klicken Sie auf "Neuer Tab" und nennen Sie es "[name].h" (Ersetzen Sie [name] durch den Namen Ihres MIDI-Songs oder was auch immer Sie wollen)
- Öffnen Sie nun die. C-Datei, die Miditones zuvor erstellt hat. Sie können es mit Notepad öffnen.
- Verwenden Sie STRG/A, um alles auszuwählen, und kopieren Sie es dann.
- Fügen Sie es in Ihren neuen "[name].h"-Tab im Arduino-Editor ein.
Hier ist alles gut, also kommen wir zurück zum Programm.
- Suchen Sie nach der Stelle, an der "#include "RagePenny.h"" steht, und kopieren Sie sie und fügen Sie sie in eine neue Zeile darunter ein.
- Ändern Sie "RagePenny.h" in einen beliebigen Namen für Ihre neue Datei.
- Kommentieren Sie nun "#include "RagePenny.h"" aus, indem Sie davor zwei Schrägstriche (//) hinzufügen.
- Laden Sie das Programm hoch!
Wenn alles gut gelaufen ist, sollte es Ihre eigene MIDI-Datei abspielen. Wenn nicht, überprüfen Sie erneut, ob die Namen des neuen Tabs und der Name, den Sie in "#include "RagePenny.h"" geändert haben, identisch sind. Überprüfen Sie die anderen Schritte und stellen Sie sicher, dass Sie alles richtig gemacht haben. Einige MIDI-Dateien funktionieren einfach nicht, aber diese sind selten.
Schritt 16: Flosse
Hoffentlich ist bei Ihnen alles gut gegangen und Sie jammen zu MIDI-Dateien auf einem alten Stück Technologie, das zu neuem Leben erweckt wurde!
Wenn Sie es jedoch nicht sind, geben Sie nicht auf! Senden Sie mir einen Kommentar, und ich helfe Ihnen gerne. Natürlich könnt ihr mir gerne Anregungen in den Kommentaren geben.
Fröhliche Chiptunes!
Empfohlen:
So schützen Sie Flash-Laufwerke in Windows 10 mit einem Kennwort – wikiHow
So schützen Sie Flash-Laufwerke in Windows 10 mit einem Kennwort: Mit der zunehmenden Popularität von Cloud-Speichern wie Google Drive, One Drive und Dropbox nimmt die Popularität von Flash-Laufwerken ab. Es gibt jedoch immer noch einige Vorteile von Flash-Laufwerken gegenüber Cloud-Speichern. Einige davon umfassen den Zugriff auf
So koppeln Sie einen Xbox One-Controller mit einem Windows 10-Laptop.: 16 Schritte
So koppeln Sie einen Xbox One Controller mit einem Windows 10 Laptop.: Sie benötigen:Xbox ControllerWindows 10 Laptop
So steuern Sie ein Gerät mit Raspberry Pi und einem Relais – DIE GRUNDLAGEN: 6 Schritte
So steuern Sie ein Gerät mit Raspberry Pi und einem Relais - DIE GRUNDLAGEN: Dies ist ein einfaches und unkompliziertes Tutorial zur Steuerung eines Geräts mit Raspberry Pi und einem Relais, das für die Erstellung von IoT-Projekten hilfreich ist folgen Sie, auch wenn Sie keine Ahnung von Raspberry haben
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass
So kommunizieren Sie mit einem Alien-Artefakt oder . . .: 4 Schritte (mit Bildern)
Wie man mit einem außerirdischen Artefakt kommuniziert oder…: *** Enge Begegnungen der seltsam-minzigen Art. *** Dieses Instructable zeigt Ihnen, wie Sie eine Altoids-Version des Mutterschiffs "Close Encounters" bauen und damit interagieren. Dies kann ein wichtiges Training für den Tag sein, an dem das Bright White Be