Ky-012 — активный звуковой модуль (зуммер). подключение к arduino
Содержание:
- Пример скетча для пьезодимнамика
- Примеры мелодий для зуммера
- Отличия активного и пассивного зуммера
- Суть проекта
- Устройство пьезоизлучателя (пьезодинамика)
- Описание и схема работы зуммера
- 3Параллельные процессы без оператора «delay()»
- KY-005, модуль инфракрасного светодиода
- Структура слова
- Обзор аппаратного обеспечения
- Как устроен металлодетектор
- Подключение пьезоизлучателя к Ардуино
- Питание плат Arduino
- Настройка звучания сигнала
- Снижение тактовой частоты.
- 1 Схема подключения пьезоизлучателяк Arduino
- Примеры для зуммера активного:
- Подключения зуммера к Arduino
- Подключения зуммера к Arduino
- Работа схемы
Пример скетча для пьезодимнамика
Для “оживления” подключенного к плате ардуино зуммера потребуется программное обеспечение Arduino IDE, которое можно скачать на нашем сайте.
Одним из простейших способов заставить заговорить пищалку является использование функции «analogwrite». Но лучше воспользоваться встроенными функциями. За запуск звукового оповещения отвечает функция «tone()», в скобках пользователю следует указывать параметры частоты звука и номера входа, а также времени. Для отключения звука используется функция «noTone()».
Пример скетча с функцией tone() и noTone()
//Пин, к которому подключен пьезодинамик. int piezoPin = 3; void setup() { } void loop() { /*Функция принимает три аргумента 1) Номер пина 2) Частоту в герцах, определяющую высоту звука 3) Длительность в миллисекундах. */ tone(piezoPin, 1000, 500); // Звук прекратится через 500 мс, о программа останавливаться не будет! /* Вариант без установленной длительности */ tone(piezoPin, 2000); // Запустили звучание delay(500); noTone(); // Остановили звучание }
Схема подключения для примера выглядит следующим образом:
Подключение пищалки к 3 пину Ардуино
Когда вы используете функцию tone(), то возникают следующие ограничения.
Невозможно одновременно использовать ШИМ на пинах 3 и 11 (они используют одинаковый внутренний таймер), а также нельзя запустить одновременно две мелодии двумя командами tone() – в каждый момент времени будет исполняться только одна.Еще одно ограничение: нельзя извлечь звук частотой ниже 31 Гц.
Вариант скетча для активного зуммера чрезвычайно прост. С помощью digitalWrite() мы выставляем значение 1 в порт, к которому подключена пищалка.
Вариант скетча для зуммера без tone()
Пример скетча для варианта без функции tone() представлен на изображении внизу. Этот код задает частоту включения звука один раз в две секунды.
Пример скетча
Для корректной работы устройства необходимо задать номер PIN, определить его как «выход». Функция analogWrite использует в качестве аргументов номер вывода и уровень, который изменяет свое значение от 0 до 255. Это все по причине того, что шим-выводы Arduino имеют ЦАП (цифроаналоговый преобразователь) 8-бит. Изменяя этот параметр, пользователь меняет громкость зуммера на небольшую величину. Для полного выключения следует пропитать в порте значение «0». Следует сказать, что используя функцию «analogwrite», пользователь не сможет изменять тональность звука. Для пьезоизлучателя будет определена частота 980 Гц. Это значение совпадает с частотой работы выводов с шим на платах Ардуино и аналогов.
Примеры мелодий для зуммера
Для того, чтобы разнообразить работу с новым проектом, добавить в него «развлекательный» элемент, пользователи придумали задавать определённый набор частот звука, делая его созвучным некоторым знаменитым композициям из песен и кинофильмов. Разнообразные скетчи для таких мелодий можно найти в интернете. Приведем пример мелодии для пьезопищалки для одного из самых узнаваемых треков «nokia tune»из ставших легендарными мобильников Nokia. Файл pitches.h можно сделать самим, скопировав его содержимое так, как указано в этой статье на официальном сайте.
Скетч
При написании собственных мелодий пригодится знание частот нот и длительностей интервалов, используемых в стандартной нотной записи.
Частота нот для пищалки Ардуино
Отличия активного и пассивного зуммера
Главное отличие активного зуммера от пассивного заключается в том, что активный зуммер генерирует звук самостоятельно. Для этого пользователь должен просто включить или выключить его, другими словами, подав напряжение на контакты или обесточив. Пассивный зуммер же требует источника сигнала, который задаст параметры звукового сигнала. В качестве такого источника может выступать плата Ардуино. Активный зуммер будет выдавать более громкий звуковой сигнал в сравнении с его конкурентом. Частота излучаемого звука активного зуммера составляет значения 2,5 кГц +/- 300Гц. Напряжение питания для пищалки варьируется от 3,5 до 5 В.
Активный пьезоизлучатель предпочтительней еще из-за того, что в скетче не потребуется создавать дополнительный фрагмент кода с задержкой, влияющий на рабочий процесс. Также для определения того, что за элемент находится перед пользователем, можно измерить сопротивление между двумя проводами. Более высокие значения будут указывать на активный зуммер ардуино.
По своей геометрической форме пищалки никак не различаются, и отнести элемент к тому или иному виду по данной характеристике не представляется возможным. Визуально зуммер можно идентифицировать, как активный, если на плате присутствуют резистор и усилитель. В пассивном зуммере в наличии только маленький пьезоэлемент на плате.
Суть проекта
Мне хотелось сделать дальномер. Во-первых, из-за того, что у меня был ультразвуковой датчик и надо было научиться с ним взаимодействовать. Во-вторых, я хотел выводить всю информацию на OLED-дисплей. В статьях, которые я находил, либо рассказывалось про работу с дисплеем и датчиком по отдельности, либо они являлись частью совершенно другого проекта. Я собрал все необходимое тут и надеюсь, что это сможет как-то помочь другим.
Что понадобится?
-
Любая плата Arduino (у меня Uno);
-
Ультразвуковой дальномер HC-SR04;
-
OLED-дисплей на 0,96 дюймов;
-
Соединительные провода;
-
Макетная плата.
Устройство пьезоизлучателя (пьезодинамика)
Благодаря низкой стоимости и малого потребления энергии, по сравнению с динамиками, пьезокерамические излучатели звука (пьезодинамики) — акустические устройства для воспроизведения звука, использующие пьезоэлектрический эффект. Пьезоизлучатели получили широкое распространение: их используют в различных устройствах — будильниках, телефонах, игрушках и в другой технике.
Фото. Устройство пьезоизлучателя (пьезопищалки) и динамика
По сравнению с традиционными электромагнитными преобразователями звука, пьезоизлучатели имеют простую конструкцию. Пьезокерамический излучатель состоит из металлической пластины, на которую нанесена пьезоэлектрическая керамика, имеющая токопроводящее напыление. Пластина и напыление являются контактами пьезоизлучателя (буззера), при этом устройство имеет полярность — плюс и минус.
Принцип действия излучателей основан на эффекте, открытом братьями Кюри в 1880 г. В пьезокристаллах под действием механических сил на сдвиг, изгиб или кручение образуются электрические заряды. Кроме «прямого» эффекта существует и обратный эффект — если подать электричество на кристалл, то он начнет деформироваться. При частых колебаниях кристалла создается звуковая волна с заданной частотой.
Описание и схема работы зуммера
Зуммер, пьезопищалка – все это названия одного устройства. Данные модули используются для звукового оповещения в тех устройствах и системах, для функционирования которых в обязательном порядке нужен звуковой сигнал. Широко распространены зуммеры в различной бытовой технике и игрушках, использующих электронные платы. Пьезопищалки преобразуют команды, основанные на двухбитной системе счисления 1 и 0, в звуковые сигналы.
Пьезоэлемент “пищалка”
Пьезопищалка конструктивно представлена металлической пластиной с нанесенным на нее напылением из токопроводящей керамики. Пластина и напыление выступают в роли контактов. Устройство полярно, имеет свои «+» и «-». Принцип действия зуммера основан на открытом братьями Кюри в конце девятнадцатого века пьезоэлектрическом эффекте. Согласно ему, при подаче электричества на зуммер он начинает деформироваться. При этом происходят удары о металлическую пластинку, которая и производит “шум” нужной частоты.
Устройство пьезодинамика пищалки
Нужно также помнить, что зуммер бывает двух видов: активный и пассивный. Принцип действия у них одинаков, но в активном нет возможности менять частоту звучания, хотя сам звук громче и подключение проще. Подробнее об этом чуть ниже.
Модуль пищалки для Ардуино
Если сравнивать с обыкновенными электромагнитными преобразователями звука, то пьезопищалка имеет более простую конструкцию, что делает ее использование экономически обоснованным. Частота получаемого звука задается пользователем в программном обеспечении (пример скетча представим ниже).
3Параллельные процессы без оператора «delay()»
Вариант, при котором Arduino будет выполнять задачи псевдо-параллельно, предложен разработчиками Ардуино. Суть метода в том, что при каждом повторении цикла loop() мы проверяем, настало ли время мигать светодиодом (выполнять фоновую задачу) или нет. И если настало, то инвертируем состояние светодиода. Это своеобразный вариант обхода оператора delay().
const int soundPin = 3; // переменная с номером пина пьезоэлемента const int ledPin = 13; // переменная с номером пина светодиода const long ledInterval = 200; // интервал мигания светодиодом, мсек. int ledState = LOW; // начальное состояние светодиода unsigned long previousMillis = 0; // храним время предыдущего срабатывания светодиода void setup() { pinMode(soundPin, OUTPUT); // задаём пин 3 как выход. pinMode(ledPin, OUTPUT); // задаём пин 13 как выход. } void loop() { // Управление звуком: tone(soundPin, 700); delay(200); tone(soundPin, 500); delay(200); tone(soundPin, 300); delay(200); tone(soundPin, 200); delay(200); // Мигание светодиодом: // время с момента включения Arduino, мсек: unsigned long currentMillis = millis(); // Если время мигать пришло, if (currentMillis - previousMillis >= ledInterval) { previousMillis = currentMillis; // то запоминаем текущее время if (ledState == LOW) { // и инвертируем состояние светодиода ledState = HIGH; } else { ledState = LOW; } digitalWrite(ledPin, ledState); // переключаем состояние светодиода } }
Существенным недостатком данного метода является то, что участок кода перед блоком управления светодиодом должен выполняться быстрее, чем интервал времени мигания светодиода «ledInterval». В противном случае мигание будет происходить реже, чем нужно, и эффекта параллельного выполнения задач мы не получим. В частности, в нашем скетче длительность изменения звука сирены составляет 200+200+200+200 = 800 мсек, а интервал мигания светодиодом мы задали 200 мсек. Но светодиод будет мигать с периодом 800 мсек, что в 4 раза больше того, что мы задали.
Вообще, если в коде используется оператор delay(), в таком случае трудно сымитировать псевдо-параллельность, поэтому желательно его избегать.
В данном случае нужно было бы для блока управления звуком сирены также проверять, пришло время или нет, а не использовать delay(). Но это бы увеличило количество кода и ухудшило читаемость программы.
KY-005, модуль инфракрасного светодиода
Модуль инфракрасного светодиода
Можно заменить обычным ИК- светодиодом за 15 р, на Али вам придется отдать около 50 р за один модуль.
Инфракрасный светодиод, некоторые блоки могут идти с постоянным токоограничивающим резистором, некоторые без оного, обратите внимание при подключении- поставьте резистор. Модуль можно применить для передачи информации, так же можно использовать как детектор пересечения луча вместе с инфракрасным фотодиодом в охранных устройствах, при этом имеют как преимущества так и недостатки
Преимущества- луч невидим для человеческого глаза, недостатки- большой угол рассеивания.
Структура слова
Основное, на что нужно обратить внимание при проектировании систем распознавания звука – сама фонетика языка. В русском, есть гласные и согласные буквы
Последние еще и бывают шипящего, звонкого и глухого произношения. Устройства улавливающие звуковые волны, наиболее слышат, как раз, первые, вторые и третьи, а вот к последним «глуховаты». Поэтому, собственно и программировать конечный аппарат требуется именно на их определение, а не слова в целом. Опять же. Каждый человек обладает определенной дикцией и высотой тона голоса. Посудите сами, послушав, как одно и то же слово произносится мужчиной или женщиной. К тому же некоторые люди быстро проговаривают текст, другие медленнее. Все названые факторы требуется учесть при написании скетча обработки.
Еще одно ограничение, накладываемое платам KY-037 и KY-038 – падение уровня улавливаемого сигнала в зависимости от расстояния до его источника. То есть, нужно предусмотреть сравнение именно разниц поступающих пиков, а не конкретных значений.
Обзор аппаратного обеспечения
Звуковой датчик представляет собой небольшую плату, которая объединяет микрофон (50 Гц – 10 кГц) и схему обработки для преобразования звуковых волн в электрические сигналы.
Этот электрический сигнал подается на встроенный высокоточный компаратор LM393 для его оцифровки и выводится на выход (вывод OUT).
Рисунок 2 – Регулировка чувствительности датчика звука и компаратора
Для регулировки чувствительности выходного сигнала модуль содержит встроенный потенциометр.
С помощью этого потенциометра вы можете установить пороговое значение. Таким образом, когда амплитуда звука превысит это пороговое значение, модуль выдаст низкий логический уровень, в остальных случаях будет выдаваться высокий логический уровень.
Эта настройка очень полезна, когда вы хотите запустить какое-то действие при достижении определенного порога. Например, когда амплитуда звука пересекает пороговое значение (при обнаружении стука), вы можете активировать реле для управления освещением. Вот вам идея!
Совет: поворачивайте движок потенциометра против часовой стрелки, чтобы увеличить чувствительность, и по часовой стрелке, чтобы ее уменьшить.
Рисунок 3 – Светодиодные индикаторы питания и состояния
Помимо этого, модуль имеет два светодиода. Индикатор питания загорится, когда на модуль подается напряжение питания. Светодиод состояния загорится, когда на цифровом выходе будет низкий логический уровень.
Как устроен металлодетектор
Металлоискатель использует в своей работе метод индуктивного зондирования. Основная рабочая часть прибора – катушка индуктивности. Наличие металла под зондом детектора меняет индуктивность, которая замеряется логикой контроллера и передается пользователю через интерфейсное устройство в виде сигналов (принцип работы будет подробнее рассмотрен ниже). Таким устройством обычно служит динамик или наушники, но могут применяться и другие способы оповещения:
- светодиоды;
- сообщения на смартфон;
- вывод визуальных кодов на встроенный экран, и так далее.
Любой металлоискатель состоит из трех основных блоков:
- катушка (или несколько). Они играют роль обнаруживающих металл передающих или принимающих антенн;
- блок управления;
- устройство вывода сигнала.
Отметим, что речь идет о простом импульсном или индукционном детекторе. Дорогие промышленные и специализированные образцы могут содержать иную аппаратную «начинку».
В блоке управления расположен генератор сигнала и центральная схема — контроллер. Существует множество схем металлоискателей под разные виды плат. Распространена схема устройства «Пират» на базе двух чипов:
- операционного двухканального усилителя TL072 и его аналога К157УД2 (приемный модуль);
- чипа NE555 (передающий узел системы).
Но в последнее время становятся популярны варианты на Arduino. Причина этого — простота, дешевизна, хорошая изученность семейства Ардуино и мощные программные возможности платформы.
Подключение пьезоизлучателя к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- пьезоизлучатель звука (Arduino buzzer);
- провода «папа-папа».
Подключение пищалки (буззера) к Ардуино на схеме
После того, как вы собрали схему и подключили пьезоизлучатель и Arduino, как на картинке выше, загрузите следующий скетч в микроконтроллер Arduino Uno. Воспроизведение звука на Ардуино выполняется функцией , где в скобках указывается номер пина и частота звука. Чтобы отключить звук на зуммере (пьезодинамике Ардуино) необходимо использовать функцию .
Скетч включения пьезодинамика функцией tone
void setup() { pinMode(10, OUTPUT); // объявляем пин 10 как выход } void loop() { tone (10, 600); // включаем на пьезодинамик 600 Гц delay(1000); // ждем 1 секунду tone(10, 900); // включаем на пьезодинамик 900 Гц delay(1000); // ждем 1 секунду noTone(10); // отключаем пьезодинамик на пин 11 delay(1000); // ждем 1 секунду }
Пояснения к коду:
- процедуры setup и loop Ардуино должны присутствовать в любой программе (скетче), даже если вам не нужно ничего выполнять в них — пусть они будут пустые, просто не пишите ничего между фигурными скобками;
- каждой открывающей фигурной скобке всегда соответствует закрывающая . Они обозначают границы некого логически завершенного фрагмента кода. Следите за вложенностью фигурных скобок в программе.
Скетч плавного изменения частоты зуммера
void setup() { pinMode(10, OUTPUT); // объявляем пин 10 как выход } void loop() { // увеличиваем частоту звука for (int x = 0; x < 500 ; x++){ tone (10, x); delay(1); } // уменьшаем частоту звука for (int x = 500; x > 0 ; x--){ tone (10, x); delay(1); } }
Пояснения к коду:
- для изменения частоты активного зуммера Ардуино используется цикл for, с помощью которого мы перебираем частоту звука от 0 до 500 и обратно.
Заключение. Мы рассмотрели, как включить пьезодинамик (пищалку) от Ардуино. Данная информация пригодится при создании проектов, в которых требуется звуковой сигнал при включении устройства на плате Arduino или при других случаях. Для уменьшения громкости сигнала активного пьезодинамика Ардуино можно использовать резисторы с разным номиналом, включая их в электрическую цепь.
Питание плат Arduino
Перед рассмотрением способов снижения электроэнергии стоит отметить, что энергоэффективность устройства повышается с понижением питающего напряжения. Большинство плат Arduino поддерживают входное напряжение до 12В, при этом сам микроконтроллер питается напряжением 5В. Таким образом, учитывая, что в большинстве плат Arduino установлены линейные регуляторы напряжения, получается, что при питании платы напряжением больше 5В, значительная часть мощности будет рассеиваться в тепло.
Пример потребления электроэнергии платой Arduino Mini Pro:
Питающее напряжение, В | Ток, мА | Потребляемая мощность, мВт |
9 | 42 | 378 |
5 | 22 | 110 |
3.3 | 8 | 26.4 |
На нашем сайте вы можете найти описание схем энергопитания для плат Arduino Uno, Nano, Mega и Leonardo.
В рамках данной темы мы рассмотрим 4 основных метода снижения энергопотребления:
- использование режимов энергосбережения;
- использование библиотеки Narcoleptic;
- выключение компонентов микроконтроллера;
- снижение тактовой частоты;
Настройка звучания сигнала
Если все сделано, как описано выше, то должны быть слышны щелчки.
Мы установили чередование подачи и отключения напряжения с длительностью в 500 тысячных долей секунды через параметр функции delay(). Поэтому звук длится полсекунды, после чего на такой же отрезок времени затихает.
Чтобы колебания происходили быстрее, то есть чаще, нужно уменьшить время задержки.
Поэкспериментируйте с разными значениями для функции delay(). Попробуйте выставить в программе вместо 500 числа 10, 5, 1.
Чем чаще происходят колебания, тем выше звук, который мы слышим. Получается, если увеличивать частоту, звук будет превращаться в тонкий писк. А если уменьшать — в гул или гудение.
Кстати, именно поэтому мы слышим писк, когда рядом летает комар. Он часто-часто машет своими крылышками. В противовес ему — полет шмеля, который гораздо тяжелее и медленнее, поэтому он как бы “гудит”.
Снижение тактовой частоты.
Потребление любого микроконтроллера сильно зависит от частоты его тактирования, и снижая ее, мы можем добиться значительного снижения энергопотребления. В микроконтроллерах AVR имеется возможность программного изменения предделителя частоты тактирования. А для простоты работы с ним мы будем использовать специальную библиотеку Prescaler.h, скачать которую можно по адресу https://github.com/fschaefer/Prescaler:
#include “Prescaler.h”
Изменение предделителя тактирования производится с помощью функции setClockPrescaler(); имеющей один аргумент, отвечающий за величину предделителя. Существует 9 констант в качестве аргументов для данной функции:
setClockPrescaler(CLOCK_PRESCALER_1); setClockPrescaler(CLOCK_PRESCALER_2); setClockPrescaler(CLOCK_PRESCALER_4); setClockPrescaler(CLOCK_PRESCALER_8); setClockPrescaler(CLOCK_PRESCALER_16); setClockPrescaler(CLOCK_PRESCALER_32); setClockPrescaler(CLOCK_PRESCALER_64); setClockPrescaler(CLOCK_PRESCALER_128); setClockPrescaler(CLOCK_PRESCALER_256);
В зависимости от аргумента, данная функция снижает тактовую частоту в несколько раз (CLOCK_PRESCALER_16 означает что базовая тактовая частота микроконтроллера будет снижена в 16 раз).
Перед использованием данной функции, необходимо отметить, что правильность работы всей периферии сильно зависит от тактовой частоты, и при ее снижении – большинство функций микроконтроллера, завязанные на времени, будут работать неправильно (таймеры, PWM, USART, I2C и т.д.). Кроме того неправильно будут работать стандартные функции millis(); и delay();. Но данная библиотека предоставляет замену этим функциям в виде функций trueMillis(); и trueDelay();.
Рассмотрим вариант применения снижения тактовой частоты на примере работы с Serial интерфейсом:
#include "prescaler.h" int i = 0; void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(9600); setClockPrescaler(CLOCK_PRESCALER_256); //Понижаем тактовую частоту в 256 раз } void loop() { digitalWrite(LED_BUILTIN, HIGH); //включаем светодиод trueDelay(200); //ждем 200 мс с учетом пониженной частоты digitalWrite(LED_BUILTIN, LOW); //выключаем светодиод trueDelay(1000); //ждем 1 секунду с учетом пониженной частоты i++; if (i == 5) { //каждый 5 цикл отправляем данные в Serial порт setClockPrescaler(CLOCK_PRESCALER_1); //Повышаем частоту тактирования до стандартной Serial.println("I'm alive!"); //Отправляем данные delay(15); //Ждем пока данные отправятся setClockPrescaler(CLOCK_PRESCALER_256); //Обратно снижаем частоту тактирования i = 0; } }
Как видно, перед тем как использовать Serial порт, необходимо сначала повысить частоту тактирования до стандартной, и только потом отправлять данные. То же самое касается и приема данных – необходимо позаботиться о возвращении стандартной частоты тактирования еще до того, как данные будут отправлены на наш микроконтроллер, иначе они будут приняты неверно. То же касается и остальной периферии, завязанной на временных промежутках.
Таким образом, мы рассмотрели 4 различных способа снижения энергопотребления микроконтроллером во время его работы. Пробуйте комбинировать данные способы в своих проектах для достижения максимальной эффективности ваших устройств. Удачи!
1 Схема подключения пьезоизлучателяк Arduino
Пьезоизлучатель, или пьезоэлектрический излучатель, или «пьезопищалка» – это электроакустическое устройство воспроизведения звука, использующие обратный пьезоэлектрический эффект. Принцип действия его основан на том, что под действием электрического поля возникает механическое движение мембраны, которое и вызывает слышимые нами звуковые волны. Обычно такие излучатели звука устанавливают в бытовую электронную аппаратуру в качестве звуковых сигнализаторов, в корпуса настольных персональных компьютеров, в телефоны, в игрушки, в громкоговорители и много куда ещё.
Пьезоизлучатель имеет 2 вывода, причём полярность имеет значение. Поэтому чёрный вывод подключаем к земле (GND), а красный – к любому цифровому пину с функцией ШИМ (PWM). В данном примере положительный вывод излучателя подключён к выводу «D3».
Схема подключения пьезоизлучателя к Arduino и схема, собранная на макетной плате
Примеры для зуммера активного:
Вывод короткого звукового сигнала.
Как видно из скетча, управлять Trema-зуммером со встроенным генератором так же легко, как и обычным светодиодом.
Продолжаем серию уроков “Arduino для начинающих”. Сегодня собираем модель с пьезоэлементом (динамиком), которые используются в робототехники для управления звуками, издаваемыми роботом. В статье вы найдете видео-инструкцию, листинг программы, схему подключения и необходимые компоненты.
Пьезоэлемент — электромеханический преобразователь, одним из разновидностей которого является пьезоизлучатель звука, который также называют пьезодинамиком, просто звонком или английским buzzer. Пьезодинамик переводит электричеcкое напряжение в колебание мембраны. Эти колебания и создают звук (звуковую волну).
В нашей модели частоту звука можно регулировать, задавая соответствующие параметры в программе. Такая модель может быть встроена в робота, который будет издавать звуки.
Видео-инструкция сборки модели:
Для сборки модели с пьезоэлементом нам потребуется:
- плата Arduino
- провода “папа-папа”
- пьезоэлемент
- программа Arduino IDE, которую можно скачать с сайта Arduino.
Что потребуется для подключения динамика на Arduino?
Схема подключения модели Arduino с пьезоэлементом:
Схема подключения пьезоэлемента (динамика) на Arduino
Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):
int p = 3; //объявляем переменную с номером пина, на который мы //подключили пьезоэлемент void setup() //процедура setup <pinMode(p, OUTPUT); //объявляем пин как выход > void loop() //процедура loop <tone (p, 500); //включаем на 500 Гц delay(100); //ждем 100 Мс tone(p, 1000); //включаем на 1000 Гц delay(100); //ждем 100 Мс >
Так выглядит собранная модель Arduino с пьезоэлементом:
Собранная модель подключения динамика на Arduino
После сборки модели попробуйте поменять в программе частоты звука и посмотрите, как изменится работа модели.
Посты по урокам:
Все посты сайта «Занимательная робототехника» по тегу Arduino.
Наш YouTube канал, где публикуются видео-уроки.
Пищалка на Ардуино, которую часто еще называют зуммером, пьезодинамиком или даже баззером – частый гость в DIY проектах. Этот простой электронный компонент достаточно легко подключается к платам Arduino, поэтому вы можете быстро заставить вашу схему издавать нужные звуки – сигнализировать, пищать или вполне сносно проигрывать мелодию. В данной статье расскажем про отличие активных и пассивных зуммеров, разберем схему подключения пьезоэлемента к плате Ардуино и покажем пример скетча для управления пищалкой. А еще вы найдете пример мелодии, которыми cможете снабдить свой проект.
Подключения зуммера к Arduino
Подключение модуля пьезоэлемента к Ардуино выглядит достаточно простым. Потребляемый ток маленький, поэтому можно просто напрямую соединить с нужным пином.
Подключение пищалки к Ардуино (порт 12)
Электрическая схема подключения пьезоэлемента без сопровождающих модулей выглядит следующим образом.
Схема подключения зуммера
На некоторых вариантах корпусов зуммера можно найти отверстие для фиксации платы при помощи винта.
Зуммер arduino имеет два выхода
Следует обратить внимание на их полярность. Темный провод должен быть подключен к «земле», красный – к цифровому пину с PWM
Один вывод настраивается в программе как «вход». Arduino отслеживает колебания напряжения на выводе, на который подаётся напряжение с кнопки, резистора и датчиков.
Пищалка Арудино с названиями контактов
Напряжение на «вход» подается различное по значениям, система четко фиксирует только два состояния – вышеупомянутые 1 и 0 (логические ноль и единица). К логической единице будет относиться напряжение 2,3-5 В. Режим «выход» – это когда Arduino подает на вывод логический ноль/единицу. Если брать режим логического нуля, тут величина напряжения настолько мала, что ее не хватает для зажигания светодиода.
Схема подключения пищалки к Ардуино
Обратите внимание, что входы довольно чувствительны к внешним помехам разного рода, поэтому ножку пьезопищалки через резистор следует подключать к выводу. Это даст высокий уровень напряжения на ножке
Подключения зуммера к Arduino
Подключение модуля пьезоэлемента к Ардуино выглядит достаточно простым. Потребляемый ток маленький, поэтому можно просто напрямую соединить с нужным пином.
Подключение пищалки к Ардуино (порт 12)
Электрическая схема подключения пьезоэлемента без сопровождающих модулей выглядит следующим образом.
Схема подключения зуммера
На некоторых вариантах корпусов зуммера можно найти отверстие для фиксации платы при помощи винта.
Зуммер arduino имеет два выхода
Следует обратить внимание на их полярность. Темный провод должен быть подключен к «земле», красный – к цифровому пину с PWM
Один вывод настраивается в программе как «вход». Arduino отслеживает колебания напряжения на выводе, на который подаётся напряжение с кнопки, резистора и датчиков.
Пищалка Арудино с названиями контактов
Напряжение на «вход» подается различное по значениям, система четко фиксирует только два состояния – вышеупомянутые 1 и 0 (логические ноль и единица). К логической единице будет относиться напряжение 2,3-5 В. Режим «выход» – это когда Arduino подает на вывод логический ноль/единицу. Если брать режим логического нуля, тут величина напряжения настолько мала, что ее не хватает для зажигания светодиода.
Схема подключения пищалки к Ардуино
Обратите внимание, что входы довольно чувствительны к внешним помехам разного рода, поэтому ножку пьезопищалки через резистор следует подключать к выводу. Это даст высокий уровень напряжения на ножке
Работа схемы
Схема устройства представлена на следующем рисунке.
В представленной схеме пьезоэлектрический зуммер подсоединен к контакту 8 платы Arduino и ее земле через резистор 1 кОм. Резистор 1 кОм служит для ограничения тока, чтобы ток не превысил допустимых значений. Также в схему добавлено 4 переключателя для выбора нужной мелодии. Одни из контактов переключателей замкнуты на землю, а другие подсоединены к контактам 2, 3, 4 и 5 платы Arduino соответственно. Переключатели подключаются к контактам платы Arduino через внутренние подтягивающие резисторы – это конфигурируется программно. На макетной плате собранное устройство выглядит следующим образом: