МидиНастроение
Подробное руководство см. на странице:
- Создание музыки с помощью Arduino: https://go.musicenerd.com/making-music-with-arduino
- Курс музыки Fazendo с Arduino в Португалии: https://go.musicenerd.com/curso-completo
- Видео процесса сборки: https://youtu.be/aLhOO-UiMg4
Этот репозиторий содержит код для проекта пользовательского MIDI-контроллера под названием MidiMood, созданного с использованием микроконтроллера ATmega32U4 (или аналогичного). Проект предназначен для управления потенциометрами, кнопками и другими элементами управления для отправки MIDI-сообщений через USB, BLE или стандартные протоколы MIDI.
Оглавление
- Обзор
- Функции
- Описание файлов
- Инструкции по настройке
- Зависимости
- Использование
- Лицензия
Обзор
MidiMood — это комплексная реализация MIDI-контроллера, поддерживающая различные методы ввода (кнопки, потенциометры, энкодеры) и методы вывода (USB MIDI, BLE MIDI). Контроллер имеет широкие возможности настройки и поддерживает несколько платформ микроконтроллеров, включая ATmega32U4, ATmega328 и Teensy.
Функции
- Поддержка USB MIDI : Отправка и получение MIDI-сообщений через USB.
- Поддержка BLE MIDI : используйте Bluetooth Low Energy (BLE) для беспроводной связи MIDI.
- Обработка потенциометра и кнопок : захватывайте входные данные от потенциометров и кнопок и преобразуйте их в MIDI-сообщения.
- Поддержка мультиплексора : увеличьте количество входов с помощью мультиплексоров.
- Поддержка отладки : сообщения отладки можно включить через последовательную связь.
- Мультиплатформенность : поддерживает микроконтроллеры ATmega32U4, ATmega328 и Teensy.
Описание файлов
- _MidiMood.ino : основной скетч Arduino, который инициализирует MIDI-контроллер и запускает основной цикл.
- A_POTENTIOMETERS.ino : Содержит логику для чтения значений потенциометра и преобразования их в сообщения MIDI Control Change.
- B_BUTTONS.ino : обрабатывает входные сигналы кнопок, преобразуя их в сообщения MIDI Note On/Off или Control Change.
- FUNCTIONS.ino : вспомогательные функции, используемые в проекте, включая обработку MIDI-сообщений и другие служебные функции.
- LOOP.ino : основной цикл, в котором программа проверяет входные данные и отправляет MIDI-сообщения.
- MACKIE.h : определяет константы для протокола Mackie Control Universal (MCU), используемого для управления DAW.
- Z_ATMEGA32U4.ino : код настройки конкретного микроконтроллера для плат на базе ATmega32U4.
- Z_SETUP.ino : код общей настройки, инициализация контактов и настройка режимов ввода/вывода.
Материал
- Ардуино Про Микро: https://amzn.to/2Vcz3Nz
- Провода: https://amzn.to/2xugvPF
- Неизолированный медный провод (опционально) калибра 18–24: https://amzn.to/2FVuDpe
- 26 Поворотный потенциометр b10k: https://amzn.to/3ckRKUY
- 26 ручек
- Проставки М3 35мм: https://amzn.to/2z15BkN
- Винты М3: https://amzn.to/2RHtfJw
- Мультиплексор CD4067: https://amzn.to/303jJVe
- 11 Тумблер: https://amzn.to/3hDmORR
- 1 светодиод
- 1 светодиодная поддержка
- 1 резистор 1 кОм
Инструкции по настройке
1. Клонировать репозиторий
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Установите Arduino IDE.
Убедитесь, что на вашем компьютере установлена Arduino IDE. Скачать его можно с официального сайта.
3. Откройте проект
Откройте файл _MidiMood.ino
в Arduino IDE. Этот файл служит точкой входа в проект.
4. Выберите свою доску
В Arduino IDE выберите подходящую плату на основе вашего микроконтроллера:
- Для плат ATmega32U4 (например, Arduino Leonardo) выберите Arduino Leonardo .
- Для плат ATmega328 (например, Arduino Uno) выберите Arduino Uno .
- Для досок Teensy выберите правильную модель Teensy.
5. Загрузите код
Подключите микроконтроллер к компьютеру через USB и загрузите код с помощью кнопки «Загрузить» в Arduino IDE.
Зависимости
- ResponsiveAnalogRead : библиотека для сглаживания аналоговых показаний потенциометров.
- MIDI-библиотека : для управления MIDI-коммуникацией через USB и последовательный порт.
- BLE MIDI : для связи Bluetooth MIDI (при использовании BLE).
Вы можете установить эти библиотеки с помощью диспетчера библиотек Arduino.
Использование
После загрузки кода ваш MIDI-контроллер будет распознан вашим компьютером или мобильным устройством как MIDI-устройство. Вы можете начать использовать его для отправки MIDI-сообщений в вашу DAW или другое MIDI-совместимое программное обеспечение.
Отладка
Если вы хотите видеть сообщения отладки, включите в коде флаг DEBUG
. Это позволит вам отслеживать MIDI-сообщения и другие детали через последовательный монитор в Arduino IDE.