Оглавление:

Ретро-звуковой чип с Arduino - SAA1099: 16 шагов (с изображениями)
Ретро-звуковой чип с Arduino - SAA1099: 16 шагов (с изображениями)

Видео: Ретро-звуковой чип с Arduino - SAA1099: 16 шагов (с изображениями)

Видео: Ретро-звуковой чип с Arduino - SAA1099: 16 шагов (с изображениями)
Видео: TexElec: Всегда проверяйте свои фишки серого рынка, прежде чем разговаривать с серыми пришельцами 2024, Ноябрь
Anonim
Image
Image
Электропроводка - SAA1099
Электропроводка - SAA1099

В этом руководстве я покажу вам, как использовать Arduino Uno со старинным чипом синтеза звука, чтобы воспроизводить файлы midi в форме квадратной волны!

Если вам просто нужен краткий обзор того, чем занимается этот проект, посмотрите видео выше. В противном случае продолжайте!

Шаг 1. Видео

Image
Image

Если вы предпочитаете, чтобы все инструкции были представлены в виде четких и кратких видеороликов, у нас есть все необходимое!

Для остальных из нас вы можете продолжить, чтобы получить более подробную информацию и письменные инструкции.

Шаг 2: Детали и материалы

Для этого вам понадобятся следующие вещи:

(Ссылки предназначены для товаров на eBay)

  • Arduino (Uno, Nano, Leonardo, они все должны работать)
  • По крайней мере, макет среднего размера
  • Микросхема стереозвука SAA1099
  • Провода перемычки макетной платы (в качестве альтернативы, я предпочитаю использовать перемычки типа «мама» и «мама» с 20-миллиметровыми контактами, вставленными в любой конец - намного прочнее)
  • Осциллятор TTL 8 МГц (ссылка AliExpress предоставлена zweigelt)
  • Стерео (или моно) аудиоразъем
  • 2 резистора по 1 кОм (партия по 100 шт.)
  • 1 резистор 10 кОм (партия из 50 шт.)
  • 2 конденсатора по 100 пФ
  • (Необязательно) Некоторые светодиоды, по крайней мере 1 (Любой цвет, вот 100 разных цветов за доллар!)

Используя предоставленные ссылки, общая стоимость составляет 23,25 доллара США, включая доставку. Конечно, большая их часть прибывает из другого конца света, поэтому доставка обычно занимает около месяца. Если вы хотите более быструю доставку, вам, вероятно, придется заплатить немного больше.

Шаг 3: Подключение - SAA1099

Электропроводка - SAA1099
Электропроводка - SAA1099
Электропроводка - SAA1099
Электропроводка - SAA1099

Если вам нравятся схемы, то готово! Остальные могут либо пройти пошагово, либо посмотреть видео.

  • Поместите SAA1099 в конец макета так, чтобы выемка на микросхеме была обращена к концу.
  • Теперь власть. VDD (вывод 18) на SAA1099 подключается к питанию, затем вывод VSS (вывод 9) на землю.
  • Затем поместите провод между CS (контакт 2) и землей, чтобы он не натягивался.

Я также рекомендую взглянуть на таблицу, которую я приложил.

Шаг 4: Подключение - TTL-осциллятор

Электропроводка - генератор TTL
Электропроводка - генератор TTL
Электропроводка - генератор TTL
Электропроводка - генератор TTL
  • Мы поместим TTL-осциллятор на макетную плату рядом с макетной платой так, чтобы выходной контакт синхронизации был ближе всего к входу синхронизации на SAA1099 (контакт 8).
  • Вы можете пойти дальше и подключить питание и землю к генератору TTL. (Я ждал позже в своем видео, поэтому у меня нет изображения). На картинке выше показано, какие контакты какие.

Шаг 5: Подключение - Iref и интерфейс чипа

Подключение - Iref и интерфейс чипа
Подключение - Iref и интерфейс чипа
Подключение - Iref и интерфейс чипа
Подключение - Iref и интерфейс чипа
  • Подключите резистор 10 кОм между Iref (вывод 6) и 5 В.
  • Подключите цифровой контакт 8 к WR (контакт 1) на SAA1099.
  • Подключите цифровой контакт 9 к A0 (контакт 3) на SAA1099.

Шаг 6: Электромонтаж - Звуковые компоненты

Электропроводка - Звуковые компоненты
Электропроводка - Звуковые компоненты
Электропроводка - Звуковые компоненты
Электропроводка - Звуковые компоненты
Электропроводка - Звуковые компоненты
Электропроводка - Звуковые компоненты
  • Подключите конденсатор 100 пФ между OUTR (контакт 4) и GND.
  • Подключите резистор 1 кОм между OUTR (контакт 4) и 5 В.
  • Проделаем то же самое для OUTL (вывод 5).
  • Подключите конденсатор 100 пФ между OUTL (контакт 5) и GND.
  • Подключите резистор 1 кОм между OUTL (контакт 5) и 5 В.

Примечание! Убедитесь, что ни один из проводов от резисторов / конденсаторов не соприкасается, иначе ничего не будет работать и может (ориентировочно) потенциально взорваться вам в лицо.

Шаг 7: Подключение - Аудиоразъем

Электропроводка - Аудиоразъем
Электропроводка - Аудиоразъем
Электропроводка - Аудиоразъем
Электропроводка - Аудиоразъем
Электропроводка - Аудиоразъем
Электропроводка - Аудиоразъем
  • Подключите небольшую перемычку между 5 В и пустым рядом на макетной плате.
  • Поместите аудиоразъем так, чтобы перемычка от 5 В подключилась к контакту «Рукав» на аудиоразъеме.
  • Подключите L и R (или аудиоконтакт, если у вас есть монофонический разъем) к контактам OUTL (контакт 5) и OUTR (контакт 4) на SAA1099 соответственно.

Примечание! На монофонических аудиоразъемах действительно не имеет значения, что идет, если один вывод подключается к 5 В, а другой к OUTL или OUTR. Звучит нормально. Если это не так, в этом случае вы можете снова проверить свою проводку.

Шаг 8: Подключение - питание макетной платы

Электропроводка - питание макетной платы
Электропроводка - питание макетной платы
Электропроводка - питание макетной платы
Электропроводка - питание макетной платы
  • Соедините обе стороны шины питания макетной платы друг с другом с помощью перемычек.
  • Подключите одну сторону к контактам 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 - Fireflies», а также еще 6 светодиодов и дополнительный код для включения каждого светодиода для каждого активного канала.

Чем больше светодиодов, тем круче выглядит!

Шаг 11: Код

Код!
Код!
Код!
Код!

Теперь, когда вы построили схему, дважды проверьте соединения! Вы же не хотите взорвать свой дорогой Arduino и Soundchip! (Если да, хорошо. Это не мое дело)

Предполагая, что вы вменяемы и все проверили, мы можем начать программировать.

  • Библиотека находится по адресу
  • Вам понадобится файл SAATunes.zip, так что скачайте его.
  • Теперь откройте IDE Arduino.
  • В разделе «Скетч», «Включить библиотеку» нажмите «Добавить библиотеку.zip».
  • Перейдите туда, где вы скачали библиотеку SAATunes. (Меня не волнует, был ли это ваш рабочий стол, загрузки или (вставьте что-нибудь смущающее) папка - просто найдите это)
  • Выберите его и нажмите «Открыть».
  • Он должен сказать вам, что он был добавлен в ваши библиотеки.

Шаг 12: Проверьте это

Попробуй это!
Попробуй это!
Попробуй это!
Попробуй это!
  • Откройте пример программы SAATunes в разделах «Файл», «Примеры», «SAATunes», «SAATunes-Uno».
  • Подключите Arduino к компьютеру и к какому-нибудь динамику.
  • Загрузите программу в Arduino.

Вы должны услышать аккорд, а затем - ярость Бетховена над пропавшей пенни. Если вам не нравится классическая музыка, не бойтесь, потому что мы скоро научимся использовать с ней MIDI-файлы по нашему выбору.

Если вы ничего не слышите, проверьте несколько вещей. Во-первых, ваш динамик включен? Поверните его полностью вверх. Тогда действительно ли Arduino включен? Программа загрузилась правильно? Проверьте всю проводку со схемой и таблицей данных, затем попробуйте еще раз.

Шаг 13: Использование ваших собственных файлов MIDI - Программа преобразования

Использование ваших собственных MIDI-файлов - Программа преобразования
Использование ваших собственных MIDI-файлов - Программа преобразования

Готовы попробовать что-то другое, кроме Бетховена? Хорошо, пожалуйста.

Чтобы конвертировать MIDI-файлы в C ++ Bytestreams, нам понадобится программа Лена Шустека. Он создатель библиотеки, на которой я основал свой код, и моя библиотека использует тот же формат байтового потока, что и он.

  • Вы можете найти программу на
  • Вам нужна программа miditones.exe. Скачайте это.

Шаг 14: преобразование файлов MIDI

Преобразование файлов MIDI
Преобразование файлов MIDI
Преобразование файлов MIDI
Преобразование файлов MIDI
Преобразование файлов MIDI
Преобразование файлов MIDI

Предупреждение! Вот драконы ascii! Возможно, вам будет проще посмотреть видео, где вы сможете понять, о чем я говорю. Если осмелишься войти, продолжай!

Чтобы использовать программу преобразования MIDI в Bytestream, вам необходимо открыть окно командной строки. Извините, пользователи Mac и Linux, возможно, вам придется найти обходной путь.

  • Откройте меню «Пуск» и введите «CMD», затем нажмите «Ввод».
  • Сейчас мы немного научимся магии MS-DOS. Используя команду «CD», перейдите туда, куда вы скачали файл «miditones.exe». В большинстве случаев командами будут «загрузки компакт-диска».
  • Запустите программу miditones.exe, набрав miditones. Он должен показать вам список справки, показывающий наиболее распространенные команды.

Теперь нам нужен файл MIDI для преобразования. Найдите его где-нибудь в сети, желательно без перкуссии или каких-либо специальных эффектов, кроме инструментов / скорости. (Если вы не знаете, что это такое, не волнуйтесь, все будет в порядке)

  • Загрузите ваш MIDI-файл туда же, где установлена программа "miditones".
  • Теперь, используя окно командной строки, введите «miditones -d -v [имя_файла]» (замените [имя_файла] любым именем вашего MIDI-файла).
  • miditones сгенерирует файл. C с потоком байтов C ++ в той же папке с тем же именем, что и файл MIDI.

Шаг 15: Использование преобразованного файла MIDI

Использование преобразованного файла MIDI
Использование преобразованного файла MIDI
Использование преобразованного файла MIDI
Использование преобразованного файла MIDI
Использование преобразованного файла MIDI
Использование преобразованного файла MIDI

Теперь, когда вы преобразовали свой MIDI-файл, давайте его небольшими байтами передадим в Arduino!

  • Предполагая, что у вас уже открыт пример SAATunes-Uno, давайте продолжим и «сохраним как» что-то еще, чтобы мы могли его отредактировать.
  • После того, как вы его сохранили, щелкните маленький значок со стрелкой вниз в правом верхнем углу.
  • Нажмите «Новая вкладка» и назовите ее «[имя].h» (замените [имя] названием своей MIDI-песни или как хотите)
  • Теперь откройте файл. C, созданный ранее мидитонами. Вы можете использовать блокнот, чтобы открыть его.
  • Используйте CNTRL / A, чтобы выбрать все, а затем скопируйте это.
  • Вставьте его в новую вкладку «[name].h» в редакторе arduino.

Здесь все хорошо, так что вернемся к программе.

  • Найдите, где написано "#include" RagePenny.h "", и скопируйте / вставьте его в новую строку ниже.
  • Измените "RagePenny.h" на то, что вы назвали для своего нового файла.
  • Теперь закомментируйте "#include" RagePenny.h "", добавив перед ним две косые черты (//).
  • Загрузите программу!

Если все прошло хорошо, он должен проигрывать ваш собственный MIDI-файл. Если нет, проверьте еще раз, чтобы убедиться, что имена новой вкладки и имя, которое вы изменили в "#include" RagePenny.h "", совпадают. Проверьте остальные шаги и убедитесь, что вы все сделали правильно. Некоторые файлы MIDI просто не работают, но такие случаются редко.

Шаг 16: Fin

Плавник!
Плавник!

Надеюсь, у вас все прошло хорошо, и вы загружаете MIDI-файлы с помощью древней технологии, получившей новую жизнь!

Однако, если это не так, не сдавайтесь! Отправьте комментарий в мою сторону, и я буду рад помочь. Конечно, не стесняйтесь давать мне предложения в комментариях.

Счастливых чиптюнов!

Рекомендуемые: