
Съдържание:
- Стъпка 1: Видео
- Стъпка 2: Части и материали
- Стъпка 3: Окабеляване - SAA1099
- Стъпка 4: Окабеляване - TTL осцилатор
- Стъпка 5: Окабеляване - интерфейс Iref и чип
- Стъпка 6: Окабеляване - Звукови компоненти
- Стъпка 7: Окабеляване - аудио жак
- Стъпка 8: Окабеляване - Захранване към Breadboard
- Стъпка 9: Окабеляване - линии за данни
- Стъпка 10: Допълнителни светодиоди
- Стъпка 11: Код
- Стъпка 12: Тествайте го
- Стъпка 13: Използване на вашите собствени MIDI файлове - програма за преобразуване
- Стъпка 14: Конвертиране на MIDI файлове
- Стъпка 15: Използване на вашия конвертиран MIDI файл
- Стъпка 16: Фин
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36



В тази инструкция ще ви покажа как да използвате Arduino Uno с чип за синтез на ретро звук, за да възпроизвеждате midi файлове в квадратна вълнообразна доброта!
Ако просто искате бърз преглед на това, което прави този проект, гледайте горното видео. В противен случай продължете!
Стъпка 1: Видео


Ако предпочитате всичките си инструкции в ясни, сбити видеоклипове, ние ви покриваме!
За останалите от нас можете да продължите, за малко повече подробности и писмени инструкции.
Стъпка 2: Части и материали
За това ще ви трябват следните неща:
(Връзките са за артикули от eBay)
- Ардуино (Uno, Nano, Leonardo, всички те трябва да работят)
- Поне среден размер макет
- Чипът SAA1099 Stereo Sound Generator
- Кабелни джъмпери за кабели (Алтернативно, обичам да използвам джъмпери dupont женски към женски, с 20 мм щифтове за заглавки, вмъкнати в двата края- много по-здрави)
- 8Mhz TTL осцилатор (връзка към AliExpress, предоставена от zweigelt)
- Стерео (или моно) аудио жак
- 2 x 1K резистора (партида от 100)
- 1 x 10K резистор (партида от 50)
- 2 x 100pF кондензатори
- (По избор) Някои светодиоди, поне 1 (Всеки цвят, ето 100 различни цвята за долар!)
Използвайки предоставените връзки, общата цена е 23,25 долара, включително доставката. Разбира се, повечето от тях идват от половината свят, така че доставката обикновено отнема около месец. Ако искате по -бърза доставка, вероятно ще трябва да платите малко повече.
Стъпка 3: Окабеляване - SAA1099


Ако схемите са вашето нещо, ето ви! Останалите можем или да преминем стъпка по стъпка, или да гледаме видеоклипа.
- Поставете SAA1099 в края на макета, като прорезът на чипа е обърнат към края.
- Сега, мощност. VDD (щифт 18) на SAA1099 се захранва, след това щифт VSS (щифт 9) към земята.
- След това поставете проводник между CS (щифт 2) и земя, за да го дърпате ниско
Бих препоръчал също да разгледате листа с данни, който съм приложил.
Стъпка 4: Окабеляване - TTL осцилатор


- Ще поставим TTL осцилатора върху чертежа до макета, така че изходният щифт на часовника да е най -близо до входа на часовника на SAA1099 (Пин 8)
- Можете да продължите и да свържете захранването и земята към TTL осцилатора. (Изчаках по -късно във видеото си, така че нямам снимка). Горната снимка показва кои щифтове са кои.
Стъпка 5: Окабеляване - интерфейс Iref и чип


- Свържете 10K резистора между Iref (пин 6) и 5V.
- Свържете цифров щифт 8 към WR (пин 1) на SAA1099.
- Свържете цифров щифт 9 към A0 (щифт 3) на SAA1099.
Стъпка 6: Окабеляване - Звукови компоненти



- Свържете 100pF кондензатор между OUTR (щифт 4) и GND
- Свържете 1K резистор между OUTR (щифт 4) и 5V
- Ще направим същото за OUTL (щифт 5)
- Свържете 100pF кондензатор между OUTL (щифт 5) и GND
- Свържете 1K резистор между OUTL (щифт 5) и 5V
Забележка! Уверете се, че нито един от проводниците от резисторите/кондензаторите не се допират, в противен случай нещата няма да работят и могат (условно) потенциално да се взривят в лицето ви.
Стъпка 7: Окабеляване - аудио жак



- Свържете малък джъмпер проводник между 5V и празен ред на платката.
- Поставете своя аудио жак, така че джъмпера от 5V да се свърже с щифта "Sleeve" на аудио жака
- Свържете L и R (или аудио щифт, ако имате моно жак) към изводите OUTL (щифт 5) и OUTR (щифт 4) съответно на SAA1099.
Забележка! На аудио жаковете Mono наистина няма значение какво става, стига един щифт да се свърже към 5V, а един към OUTL или OUTR. Ще звучи добре. Освен ако не стане, в този случай може да искате да проверите отново кабелите си.
Стъпка 8: Окабеляване - Захранване към Breadboard


- Свържете двете страни на шината за захранване Breadboard помежду си, като използвате джъмперни проводници.
- Свържете едната страна към щифтовете 5V и GND на Arduino, като се уверите, че не смесвате проводниците никъде. Ако го направите, вълшебният дим може да избяга.
Стъпка 9: Окабеляване - линии за данни

Свържете D0 до D7 на Arduino към D0 (щифт 10) през D7 (щифт 17) на SAA1099, по ред
Намирам, че джъмперните проводници DuPont женско-женско, с 15-20 мм щифтове за заглавки в двата края, работят много по-добре от проводниците мъже-мъже dupont. Освен това можете да ги използвате и като жена-жена или мъж-жена. И двете лесно се намират в eBay в големи количества, за малки количества промяна. Добър коледен подарък за амбициозния наркоман от Arduino!
Стъпка 10: Допълнителни светодиоди


Няма да разгледам стъпка по стъпка как да изградя всичко тук, но има няколко добри места за добавяне на светодиоди. Първо, свързах 3 мм червен светодиод между WR (пин 1) и GND, за да показвам всеки път, когато Arduino изпраща команда до SAA1099.
Преди това също съм свързвал светодиоди към линиите за данни, което ви позволява да видите действителните двоични данни на всеки ред. Използвах тази настройка във видеото си „Arduino и SAA1099 - Светулки“, както и още 6 светодиода и допълнителен код, за да светна всеки светодиод за всеки канал, който е активен.
Колкото повече светодиоди, толкова по -хладен изглежда!
Стъпка 11: Код


Сега, след като сте изградили веригата, проверете двойно връзките! Не искате да взривите скъпия си arduino и Soundchip! (Ако го направите, добре. Това не е моя работа)
Ако приемем, че сте здрави и сте проверили всичко, можем да започнем да го програмираме.
- Библиотеката е на адрес
- Вие ще искате файла SAATunes.zip, така че продължете и го изтеглете.
- Сега отворете Arduino IDE.
- Под „Скица“, „Включване на библиотека“кликнете върху „Добавяне на.zip библиотека“
- Придвижете се до мястото, където сте изтеглили библиотеката на SAATunes. (Не ме интересува дали това е вашият работен плот, файлове за изтегляне или (вмъкнете нещо смущаващо) папка- просто го намерете)
- Изберете го и кликнете върху „Отваряне“
- Той трябва да ви каже, че е добавен към вашите библиотеки.
Стъпка 12: Тествайте го


- Отворете примерната програма SAATunes, под „Файл“, „Примери“, „SAATunes“, „SAATunes-Uno“.
- Включете вашия Arduino в компютъра и в някакъв високоговорител.
- Качете програмата в Arduino.
Трябва да чуете акорд, а след това яростта на Бетовен над изгубена Пени. Ако Classical не е вашето нещо, не се страхувайте, защото скоро ще се научим как да използваме MIDI файлове по наш избор с него.
Ако не чувате нищо, проверете няколко неща: Първо, включен ли е говорителят ви? Завъртете го докрай нагоре. Тогава наистина ли е включен arduino? Качи ли програмата правилно? Проверете цялото окабеляване с декоративния лист и листа с данни, след което опитайте отново.
Стъпка 13: Използване на вашите собствени MIDI файлове - програма за преобразуване

Готови ли сте да опитате нещо различно от Бетовен? Много добре.
За да конвертираме MIDI файлове в C ++ Bytestreams, ще ни трябва програма от Len Shustek. Той е създателят на библиотеката, на която извадих кода си, а библиотеката ми използва същия формат на bytestream, който прави той.
- Можете да намерите програмата на
- Програмата, която искате, е "miditones.exe". Продължете и изтеглете това.
Стъпка 14: Конвертиране на MIDI файлове



Внимание! Тук ще има дракони ascii! Може да ви бъде по -лесно да гледате видеоклипа, където можете да видите точно за какво говоря. Ако смеете да влезете, продължете!
За да използвате програмата за преобразуване на MIDI към Bytestream, ще трябва да отворите прозорец на командния ред. За съжаление потребителите на Mac и Linux, може да се наложи да намерите решение.
- Отворете менюто "Старт" и въведете "CMD", след което натиснете enter.
- Сега ще научим малко MS-DOS магия. Използвайки командата "CD", отидете там, където сте изтеглили файла "miditones.exe". В повечето случаи командите ще бъдат „cd изтегляния“.
- Стартирайте програмата "miditones.exe", като напишете "miditones". Той трябва да ви покаже помощен списък, показващ най -често срещаните команди.
Сега се нуждаем от MIDI файл за конвертиране. Намерете такъв някъде в мрежата, за предпочитане без ударни инструменти или специални ефекти, освен инструменти/скорост. (Ако не знаете какви са това, не се притеснявайте, всичко ще се оправи)
- Изтеглете вашия MIDI файл на същото място, където имате програмата "miditones".
- Сега, използвайки прозореца на командния ред, въведете "miditones -d -v [име на файл]" (Заменете [име на файл] с каквото и да е името на вашия MIDI файл).
- miditones ще генерира. C файл с C ++ bytestream в същата папка, със същото име като MIDI файла.
Стъпка 15: Използване на вашия конвертиран MIDI файл



След като сте преобразували вашия MIDI файл, нека го подадем в малки байтове към arduino!
- Ако приемем, че вече имате отворен пример за SAATunes-Uno, нека да продължим и да „запишем като“нещо друго, за да можем да го редактираме.
- След като го запазите, щракнете върху малката икона „стрелка надолу“в горния десен ъгъл.
- Щракнете върху „нов раздел“и го наречете „[име].h“(Заменете [име] с името на вашата MIDI песен или каквото искате)
- Сега отворете. C файла, който miditones създаде по -рано. Можете да използвате бележника, за да го отворите.
- Използвайте CNTRL/A, за да изберете всичко, след което го копирайте.
- Поставете го в новия си раздел „[name].h“в редактора на arduino.
Тук всичко е наред, така че нека се върнем към програмата.
- Намерете мястото, където пише "#include" RagePenny.h "", и го копирайте/поставете на нов ред по -долу.
- Променете „RagePenny.h“на каквото и да наречете новия си файл.
- Сега коментирайте "#include" RagePenny.h "", като добавите две наклонени черти (//) пред него.
- Качете програмата!
Ако всичко е наред, трябва да се възпроизвежда ваш собствен MIDI файл. Ако не, проверете отново, за да се уверите, че имената на новия раздел и името, което променихте в "#include" RagePenny.h "", са еднакви. Проверете другите стъпки и се уверете, че сте направили всичко правилно. Някои MIDI файлове просто не работят, но те са редки.
Стъпка 16: Фин

Надяваме се, че всичко при вас е минало добре и вие се забърквате в MIDI файлове на древна технология, дадена нов живот!
Ако обаче не сте, не се отказвайте! Изпратете коментар по моя начин и ще се радвам да помогна. Разбира се, не се колебайте да ми давате предложения в коментарите.
Честит чиптон!
Препоръчано:
Преносима вътрешна светлина със 100W LED чип: 26 стъпки (със снимки)

Преносима вътрешна светлина със 100W LED чип: В този инструкционен / видео ще ви покажа как направих преносима вътрешна светлина със 100W LED чип, която се захранва с 19V 90W захранване от стар лаптоп. (37C стабилна @85W след 30 минути в стая с 20C)
Знание за аналогова схема - Направи си сам тикащ часовник Звуков ефект с верига без IC: 7 стъпки (със снимки)

Знание за аналогова верига - Направи си сам схеми за звукови ефекти на часовник без интегрална схема: Тази тикваща схема за звукови ефекти на часовника е изградена само с транзистори и резистори и кондензатори, които без никакъв компонент на IC. Идеално е да научите основните познания по веригата чрез тази практична и проста схема
Мръсотия евтин Dirt-O-Meter-$ 9 Arduino базиран звуков висотомер: 4 стъпки (със снимки)

Dirt-O-Meter Dirt-O-Meter-$ 9 Звуков висотомер на базата на Arduino: Dytters (A.K.A Audible Altimeters) спаси живота на парашутистите за толкова много години. Сега Audible Abby също ще им спести пари. Основните Dytters имат четири аларми, една по пътя нагоре и три по пътя надолу. При изкачването на самолета, парашутистите трябва да знаят кога
Звуков сигнал за теста на Arduino: 8 стъпки (със снимки)

Звуков сигнал за теста на Arduino: Здравей! Това е първият ми Instructable. Звуковите планове на Quiz стартираха, когато моят колега, който също е домакин на игрално шоу, поиска хора, които биха могли да създадат Quiz Buzzer. Поех този проект и с помощта на няколко приятели (Блейз и Ерол) и
Самостоятелен чип Arduino / ATMega на платката: 8 стъпки (със снимки)

Самостоятелен чип Arduino / ATMega на Breadboard: Ако сте като мен, след като взех моя Arduino и изпълних окончателно програмиране на първия си чип, исках да го изтегля от моя Arduino Duemilanove и да го сложа на собствената си верига. Това също би освободило моя Arduino за бъдещи проекти. Проблемът