Оглавление:
- Запасы
- Шаг 1. Подготовка экрана USB Mini Host Shield для работы с устройством Midi 5 В
- Шаг 2. Подключите USB Mini Shield к Arduino Nano
- Шаг 3. Кто-нибудь чипсы? Добавление SN76489 с 4 МГц Osc. и 595 сдвиговый регистр
- Шаг 4: Просто добавьте код - добавление библиотек, компиляция и загрузка кода
- Шаг 5. Подключите усилитель и динамик, подключите MIDI-клавиатуру USB и проверьте
- Шаг 6: Завершите схему с помощью регулятора напряжения 5 В, разъема 12 В, переключателя включения / выключения и светодиода питания
- Шаг 7. Поместите в коробку, раскрасьте и наслаждайтесь своим новым синтезатором
Видео: Создадим синтезатор MIDI SN76489 USB с Arduino Nano: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Вы когда-нибудь хотели создать свой собственный синтезатор на основе старых чип-мелодий 80-х? Слушать простые полифонические мелодии, которые звучат так же, как звучали эти старые видеоигры Sega Master System и Megadrive?
У меня есть, поэтому я заказал несколько чипов SN76489 с ebay и интерфейс хоста midi и попробовал. Что ж, для меня это была не прогулка по парку, но я наслаждался каждым моментом.
Сначала я научился напрямую взаимодействовать с SN76489 и немного шуметь с его помощью. В этом были некоторые запутанные элементы, но с помощью блога Oddbloke Geek и нескольких других примеров вместе с документом спецификации чипа я смог разработать простую библиотеку Arduino.
Затем мне нужно было научиться сопрягать MIDI-клавиатуру с мини-панелью USB-хоста. Это было не так сложно, поскольку есть документация и хорошие библиотеки с наглядными примерами.
Как только я понял, как управлять чипом и как взаимодействовать с моей USB-MIDI-клавиатурой, мне оставалось только написать код, который бы все это объединил и позволил мне использовать клавиатуру для управления чипом.
Попутно я узнал, что звуки с частотой ниже, чем те, которые я пытался сгенерировать для midi-нот 0x2f, звучат неправильно, поэтому я решил использовать это, чтобы разрешить отправку шума на генератор шума для любых midi-нот между 0x28 и 0x2f. а также позволяет воспроизводить ноты с восточно-арабским оттенком для всего, что ниже midi 0x28.
Оглядываясь назад, можно сказать, что это было очень весело и очень интересно строить.
Я надеюсь, что вы найдете его таким же увлекательным и интересным, как и я, и что если вы построите его самостоятельно, вы будете достаточно любезны, чтобы поделиться некоторыми его фотографиями.
Если вам понравился этот проект, проголосуйте за него ниже, чтобы помочь выиграть конкурс, в котором он участвует
Запасы
Я добавил ссылки на материалы, которые вы можете приобрести для этого проекта, однако вы можете найти много доступных предметов, которые можно очистить от старой электроники.
Эти ссылки являются партнерскими ссылками, поэтому, если вы совершите покупку после нажатия на них, я получу небольшую часть (не состояние), и вы получите продукт, подходящий для этого проекта. За их использование не взимается плата или дополнительная плата, однако вы можете найти любые аналогичные предметы, которые могут легко заменить их.
ebay.us/svA4z4 | 1 х доска производительности
ebay.us/ZyEFNp | 1 х ардуино нано
ebay.us/t1zy0v | 1 х USB мини-экран
ebay.to/2QrHl1C | 1 звуковой чип SN76489
ebay.us/aaaj8p | 1 х сдвиговый регистр 595
ebay.us/DSvTHO | 1 кварцевый генератор 4 МГц
ebay.us/XQeM0Q | 1 x регулятор напряжения 5В 7805
ebay.us/6R6Fpf | 1 радиатор для регулятора напряжения
ebay.us/xkLbn4 | 3 конденсатора по 10 мкФ
ebay.us/pnm2BH | провода
ebay.us/PMbUfY | 1 красный светодиод для питания
ebay.us/zokHtc | 1 резистор 220 Ом для ограничения тока светодиода
ebay.us/qjbesJ | 1 x разъем питания для блока питания 12 В
ebay.us/cS0wwv | 1 переключатель включения / выключения
подходящая коробка (я построил свой из старого ящика, который годами хранился на моем складе)
Шаг 1. Подготовка экрана USB Mini Host Shield для работы с устройством Midi 5 В
Поскольку экран мини-хоста USB работает с напряжением 3,3 В, а используемые мною MIDI-клавиатуры требуют 5 В, необходимо отрегулировать выходное напряжение экрана, отключив линию 3,3 В, которая идет к выходу USB Vcc, чтобы мы могли позже подключить его. до 5В.
Есть много руководств о том, как это сделать, и это оказалось довольно просто:
Просто перережьте линию между резистором 2k2 и линией Vcc (см. Прилагаемое изображение). Я использовал отвертку, чтобы поцарапать эту линию, и проверил, работает ли она с помощью измерителя непрерывности.
Шаг 2. Подключите USB Mini Shield к Arduino Nano
К счастью, есть много информации о том, как это сделать, поэтому, поискав в Google "Arduino Nano и mini USB host Shield", я попал в эту ветку
В нем было описано, как подключить экран USB mini v2.0, и после его выполнения я сразу же приступил к тестированию некоторых примеров USB midi.
Электропроводка:
Хост-щит Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5 В -------------- 1
3,3 В ------------ 9
GND ----------- 3
RST ------------ 4
В этой ветке также упоминалось, что они перерезали провод 3,3 В, чтобы USB мог получать 5 В от VBUS.
Это описание и прилагаемые изображения взяты из этой ветки.
Кстати, на этой доске есть ошибка, так что это немного сбивало с толку, однако вы можете увидеть мой отзыв об этом (tyrkelko) и откуда я этому научился.
Шаг 3. Кто-нибудь чипсы? Добавление SN76489 с 4 МГц Osc. и 595 сдвиговый регистр
Пришло время добавить чип, который издает этот потрясающий звук.
Я уже разработал библиотеку для взаимодействия Arduino с этим чипом, и мне оставалось только следовать моим инструкциям.
Библиотека выпущена на github под GPLv3 (мой первый релиз с открытым исходным кодом).
github.com/tyrkelko/sn76489
Соединение 76489 и 595 было таким, как на прилагаемом изображении, которое получено из файла библиотеки readme.txt.
Разрешение записи на низком уровне (NotWE) 76489 было подключено к контакту 3 nano и может быть изменено в коде.
#define PIN_NotWE 3
595 был подключен к nano следующим образом, и его также можно отрегулировать, отредактировав номера контактов:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
В качестве генератора я использовал кварцевый генератор с частотой 4 МГц с 4 ножками.
Он был настроен в коде следующим образом, и вы можете настроить его значение на любую частоту генератора от 500 кГц до 4 МГц:
#define FREQUENCY 4000000.0
Подключение генератора, которое я использовал, было следующим:
контакт 1 - не подключен
пин 7 - земля
контакт 8 - подключен к 76489 контакт 14 - часы osc
Шаг 4: Просто добавьте код - добавление библиотек, компиляция и загрузка кода
Библиотеки, используемые в этом проекте, необходимо добавить в IDE Arduino следующим образом:
Откройте IDE Arduino.
Загрузите следующие библиотеки в папку библиотек вашей среды 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. Подключите усилитель и динамик, подключите MIDI-клавиатуру USB и проверьте
Пришло время проверить, все работает.
Для этого нам понадобятся:
1. Усилитель и динамик
2. MIDI-клавиатура с интерфейсом USB.
Подключите SN76489 контакт 7, аудиовыход, к аудиовходу усилителя.
Включите усилитель, а затем включите arduino nano. Теперь вы должны услышать тестовый звук при включении на долю секунды.
Подключите MIDI-клавиатуру USB и проверьте.
Если все работает правильно, вы сможете играть 3 тона одновременно, а также воспроизводить 8 типов шума и даже какую-то четверть тона 24 EDO-Scale.
Если это не сработает, просмотрите шаги, чтобы увидеть, что могло пойти не так.
Если вы считаете, что это связано с нечеткими инструкциями, напишите мне, и я обновлю инструкции, чтобы исправить это.
Шаг 6: Завершите схему с помощью регулятора напряжения 5 В, разъема 12 В, переключателя включения / выключения и светодиода питания
На этом этапе вы сможете завершить схему после проверки, чтобы она работала правильно.
1. Добавьте стабилизатор мощности с LM7805 и двумя конденсаторами по 10 мкФ и 0,1 мкФ. Есть много руководств по этому поводу, вы можете использовать следующие инструкции для этого -
2. Добавьте разъем питания 12 В с Vcc, идущим через переключатель включения / выключения.
3. Добавьте светодиод с ограничивающим резистором тока, чтобы указать, когда питание включено.
Шаг 7. Поместите в коробку, раскрасьте и наслаждайтесь своим новым синтезатором
После того, как схема будет протестирована и заработает по своему вкусу, остается нечего делать, кроме как построить красивый корпус, раскрасить его в потрясающие цвета и включить музыку.
Надеюсь, вам понравилось читать это руководство, и что оно вдохновило вас на создание собственного синтезатора или начало другого проекта, над которым вы работаете.
Пожалуйста, прокомментируйте ниже любые вопросы, и если вы создали что-то подобное на основе этого урока, было бы здорово, если бы вы поделились тем, что вы сделали, в "Я сделал это!" области или в разделе обратной связи.
Рекомендуемые:
Синтезатор MIDI Chiptune Arduino: 7 шагов (с изображениями)
Arduino MIDI Chiptune Synthesizer: Оживите удовольствие от ранней компьютерной игровой музыки с помощью аутентичного 8-битного синтезатора Chiptune, которым вы можете управлять по MIDI, не выходя из любого современного программного обеспечения DAW. Эта простая схема использует Arduino для управления AY-3- 8910 программируемых звуковых генераторов
Синтезатор Arduino: 20 шагов (с изображениями)
Синтезатор Arduino: Arduino может выводить звук через библиотеку, которая была разработана под названием Tone Library. Создав интерфейс и программу, которая может вызывать определенные значения для вывода на аудиовыход, синтезатор Arduino является надежным инструментом для
Синтезатор / тон-генератор Arduino: 5 шагов
Arduino Synth / Tone Generator: это синтезатор / Tone Generator, который использует команду Tone, которая является родной для Arduino. Он имеет 12 отдельных клавиш, которые можно настроить для воспроизведения прямоугольной волны любой частоты. Он имеет возможность переходить на октаву вверх и вниз с помощью кнопки. Он также имеет
Музыкальный синтезатор на базе DE0-Nano-SoC: 5 шагов (с изображениями)
Музыкальный синтезатор на основе DE0-Nano-SoC: Музыкальный синтезатор Этот музыкальный синтезатор довольно прост: вам просто нужно дуть, петь или даже проигрывать музыку перед микрофоном, а звук будет модулироваться и передаваться через динамик. Его спектр также отобразится на ЖК-дисплее
Синтезатор Micro Midi: 5 шагов (с изображениями)
Синтезатор Micro Midi: это руководство демонстрирует использование микросхемы VLSI VS1053b Audio и Midi DSP в режиме Midi в реальном времени. В этом режиме он действует как 64-голосный полифонический MIDI-синтезатор GM (General Midi). Автономный микроконтроллер Arduino Uno управляет OLED-дисплеем