Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Przygotowanie osłony hosta USB Mini do zasilania urządzenia 5 V Midi
- Krok 2: Podłącz mini osłonę USB do Arduino Nano
- Krok 3: Ktoś żetony? Dodanie SN76489 z 4MHz Osc. i 595 Rejestr zmian
- Krok 4: Po prostu dodaj kod - dodawanie bibliotek, kompilowanie i przesyłanie kodu
- Krok 5: Podłącz wzmacniacz i głośnik, podłącz klawiaturę USB Midi i przetestuj
- Krok 6: Uzupełnij obwód za pomocą regulatora napięcia 5 V, złącza 12 V, włącznika/wyłącznika zasilania i diody LED zasilania
- Krok 7: Zamknij pudełko, pomaluj i ciesz się nowym syntezatorem
Wideo: Zbudujmy syntezator MIDI USB SN76489 z Arduino Nano: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Czy kiedykolwiek chciałeś zbudować własny syntezator oparty na starych melodii chipowych z lat 80-tych? Grać w proste polifoniczne melodie, które brzmią tak, jak brzmiały te stare gry wideo Sega Master System i Megadrive?
Mam, więc zamówiłem kilka chipów SN76489 z ebay i interfejs hosta midi i dałem mu szansę. Cóż, dla mnie to nie był spacer po parku, ale cieszyłem się każdą chwilą.
Najpierw nauczyłem się, jak bezpośrednio łączyć SN76489 i robić z nim trochę hałasu. Było w tym trochę mylących elementów, ale z pomocą The Oddbloke Geek Blog i kilku innych przykładów, wraz z dokumentem specyfikacji chipów, udało mi się stworzyć prostą bibliotekę arduino.
Następnie musiałem nauczyć się, jak połączyć klawiaturę midi z osłoną hosta mini USB. Nie było to takie trudne, ponieważ jest dostępna dokumentacja i istnieją dobre biblioteki z jasnymi przykładami.
Kiedy zrozumiałem, jak sterować chipem i jak łączyć moją klawiaturę USB midi, jedyne, co pozostało do zrobienia, to napisać kod, który zawija to wszystko razem i pozwala mi używać klawiatury do sterowania chipem.
Po drodze dowiedziałem się, że dźwięki o częstotliwości niższej niż te, które próbowałem wygenerować dla dźwięków midi 0x2f, nie brzmią dobrze, więc postanowiłem to wykorzystać, aby umożliwić wysyłanie szumu do generatora szumu dla dowolnych dźwięków midi pomiędzy 0x28 a 0x2f a także pozwala na odtwarzanie nut z orientalnym arabskim akcentem dla wszystkiego, co jest niższe niż midi 0x28.
Patrząc wstecz, budowanie było bardzo zabawne i bardzo interesujące.
Mam nadzieję, że uznasz go za równie zabawny i interesujący jak ja, i że jeśli sam go zbudujesz, będziesz na tyle uprzejmy, aby podzielić się z nim kilkoma zdjęciami.
Jeśli podobał Ci się ten projekt, zagłosuj na niego poniżej, aby pomóc wygrać konkurs, w którym bierze udział
Kieszonkowe dzieci
Dodałem linki do materiałów, które możesz kupić do tego projektu, jednak możesz znaleźć wiele dostępnych przedmiotów, które możesz zeskrobać ze starej elektroniki.
Te linki są linkami partnerskimi, więc jeśli dokonasz zakupu po ich kliknięciu, dostanę niewielką część (nie fortunę) i otrzymasz produkt odpowiedni dla tego projektu. Korzystanie z nich nie wiąże się z żadnymi opłatami ani dodatkowymi kosztami, jednak można znaleźć podobne przedmioty, które mogą je dość łatwo zastąpić.
ebay.us/svA4z4 | 1 x tablica wydajności
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x mini osłona USB
ebay.to/2QrHl1C | 1 x układ dźwiękowy SN76489;
ebay.us/aaaj8p | 1 x rejestr przesuwny 595
ebay.us/DSvTHO | 1 x oscylator kwarcowy 4 MHz
ebay.us/XQeM0Q | 1 x regulator napięcia 5V 7805
ebay.us/6R6Fpf |1 x radiator do regulatora napięcia
ebay.us/xkLbn4 | 3 kondensatory 10uF
ebay.us/pnm2BH | przewody
ebay.us/PMbUfY | 1 x czerwona dioda LED zasilania
ebay.us/zokHtc | Rezystor 1 x 220 omów, aby ograniczyć przepływ prądu LED;
ebay.us/qjbesJ | 1 x złącze zasilania do zasilacza 12v
ebay.us/cS0wwv |1 x włącznik/wyłącznik
odpowiednie pudełko (zbudowałem je ze starej szuflady, która przez lata leżała w moim magazynie)
Krok 1: Przygotowanie osłony hosta USB Mini do zasilania urządzenia 5 V Midi
Ponieważ osłona USB mini hosta działa na 3,3 V, a używane przeze mnie klawiatury USB midi wymagają 5 V, należy dostosować napięcie wyjściowe osłony, przecinając linię 3,3 V, która biegnie do wyjścia USB Vcc, więc możemy ją później podłączyć do 5V.
Istnieje wiele samouczków, jak to zrobić i okazało się, że jest to dość proste:
Wystarczy przeciąć linię między rezystorem 2k2 a linią Vcc (patrz załączony obrazek). Użyłem śrubokręta do zarysowania tej linii i sprawdziłem, czy działa z miernikiem ciągłości.
Krok 2: Podłącz mini osłonę USB do Arduino Nano
Na szczęście jest wiele informacji, jak to zrobić, więc googlując "Arduino Nano i mini USB host shield" wylądowałem w tym wątku
Opisałem, jak podłączyć nakładkę USB mini v2.0, a po jej wykonaniu poszedłem od razu, aby przetestować kilka przykładów midi USB.
Okablowanie:
Osłona hosta Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V ---------------1
3,3 V --------------9
GND-----------3
RST --------------4
W tym wątku było też wspomniane, że odcięli przewód 3,3V, żeby USB mogło dostać 5V z VBUS.
Ten opis i załączone zdjęcia pochodzą z tego wątku.
BTW, jest błąd na wydruku na tej płycie, więc było to trochę mylące, jednak możesz zobaczyć moje opinie na ten temat (tyrkelko) i skąd się tego nauczyłem.
Krok 3: Ktoś żetony? Dodanie SN76489 z 4MHz Osc. i 595 Rejestr zmian
Teraz nadszedł czas, aby dodać chip, który tworzy ten niesamowity dźwięk.
Opracowałem już bibliotekę do interfejsu arduino z tym układem i musiałem tylko postępować zgodnie z moimi instrukcjami.
Biblioteka jest wydana na githubie na licencji GPLv3 (moje pierwsze wydanie open source).
github.com/tyrkelko/sn76489
Połączenie 76489 i 595 było takie, jak na załączonym obrazie, który jest przechwycony z pliku biblioteki readme.txt
Write Enable on Low (NotWE) 76489 został połączony z pinem 3 nano i można go zmienić w kodzie.
#define PIN_NotWE 3
595 został podłączony do nano w następujący sposób i można go również dostosować, edytując numery pinów:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
Oscylator, którego użyłem, był oscylatorem kwarcowym 4 MHz z 4 nogami.
Został on skonfigurowany w kodzie w następujący sposób i można dostosować jego wartość do dowolnej częstotliwości oscylatora w zakresie od 500kHz do 4MHz:
#define CZĘSTOTLIWOŚĆ 4000000.0
Podłączenie oscylatora, którego użyłem, wyglądało następująco:
pin 1 - niepodłączony
pin 7 - masa
pin 8 - podłączony do 76489 pin 14 - osc zegara
Krok 4: Po prostu dodaj kod - dodawanie bibliotek, kompilowanie i przesyłanie kodu
Biblioteki używane w tym projekcie należy dodać do Arduino IDE w następujący sposób:
Otwórz Arduino IDE
Pobierz następujące biblioteki do folderu biblioteki swojego IDE (mam nadzieję, że wkrótce zobaczysz je w menu „Zarządzaj bibliotekami…” w menu „Narzędzia”) IDE:
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Użyj kodu z następującego projektu github:
github.com/tyrkelko/usb_midi_tone
Pobierz usb_midi_tone.ino, skompiluj i prześlij do Arduino nano.
Krok 5: Podłącz wzmacniacz i głośnik, podłącz klawiaturę USB Midi i przetestuj
Teraz czas przetestować, czy wszystko działa.
W tym celu potrzebujemy:
1. Wzmacniacz i głośnik
2. Klawiatura midi USB
Podłącz pin 7 SN76489, wyjście audio, do wejścia audio wzmacniacza.
Włącz wzmacniacz, a następnie włącz arduino nano. Powinieneś teraz słyszeć dźwięk testowy uruchamiania przez ułamek sekundy.
Podłącz klawiaturę USB midi i przetestuj.
Jeśli wszystko działa poprawnie, powinieneś być w stanie grać jednocześnie 3 tony, a także zagrać 8 rodzajów szumu, a nawet ćwierć tonu w skali 24 EDO.
Jeśli to nie zadziała, przejrzyj kolejne kroki, aby zobaczyć, co mogło pójść nie tak.
Jeśli uważasz, że wynika to z niejasnych instrukcji, wyślij mi notatkę, aby zaktualizować instrukcje, aby to naprawić.
Krok 6: Uzupełnij obwód za pomocą regulatora napięcia 5 V, złącza 12 V, włącznika/wyłącznika zasilania i diody LED zasilania
Na tym etapie powinieneś być w stanie zamknąć obwód po przetestowaniu, aby działał poprawnie.
1. Dodaj regulator mocy z LM7805 i dwoma kondensatorami 10uF i 0.1uF. Istnieje wiele samouczków na ten temat, możesz użyć następującej instrukcji, aby to osiągnąć -
2. Dodaj złącze zasilania 12 V z Vcc przechodzącym przez włącznik/wyłącznik
3. Dodaj diodę LED z rezystorem ograniczającym prąd, aby wskazać, kiedy zasilanie jest włączone.
Krok 7: Zamknij pudełko, pomaluj i ciesz się nowym syntezatorem
Gdy obwody zostaną przetestowane i będą działać zgodnie z twoimi upodobaniami, nie pozostało już wiele do zrobienia poza zbudowaniem ładnej obudowy, pomaluj ją niesamowitymi kolorami i zagraj trochę muzyki.
Mam nadzieję, że podobało Ci się czytanie tej instrukcji i że zainspirowało Cię to do zbudowania własnego syntezatora lub rozpoczęcia innego projektu, nad którym pracujesz.
Prosimy o komentarz poniżej w przypadku jakichkolwiek pytań, a jeśli zbudowałeś coś podobnego na podstawie tego samouczka, byłoby wspaniale, gdybyś podzielił się tym, co zrobiłeś w "Zrobiłem to!" obszarze lub w dziale opinii.
Zalecana:
Zbudujmy (syntezator analogowy): 5 kroków
Let's Build (Analogue Synth): W tej serii pokażę, jak zbudować podstawowy modułowy syntezator analogowy, używając zarówno komponentów analogowych, jak i cyfrowych. Link do schematu i komponentów: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Syntezator Arduino MIDI Chiptune: 7 kroków (ze zdjęciami)
Arduino MIDI Chiptune Synthesizer: Przeżyj zabawę z wczesnych gier komputerowych dzięki autentycznemu 8-bitowemu syntezatorowi chiptune, którym możesz sterować za pomocą MIDI z dowolnego nowoczesnego oprogramowania DAW. Ten prosty obwód wykorzystuje Arduino do sterowania AY-3- 8910 programowalny rodzaj dźwięku
Syntezator Arduino: 20 kroków (ze zdjęciami)
Syntezator Arduino: Arduino jest w stanie wyprowadzać dźwięk za pośrednictwem opracowanej biblioteki zwanej Biblioteką Tonów. Tworząc interfejs i program, który może wywoływać określone wartości, które mają być wyprowadzane na wyjście audio, Arduino Synthesizer jest solidnym narzędziem do
Syntezator muzyczny oparty na DE0-Nano-SoC: 5 kroków (ze zdjęciami)
Syntezator muzyczny Oparty na DE0-Nano-SoC: Syntezator muzycznyTen syntezator muzyczny jest dość prosty: wystarczy dmuchać, śpiewać, a nawet odtwarzać muzykę przed mikrofonem, a dźwięk będzie modulowany i przesyłany przez głośnik. Jego widmo pojawi się również na wyświetlaczu LCD
Syntezator Micro Midi: 5 kroków (ze zdjęciami)
Syntezator Micro Midi: Ta instrukcja demonstruje użycie układu VLSI VS1053b Audio i Midi DSP w trybie Midi w czasie rzeczywistym. W tym trybie działa jako 64-głosowy polifoniczny syntezator GM (General Midi) Midi. Samodzielna mikrokontrolka Arduino Uno steruje wyświetlaczem OLED