Оглавление:
Видео: Автоматическое фортепиано: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Я хотел сделать пианино, которое могло бы играть автоматически, мгновенно слушая мою музыку, поэтому я попробовал с arduino uno, который у меня валялся. Было бы намного лучше с arduino zero, используя простую библиотеку частотомеров, у меня ее не было на данный момент, и я продолжил с uno.
Шаг 1: теория
На пианино играется путем согласования частоты певца и пианино. Поэтому нам нужно выбрать частоту певца и воспроизвести ее в реальном времени. Я использую делитель напряжения из подстроечного резистора, так как звук - это переменный ток, а arduino не может обрабатывать отрицательные напряжения, поэтому используйте напряжение, обеспечиваемое делителем напряжения, в качестве эталона и установите его на 2,5 В. Вход подается на вывод A0 Arduino. Затем я запрограммировал Arduino, чтобы проверять, когда напряжение находится на эталонном уровне, который я измерил и назвал его начальным, а затем измерил интервал времени между последовательными опорными напряжениями, а затем вычислил частоту. переменная используется для хранения мгновенной амплитуды звукового сигнала для устранения шума, имеющего амплитуду менее 15 значений ADC или 0,0733 вольт. На частоту накладывается ограничение, чтобы экстремальные значения не прерывали исполнение песни.
Шаг 2: требуемый материал
1) Arduino Uno или аналогичный
2) Пассивный пьезоэлектрический зуммер или динамик со схемой усилителя
3) Подстроечный резистор с высоким сопротивлением (убедитесь, что ток, протекающий через него при 5 В, должен быть небольшим, в несколько миллиампер)
4) перемычки
5) макет
6) 3,5-мм аудиоразъем или микрофон со схемой усилителя (я использовал свой мобильный телефон в качестве усилителя, так как мне было лень его построить)
7) Телефон Android (для воспроизведения звука)
8) кабель arduino (для программирования)
Шаг 3: Подключения
1) Установите подстроечный резистор на макетную плату и подайте на него заземление и + 5В от Arduino с помощью перемычек.
2) Подключите землю разъема 3,5 мм к третьему контакту подстроечного резистора, чтобы он работал как конфигурация делителя напряжения, и подключите его к контакту A0 Arduino.
3) Подключите заземление зуммера к земле Arduino, а сигнал - к контакту 13 Arduino.
Шаг 4: Код Arduino
Вот полный код
Я закомментировал некоторые утверждения о серийной печати, использованной для тестирования.
uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t начальный, val, del = 0; bool last, curr; void setup () {// поместите сюда ваш установочный код, чтобы запустить его один раз: delay (1000); /*Serial.begin(115200); задержка (1000); Serial.println ("система запущена"); * / initial = analogRead (A0); если (analogRead (A0)
void loop () {// поместите сюда ваш основной код для повторного запуска: val = analogRead (A0); если (val> = initial) curr = 1; иначе curr = 0; del = (int) val- (int) начальный; если (последний == 0 && curr == 1) {curtime = micros (); freq = 1000000 / (2 * (curtime-ltime)); /*Serial.print(freq, DEC); Serial.print («вниз»); Serial.println (del); * / if (freq> 50 && freq15) tone (13, freq, 500); задержка (100); ltime = micros (); последний = 1; }
Шаг 5: Включите !
Подключите свой телефон, чтобы воспроизвести музыку, и если вы хотите петь, вы можете использовать все приложения с инструментами, которые можно загрузить в магазине игр. Вот ссылка
play.google.com/store/apps/details?id=com.pradhyu.alltoolseveryutility&hl=en
После скачивания откройте опцию микрофона и пой!
Вот как это работает!
Рекомендуемые:
Автоматическое дезинфицирующее средство для рук: 8 шагов
Автоматическое дезинфицирующее средство для рук: пандемия COVID-19 стала тем, что общественность очень часто слышала в течение 2020 года. Каждый гражданин, который слышит слово «COVID-19», сразу же подумает о словах «Опасно», «Смертельно», «Сохраняйте чистоту». », И другие слова. Этот COVID-19 также
Автоматическое переключение между Shop Vac (не требуется Arduino): 7 шагов
Автоматическое переключение Shop Vac (Arduino не требуется): Как и у многих мастеров-любителей, у меня есть пылесос, прикрепленный к моей настольной пиле, и каждый раз, когда я хочу выполнить рез, я должен включать его, прежде чем включать пилу. Это может показаться глупым, но включать и выключать магазинный пылесос как можно больше - головная боль
VentMan Часть II: Автоматическое обнаружение печи Arduino для бустерных вентиляторов: 6 шагов
VentMan, часть II: Автоматическое обнаружение печи Arduino для бустерных вентиляторов: Основные моменты: Это был временный прием, предназначенный для определения, когда мой двигатель нагнетателя переменного тока / печи работал, чтобы два моих бустерных вентилятора могли включиться. Мне нужны два вспомогательных вентилятора в моих воздуховодах, чтобы нагнетать больше теплого / холодного воздуха в две изолированные спальни. Но я
Автоматическое открывание жалюзи с использованием EV3: 6 шагов
Автоматическое открывание жалюзи с использованием EV3: У меня в спальне есть рулонные жалюзи, которые я часто забываю открывать или закрывать утром или вечером. Я хочу автоматизировать открытие и закрытие, но с переопределением, когда меня переодевают
Автоматическое измерение температуры и голосовая информация: 5 шагов (с изображениями)
Автоматическое измерение температуры и голосовая информация: в последнее время весь мир борется с вирусом Covid19. Первая проверка для пострадавших (или подозреваемых) - это измерение температуры тела. Итак, этот проект создан для модели, которая может автоматически измерять температуру тела и сообщать через голосовые