Создание звука из зуммера с помощью Arduino

05-07-2018 17:14
Создание звука из зуммера с помощью Arduino

Arduino: создание звука с помощью зуммера

В этом проекте мы создадим мелодию, играя одну за другой различные ноты с помощью Buzzer.
Что такое зуммер?
Мы можем провести аналогию с крошечным динамиком для зуммера.
Было бы не корректно говорить именно о динамике. Потому что зуммер не может воспроизводить такие же детализированные звуки, как динамик. Громкость тоже не такая громкая, как динамик.
Итак, что мы можем сделать с Buzzer? Зуммер часто используется для звуковых сигналов различных тонов.

Список необходимых ингредиентов
Ардуино
Соединительный USB-кабель Макетная плата
зуммер
Сопротивление 100 Ом Соединительные кабели

Примечание и информация о частоте
Каждый звук имеет свое значение частоты. Ноты, используемые в музыке, также имеют свои значения частоты. Более высокая/более высокая частота будет производить более высокий звук. Вы можете использовать список по ссылке ниже, чтобы узнать частотные значения нот.
Примечания могут отображаться в виде имен или букв. До-Ре-Ми-Фа-Левая-Ля-Си
В-Г-Д-Е-Ж-Ж-А-Б
 
Приложение - Ноты
В этом приложении мы будем создавать мелодию, играя ноты, которые мы выучили, когда впервые встретились с уроком музыки. "до-ре-ми-фа-соль-ла-си-до"
При написании наших кодов мы будем работать с буквами нот, а не с именами. Если мы хотим работать с именами, следует отметить, что мы не можем использовать do в качестве имени переменной во время кодирования. Слово do имеет особое значение в программировании, оно определяется как ключевое слово и используется в циклах do-while. Ключевые слова в языке программирования не могут использоваться в качестве имен переменных.

Принципиальная схема Ардуино
макетная плата ардуино

Коды проектов

# определить зуммер A1

// частотные значения нот

инт С = 262; // делать

инт Д = 294; // ре

интервал Е = 330; // ми

интервал F = 349; // фа

инт G = 392; // оставил

интервал А = 440; // ла

интервал B = 494; // один

инт Cc = 523; // сделать (тонкий)

//Собираем ноты в цепочку, чтобы можно было удобно перемещаться по нотам.

int []notes = {C, D, E, F, G, A, B, Cc};

int количество нот = 8;

// блок кода (настройка), который будет запускаться только один раз при запуске

недействительная установка ()

{

// Играем все ноты по порядку. Оставляйте интервал в полсекунды (500 миллисекунд) между двумя нотами.

for(int i = 0; i < noteNum; i++)

{

тон(зуммер,ноты[i]); задержка(500); noTone (зуммер); задержка(20);

}

}

                                             

// блок кода (цикл), который будет выполняться рекурсивно после запуска и завершения кодов инициализации (настройки)

пустой цикл ()

{

}

Объяснение кодов
Мы запомнили частотный эквивалент каждой ноты, определив переменную с соответствующим именем. Переменные используются для хранения информации в памяти при программировании. Цель состоит в том, чтобы сделать возможным повторное использование этой информации при необходимости.
Поскольку нам нужно будет получить информацию о примечании в памяти в порядке от примечания к выполнению, мы собрали эту информацию в массив. Простая логика счетчика используется для программного последовательного доступа к элементам массива, каждый раз увеличиваясь на 1 для достижения следующего элемента. Для этого мы используем циклы for для массивов.

Мы подготовили цикл for, получили доступ к каждому элементу (каждой ноте) в массиве один за другим и воспроизвели звук на соответствующей частоте из зуммера, используя функцию тона. функция тона
Когда он запускается, он будет продолжать издавать тот же сигнал, пока не будет получена команда остановки. Мы хотим, чтобы каждая нота играла полсекунды (500 миллисекунд), а затем останавливалась.
Мы запустили функцию задержки, задав в качестве параметра значение 500, и заставили нашу плату Arduino ждать 500 миллисекунд, то есть полсекунды, ничего не делая. В течение этих 500 миллисекунд мы продолжали слышать нашу ноту.

После этого мы вырезаем звук зуммера с помощью функции noTone. Если бы мы не ждали 500 миллисекунд с помощью функции задержки, возможно, мы бы вообще не услышали ноту, так как команда tone и команда noTone сработали бы одна за другой.

Наконец, мы даем крошечную 20-миллисекундную паузу, прежде чем закончить ноту и перейти к следующей ноте. Для этого мы снова воспользовались функцией задержки.
 
Как работает плата Arduino?
Функция настройки запускается только один раз, когда плата Arduino начинает работать (включается питание). Когда функция настройки завершена, выполняется функция цикла . Функция цикла запускается снова каждый раз, когда она завершается. Эта повторяющаяся операция продолжается до тех пор, пока плата Arduino не будет обесточена или внешний фактор не нажмет кнопку сброса на плате.

Работа с приложением
В этом примере мы не использовали функцию цикла и написали все наши коды в функции настройки. Когда наша плата Arduino получит электричество и подключит ее к работе, коды в функции настройки будут работать, и ноты будут слышны от начала до конца. Тогда будет тишина. Потому что в настройке есть коды для воспроизведения каждой ноты только один раз, а в функции лупа нет кода. Чтобы снова услышать те же самые ноты, мы можем отключить электричество нашей платы Arduino и подать его снова, или мы можем нажать кнопку сброса на плате.
Ардуино

Долг
Мы хотим, чтобы одна и та же мелодия играла непрерывно. После того, как мелодия завершена, должна быть 3-секундная тишина, прежде чем она начнется снова. Можно использовать ту же принципиальную схему, но коды должны быть расположены в соответствии с нашими потребностями. Удачи вам в этом задании.
 
http://www.ercanbozkurt.blogspot.com ercanbozkurt.c64@gmail.com
Эта статья взята из 6-го номера журнала Çırak.
IdeaSoft® | E-Ticaret paketleri ile hazırlanmıştır.