Съдържание:

Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano: 7 стъпки
Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano: 7 стъпки

Видео: Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano: 7 стъпки

Видео: Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano: 7 стъпки
Видео: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Ноември
Anonim
Image
Image
Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano
Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano
Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano
Нека изградим SN76489 USB MIDI синтезатор с Arduino Nano

Искали ли сте някога да създадете свой собствен синтезатор, базиран на стари чип мелодии от 80-те? Пускате прости полифонични мелодии, които звучат точно като тези стари видео игри Sega Master System и Megadrive?

Имам, затова поръчах няколко чипа SN76489 от ebay и midi хост интерфейс и го опитах. Е, за мен това не беше разходка в парка, но се наслаждавах на всеки момент.

Първо научих как директно да свързвам SN76489 и да вдигам шум с него. В това имаше някои объркващи елементи, но с помощта на The Oddbloke Geek Blog и няколко други примера, заедно с документа за спецификация на чипа, успях да разработя проста библиотека arduino.

След това трябваше да се науча как да свързвам midi клавиатура с USB мини хост щит. Това не беше толкова трудно, тъй като има налична документация и съществуват добри библиотеки с ясни примери.

След като разбрах как да контролирам чипа и как да свържа USB midi клавиатурата си, единственото нещо, което трябваше да направя, беше да напиша някакъв код, който да увие всичко това заедно и да ми позволи да използвам клавиатурата за управление на чипа.

По пътя научих, че звуците с по -ниска честота от тези, които се опитах да генерирам за 0x2f midi ноти, не звучат правилно, затова реших да използвам това, за да позволя изпращането на шум към генератора на шум за всякакви midi ноти между 0x28 и 0x2f и също така позволяват ноти за възпроизвеждане с ориенталски арабски допир до всичко по -ниско от midi 0x28.

Поглеждайки назад, беше много забавно и много интересно да се изгради.

Надявам се, че ще ви се стори толкова забавно и интересно, както направих аз, и че ако сами изградите такъв, ще бъдете достатъчно любезни да споделите някои негови снимки.

Ако този проект ви е харесал, моля, гласувайте за него по -долу, за да спечелите конкурса, в който участва

Консумативи

Добавих връзки към материали, които можете да закупите за този проект, но можете да намерите много налични елементи, които можете да изстържете от стара електроника.

Тези връзки са партньорски връзки, така че ако купувате, след като щракнете върху тях, получавам малка част (не богатство) и получавате продукт, който е подходящ за този проект. При използването им няма такса или допълнителни разходи, но можете да намерите подобни артикули, които могат да ги заменят доста лесно.

ebay.us/svA4z4 | 1 х платка за изпълнение

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 х USB мини щит

ebay.to/2QrHl1C | 1 x звуков чип SN76489

ebay.us/aaaj8p | 1 x регистър на смяна 595

ebay.us/DSvTHO | 1 х кристален осцилатор на 4MHz

ebay.us/XQeM0Q | 1 x 5V регулатор на напрежение 7805

ebay.us/6R6Fpf | 1 х радиатор за регулатора на напрежението

ebay.us/xkLbn4 | 3 x 10uF кондензатори

ebay.us/pnm2BH | проводници

ebay.us/PMbUfY | 1 x червен светодиод за захранване

ebay.us/zokHtc | 1 x 220 ома резистор за ограничаване на потока на светодиода

ebay.us/qjbesJ | 1 x конектор за захранване за 12v захранване

ebay.us/cS0wwv | 1 x превключвател за включване/изключване

подходяща кутия (моята я построих от старо чекмедже, което лежеше в моето хранилище години наред)

Стъпка 1: Подготовка на USB Mini Host Shield за управление на 5V Midi устройство

Подготовка на USB Mini Host Shield за управление на 5V Midi устройство
Подготовка на USB Mini Host Shield за управление на 5V Midi устройство

Тъй като USB мини хост щитът работи на 3.3V, а USB midi клавиатурите, които използвам, изискват 5V, е необходимо да се регулира изходното напрежение на щита, като се прекъсне 3.3V линията, която отива към USB изхода Vcc, така че по -късно можем да го свържем към 5V.

Има много уроци за това как да направите това и се оказа доста просто:

Просто отрежете линията между 2k2 резистора и Vcc линията (вижте приложеното изображение). Използвах отвертка, за да надраскам тази линия и тествах дали работи с измервател на непрекъснатост.

Стъпка 2: Свържете USB Mini щита с вашия Arduino Nano

Свържете USB мини щита с вашия Arduino Nano
Свържете USB мини щита с вашия Arduino Nano
Свържете USB мини щита с вашия Arduino Nano
Свържете USB мини щита с вашия Arduino Nano

За щастие, има много информация за това как да направите това, така че, като потърсим в „Arduino Nano и мини USB хост щит“, попаднах на тази нишка

В него се описва как да се свърже USB mini v2.0 щита и след като го последвах, направо отидох да тествам някои примери за USB midi.

Електрически инсталации:

Щит за домакин на Arduino

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 регистър

Чипове Някой? Добавяне на SN76489 с 4MHz Osc. и 595 Shift регистър
Чипове Някой? Добавяне на SN76489 с 4MHz Osc. и 595 Shift регистър

Сега беше време да добавим чипа, който издава този невероятен звук.

Вече разработих библиотека за интерфейс на arduino с този чип и трябваше само да следвам инструкциите ми.

Библиотеката е пусната в github под GPLv3 (първата ми версия с отворен код).

github.com/tyrkelko/sn76489

Връзката на 76489 и 595 беше както в приложеното изображение, което е заснето от файла readme.txt на библиотеката

Записването на ниско ниво (NotWE) на 76489 е свързано с пин 3 на нано и може да се променя в кода.

#дефинирайте PIN_NotWE 3

595 е свързан към nano по следния начин и може също да се регулира чрез редактиране на номерата на пиновете:

#дефинирайте PIN_SER 7

#дефинирайте PIN_LATCH 6

#дефинирайте PIN_CLK 5

Осцилаторът, който използвах, беше 4MHz кристален осцилатор с 4 крака.

Той е конфигуриран в кода, както следва и можете да регулирате стойността му към всяка честота на осцилатора между 500kHz и 4MHz:

#дефинирайте ЧЕСТОТА 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. USB midi клавиатура

Свържете SN76489 щифт 7, аудио изход към аудио входа на усилвателя.

Включете усилвателя и след това включете arduino nano. Сега би трябвало да чуете тестовия звук при включване за част от секундата.

Свържете USB midi клавиатурата и тествайте.

Ако всичко работи правилно, трябва да можете да възпроизвеждате 3 тона едновременно, а също така да възпроизвеждате 8 вида шум и дори някакъв четвърт тон от 24 EDO-Scale.

Ако не работи, преминете през стъпките, за да видите какво може да се е объркало.

Ако смятате, че това е резултат от неясни инструкции, моля, изпратете ми бележка, за да актуализирам инструкциите, за да го поправя.

Стъпка 6: Завършете веригата с 5V регулатор на напрежението, 12V конектор, превключвател за включване/изключване на захранването и светодиод за захранване

В тази стъпка трябва да можете да завършите веригата, след като я тествате, за да работи правилно.

1. Добавете регулатор на мощността с LM7805 и два 10uF кондензатора и 0.1uF. Има много уроци по това, можете да използвате следните инструкции, за да постигнете това-https://www.instructables.com/id/7805-Regulator-5V…

2. Добавете 12V захранващ конектор с Vcc през превключвател за включване/изключване

3. Добавете светодиод с резистор за ограничаване на тока, за да покажете кога захранването е включено.

Стъпка 7: Затворете в кутия, боядисвайте и се насладете на новия си синтезатор

След като веригата бъде тествана и работи по ваш вкус, не остава много да се направи, освен за изграждане на хубав корпус, боядисайте я със страхотни цветове и пуснете музика.

Надявам се да ви хареса да прочетете тази инструкция и че тя ви вдъхнови да създадете свой собствен синтезатор или да започнете с друг проект, върху който работите.

Моля, коментирайте по -долу с всякакви въпроси и ако сте изградили нещо подобно въз основа на този урок, би било чудесно, ако споделите това, което сте направили в „Аз направих това!“област или в раздела за обратна връзка.

Препоръчано: