Оглавление:

Автоматическое фортепиано: 5 шагов
Автоматическое фортепиано: 5 шагов

Видео: Автоматическое фортепиано: 5 шагов

Видео: Автоматическое фортепиано: 5 шагов
Видео: РАСКРЫТ ГЛАВНЫЙ СЕКРЕТ ПИАНИСТОВ😨😈 #пианино #пианист #музыкант 2024, Ноябрь
Anonim
Автоматическое фортепиано
Автоматическое фортепиано

Я хотел сделать пианино, которое могло бы играть автоматически, мгновенно слушая мою музыку, поэтому я попробовал с 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

Код Arduino
Код 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

После скачивания откройте опцию микрофона и пой!

Вот как это работает!

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