Пъезоизлучатель и Arduino
Пьезоизлучатель это по сути обычная пищалка. Его можно использовать для генерации различных звуков на разных частотах, а также в качестве звуковой напоминалки, сигнализации и прочего. Звук этот элемент издает благодаря механическим колебаниям под действием электрического поля, причем звуковые волны эти только на тех частотах, которые будут услышаны человеком (никакого ультразвука и прочего)
Данный модуль стоит очень дешево, имеет два вывода для подключение. Черный контакт подключают к заземлению ( то есть контакт gnd на плате) А другой подключают к цифровому пину на панели digital вот с волнистой черточкой рядом. Это означает, что данный контакт поддерживает функцию ШИМ ( то есть широтно-импульсной модуляции)
Сегодня я вам покажу два кода, для работы с этим модулем. Первый – это обычное издавание звука на частоте 980 герц, в качестве сигнализации или напоминалки. А второй код позволит нам менять частоту и тем самым можно экспериментировать со звуками и даже написать собственную музыку.
Итак давайте рассмотрим первый скетч.
Сначала мы задаем номер пина, к которому подключаем этот модуль. Например, номер 3. Далее в функции void setup мы прописываем сигнал с излучателя как выход. Это нужно в первую очередь для подачи питания на модуль. Далее следует вторая функция void loop Там с помощью команды analogwrite мы можем присвоить значение нашей пищалки, изменяя тем самым ее громкость звучания. Ввести число можно от 0 до 255. 0 соответствует выключенному состоянию пьезоизлучателя.
Изменять время вы можете с помощью функии delay , указывая в скобках значение в миллисекундах.
Теперь загрузим скетч в нашу плату и послушаем, что будет. Все работает и ровно через каждую секунду у нас повторяется один и тот же звуковой сигнал. Кстати функция analogwrite имеет по умолчанию частоту в 980 герц, которую нельзя изменить.
А вот уже менять частоту и генерировать самую настоящую музыку вы можете с помощью команды tone. С помощью нее можно настроить нашу пищалку на определенную частоту.
Все это будет во втором нашем скетче. Давайте рассмотрим его внимательнее.
Начало такой же как и в первом коде, то есть подключаем наш модуль к контакту номер 3, подаем на него питание и связываем с платой. А вот функция Void Loop получит уже некоторые изменения. В частности, analogwrite полностью заменяется функцией тон. Она принимает значения от 31 до максимальной для человеческого слуха. команда noTone() нужна чтобы выключить звук. Функция delay также разграничивает их по времени. Я установил, как 0,1 секунду
Ссылка на программный коды и все необходимое для повторения видеоурока:
https://yadi.sk/d/fr9Ebg_O3LkPvU
Спасибо за внимание!
Arduino & Pi
1.5K постов20.8K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
• Нарушать установленные правила Пикабу