Оглавление:
- Шаг 1: библиотеки Arduino
- Шаг 2: прикрепите провода к клавишам пианино
- Шаг 3: Установите программное обеспечение: Вариант A: Arduino и Hairless MIDI на последовательный мост
- Шаг 4: Установите программное обеспечение: Вариант B: Arduino и Python
- Шаг 5: Установите программное обеспечение: Вариант C: STM32F103C и программное обеспечение для синтезатора MIDI
- Шаг 6: Играйте
Видео: Quick Fruit Piano с MIDI: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Это действительно простое пианино с емкостным сенсорным управлением. Постучите по фруктам, банкам с газировкой, бутылкам с водой, полоскам алюминиевой фольги и т. Д., И вы получите полифоническую фортепианную музыку со своего компьютера. Теперь, когда программное обеспечение написано, проект не должен занимать более 10 минут, чтобы собрать версию для Arduino.
Тебе нужно:
- Arduino (Mega для 8 ключей, Uno для 6 ключей) или плата STM32F103C8 с черной таблеткой (2 доллара на Aliexpress) плюс преобразователь UART-USB (например, Arduino или CH340)
- USB-кабель
- немного алюминиевой фольги
- тестовые зажимы в идеале, но перемычки и скрепки подойдут (идея отсюда)
- фрукты или пластилин, или кусочки бумаги с участками, окрашенными карандашом
- компьютер.
Никаких дополнительных компонентов не требуется, поскольку здесь используется код из великолепной библиотеки ADCTouch от martin2250, а Arduino отправляет MIDI-команды на компьютер через последовательный порт. Воспроизведение звука Arduino осуществляется либо с помощью встроенного скрипта python на компьютере, либо безволосого мидисериала.
Если вы используете отладочную плату STM32F103C8, то это еще лучше: пианино становится настоящим USB-MIDI-контроллером, без необходимости в безволосом-мидисериале.
Примечание. Чтобы предотвратить повреждение Arduino / STM32F1 статическим электричеством, особенно в сухой день или на ковре, я предлагаю не прикасаться к алюминиевой фольге или тестовым зажимам во время работы устройства. Вместо этого прикоснитесь к фруктам, пластилину и т. Д., Сопротивление которых должно обеспечить некоторую защиту от электростатического разряда
Шаг 1: библиотеки Arduino
В среде Arduino IDE выберите Sketch | Включить библиотеку | Менеджер библиотеки. Найдите мой ADCTouchSensor. Установите библиотеку.
Затем выберите Файл | Примеры | ADCTouchSensor | Емкостное пианино.
Если у вас есть Arduino, подключите Arduino к USB-порту компьютера и загрузите эскиз CapacitivePiano на Uno или Mega. Скетч отправит данные на компьютер через последовательный порт USB о том, какой из 8 (Mega) или 6 (Uno) емкостных датчиков сработал.
Если у вас есть STM32F103C8, сначала установите загрузчик и настройте для него Arduino IDE (с моей веткой ветки addMidiHID), выполнив первые три шага здесь. Затем вернитесь в диспетчер библиотек и найдите мою библиотеку USBHID_stm32f1. Установите его.
Шаг 2: прикрепите провода к клавишам пианино
Проложите провода от контактов A0-A7 (A0-A5 на Uno) на вашем Arduino или STM32F103C8 к тому, что вы хотите использовать в качестве клавиш фортепиано. Например, я использовал перемычки с зажимами из крокодиловой кожи или тестовые зажимы, соединяющие кусочки алюминиевой фольги, на каждый из которых я кладу банку содовой или апельсин в качестве ключа. Алюминиевая фольга может использоваться напрямую как ключ. Или можно воткнуть проволоку в фрукт, овощ или пластилин.
Шаг 3: Установите программное обеспечение: Вариант A: Arduino и Hairless MIDI на последовательный мост
Вы можете загрузить и установить Hairless MIDI to Serial Bridge (Win / OSX / Linux), чтобы связать последовательный USB-выход Arduino с программным обеспечением синтезатора вашего компьютера.
Если у вас Windows 7 или новее, вы можете использовать встроенный Microsoft Wavetable GS Synth, поэтому все, что вам нужно для установки, - это Hairless. Для некоторых других программ воспроизведения потребуется loopMIDI.
В других системах вам может понадобиться синтезатор MIDI, такой как VirtualMidiSynth или Garageband. Вы также можете использовать VirtualMidiSynth в Windows, если хотите.
Шаг 4: Установите программное обеспечение: Вариант B: Arduino и Python
Вы также можете просто использовать простой встроенный скрипт Python, который воспроизводит MIDI-ноты.
Убедитесь, что на вашем компьютере установлен Python. Подойдет либо 2.7, либо 3.x.
Убедитесь, что у вас установлен пакет Python pygame. Если нет, запустите это из командной строки:
python -m pip установить pygame
Узнайте, какой адрес последовательного порта вашего Arduino. В вашей Arduino IDE будут последовательные порты, перечисленные в Инструменты | Порт.
В пакете CapacitivePiano, который вы скачали, вы найдете скрипт music.py, который является частью проекта на ПК.
Шаг 5: Установите программное обеспечение: Вариант C: STM32F103C и программное обеспечение для синтезатора MIDI
Если у вас есть STM32F103C, вы можете использовать любое программное обеспечение, которое работает с контроллером MIDI-клавиатуры.
На компьютере я использую виртуальную MIDI-клавиатуру для фортепиано (VMPK). Подключив STM32F103C, выберите Edit | MIDI-соединения | Введите MIDI-соединение, а затем выберите Maple MIDI или Diro Synth.
На устройстве Android я успешно использовал (с кабелем USB OTG) Common Analog Synthesizer и Synth DX7 Piano.
Шаг 6: Играйте
Подключите Arduino с эскизом CapacitivePiano к компьютеру. Не прикасайтесь ни к одной из «кнопок», пока не загорится только светодиодный индикатор питания, чтобы можно было откалибровать емкостные кнопки.
Для варианта без волос запустите мост MIDI без волос, выберите последовательный порт из раскрывающегося списка. Затем выберите синтезатор. В Windows, если вы выберете Microsoft Wavetable GS Synth, все должно работать.
Если вместо этого вы хотите использовать скрипт Python, убедитесь, что вы находитесь в каталоге, где у вас есть piano.py, и запустите:
python piano.py последовательный порт
где serialport - это последовательный порт из Arduino IDE (например, COMx в Windows).
Если вы используете STM32F103C8, то используйте свое любимое программное обеспечение для синтезатора MIDI на компьютере или мобильном устройстве.
Теперь нажимайте свои «кнопки» и получайте удовольствие!
Образовательные идеи для детей, с которыми можно экспериментировать:
- Поэкспериментируйте с разными предметами на алюминиевой фольге и посмотрите, какие из них работают, а какие нет, а затем поговорите о том, почему они работают, а другие - нет.
- Пластилин работает очень хорошо (и тогда вам даже не понадобится фольга и зажимы - вы можете просто воткнуть провода в пластилин, хотя, по общему признанию, это выглядит как бомба!).
- Вы даже можете взять лист бумаги и заштриховать участки карандашом (он не должен быть очень темным, но штриховка - это хорошо) и закрепить их.
- Вы можете прикрепить зажим из крокодиловой кожи к действительно большому металлическому предмету, например, к краю доски, и сделать гигантские ключи.
- В качестве эксперимента попросите меньшего человека держать зажим из крокодиловой кожи, прикрепленный к одному из проводов, а затем попросите более крупного человека пожать руку или дать пять меньшему человеку и посмотреть, регистрируется ли это. Затем попробуйте еще раз, держа его в руках более крупного человека, а другого - касаясь его.
Просто убедитесь, что после каждого изменения того, что подключено к Arduino, вы сбрасываете Arduino, либо нажав кнопку «сброс», либо повторно подключив USB-соединение (а затем повторно запустите код python, так как он, вероятно, выйдет из строя), чтобы заново откалибровать датчики.
Можно обсудить электрическую емкость и емкостное зондирование.
Рекомендуемые:
Lazy 7 / Quick Build Edition: 8 шагов (с изображениями)
Lazy 7 / Quick Build Edition: Да. Другой. Я скопирую / вставлю сюда информацию, которую я разместил на Thingiverse, эта документация действительно нужна только для прокладки светодиодных лент. Недавно я опубликовал 7-сегментные часы - Small Printers Edition, первый 7-сегментный дисплей, который я построил для нас
Air Piano с ИК-датчиком приближения и Arduino Uno Atmega 328: 6 шагов (с изображениями)
Воздушное пианино с ИК-датчиком приближения и Arduino Uno Atmega 328: Обычно пианино, будь то электрическое или механическое, работает с простым механизмом нажатия кнопки. Но вот поворот: мы могли бы просто избавиться от необходимости использовать клавиши в пианино, используя некоторые датчики. И инфракрасные датчики приближения лучше всего подходят для этой цели, потому что
PCB Touch Piano: 6 шагов (с изображениями)
PCB Touch Piano: пианино для вашего кармана? Конечно! Используя принтер для переноса тонера, раствор для травления меди и Teensy 3.2, мы делаем крошечный MIDI-контроллер, который реагирует на простое прикосновение пальца. Вам понадобятся некоторые материалы: медная печатная плата 100 мм X 70 мм Teensy 3.2 Ferric
EBot8 IR Piano: 6 шагов (с изображениями)
EBot8 IR Piano: Как здорово было бы сделать собственное пианино, наведя палец на ИК-датчики! И да, это правда. Это пианино, управляемое EBot (микроконтроллер, разработанное CBits), с некоторыми инфракрасными датчиками, которые обнаруживают наши пальцы на коротком расстоянии
Контроллер светодиодной ленты MIDI 5V для Spielatron или другого MIDI-синтезатора: 7 шагов (с изображениями)
Контроллер светодиодной ленты MIDI 5V для Spielatron или другого MIDI-синтезатора: этот контроллер мигает трехцветной светодиодной лентой в течение 50 мс на ноту: синий для G5 - D # 6, красный для E6 - B6 и зеленый для C7 - G7. Контроллер представляет собой MIDI-устройство ALSA, поэтому программное обеспечение MIDI может выводить данные на светодиоды одновременно с устройством MIDI-синтезатора