Arduino пищалка подключение

Пьезоизлучатель

Внешний вид Fritzing Условное обозначение на схеме

Пьезоизлучатель может называться по разному — пищалка, зумер, piezo buzzer или speaker. Суть одна — издать звук.

Обычно в наборах идут два вида пищалок — активный и пассивный. Они похожи и новичка ставят в тупик. Давайте разбираться.

Активный зуммер имеет сверху наклейку с таинственной надписью «Remove seal after washing», которую Гугл-переводчик переводит весьма странно — «снять пломбу после мытья», ещё больше запутывая пользователя. Не обращайте внимания на надпись, это просто технический момент. Во время изготовления детали требуется промывка от флюса, но чтобы не повредить вещь, заклеивают отверстие сверху. Но не торопитесь отклеивать и выбрасывать наклейку, она вам пригодится.

Активный зумер может работать самостоятельно, достаточно просто подать питание. При подключении следут следить за полярностью. На наклейке есть значок плюса (+), но доверять наклейке не стоит, может кто-то не очень аккуратно её наклеил. Лучше посмотрите на ножки. Как правило, одна ножка длиннее другой. Длинная ножка — плюс, короткая — минус. Соедините длинную ножку к питанию 5В, а короткую к земле. Вы сразу услышите противный звук. Именно по этой причине я советовал вам не отклеивать наклейку. Если вы теперь удалите наклейку, то громкость звука станет намного выше. Заклейте немедленно обратно!

Пассивный зумер внешне похож, но всё-таки отличается немного. Сравните их по размерам, а также посмотрите на их снизу. Разница видна. При подключении как из прошлого примера с активным динамиком, вы ничего не услышите. Просто подать питание не достаточно, нужно использовать программные методы, которые есть в составе В Arduino.

Также встречаются в модульном исполнении, например, KY-006 (пассивный) или KY-012 (активный). У модуля три вывода, средний не используется, вывод S соединяется с цифровым выводом платы, а вывод с GND.

KY-006 KY-012

Переходим к программной части. Активный зумер пищит громче и отчётливее, пассивный немного грубовато.

Самый простой способ — подать напряжение на нужный вывод.

При запуске услышим щелчки.

Для более интересных звуков используется функция tone().

Одну ноту играть не интересно. Пусть будет массив из десяти нот.

Если управлять не только нотами, но и их продолжительностью, то можно писать мелодии. Говорят, следующая мелодия воспроизводит «Имперский марш» из «Звёздных войн».

02.Digital: toneMelody (Играем мелодию)

Рассмотрим пример из меню File | Examples | 2.Digital | toneMelody. Обратите внимание, что программа состоит из двух вкладок toneMelody и pitches.h. Файл pitches.h содержит константы для проигрывания звуков различной тональности. Сам файл находится в одной папке с скетчем.

После того, как мы наигрались со светом при помощи светодиодов, пора поиграть со звуком. Для примера нам понадобится пьезоизлучатель, макетная плата и три провода.

Собирается конструкция очень просто — от вывода 8 ведём провод к одному контакту пищалки, а второй контакт присоединяем к GND.

Запустите скетч. Вы услышите мелодию, которая прозвучит один раз. Если вы хотите послушать её ещё раз, то нажмите на кнопку Reset на вашей плате.

В первой строчке мы подключаем заголовочный файл pitches.h при помощи оператора #include. Далее создаётся массив из нот, а также массив из продолжительности проигрывания ноты. Потом идёт цикл, где для каждой ноты вычисляется его продолжительность и вызывается функция tone(), которая и воспроизводит нужный звук. Обратите внимание, что весь код находится в методе setup(), поэтому программа выполняется один раз.

Вот так мы быстро познакомились с новым устройством — пьезоизлучателем, а также научились извлекать мелодию.

Melody

Нашёл ещё один пример с пищалкой.

Пример использует вывод 8.

02.Digital: tonePitchFollower

Ещё один простой пример File | Examples | 02.Digital | tonePitchFollower для извлечения звуков, который зависит от освещённости — вы можете проводить рукой над датчиком освещённости, создавая тем самым разные значения, которые передаются на динамик. В примере упоминается 9-омный динамик, но мы можем использовать и свой пьезоизлучатель.

Источник

Arduino для начинающих. Урок 6. Подключение пьезоэлемента

Продолжаем серию уроков “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 канал, где публикуются видео-уроки.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.

Источник

Зуммер (Trema-модуль)

Общие сведения:

Trema-модуль зуммер пассивный и Trema-модуль зуммер активный — позволяют излучать звук различными способами, в зависимости от выбранной модели зуммера.

Видео:

Спецификация:

  • Напряжение питания: 5 В
  • Потребляемый ток: до 30 мА
  • Интенсивность звука: >= 85 дБ
  • Резонансная частота: 2048 Гц
  • Сопротивление обмотки: 40 Ом
  • Рабочая температура: -20 . 70 °C
  • Габариты: 30x30x9 (без учёта выводов)

Все модули линейки «Trema» выполнены в одном формате

Подключение:

Trema-модуль зуммер пассивный и Trema-модуль зуммер активный входят в линейку Trema-модулей, что позволяет подключить их к Arduino через Trema Shield по 3-проводному шлейфу (который идёт в комплекте с зуммером) без пайки, без дополнительных проводов и переходников. Их можно подключать к любому выводу Arduino, как цифровому, так и аналоговому.

Модули имеют три вывода: Signal (S) — вход и два вывода питания Vcc (V) и GND (G).

Модули удобно подключать 3 способами, в зависимости от ситуации:

Способ — 1 : Используя проводной шлейф и Piranha UNO

Используя провода «Папа — Мама», подключаем напрямую к контроллеру Piranha UNO.

Способ — 2 : Используя Trema Set Shield

Модули можно подключить к любому из цифровых или аналоговых входов Trema Set Shield.

Способ — 3 : Используя проводной шлейф и Shield

Используя 3-х проводной шлейф, к Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

Питание:

Входное напряжение питания 5 В постоянного тока, подаётся на выводы Vcc (V) и GND (G).

Подробнее о модулях:

Trema-модуль зуммер пассивный основан на электромагнитном излучателе, который состоит из кольцевого магнита, сердечника с электромагнитной катушкой и гибкой металлической мембраны. Электромагнитная катушка преобразует электрические колебания в магнитные, а мембрана преобразует магнитные колебания в механические. Полученные механические колебания распространяются по воздуху в виде звуковых волн. Пластиковый корпус, с отверстием, усиливает акустический эффект.

Trema-модуль зуммер пассивный не имеет встроенного генератора, а преобразует электрический сигнал со входа (S) в механические колебания воздуха. Таким образом частота излучаемого звука соответствует частоте сигнала подаваемого на вход модуля. Чем выше частота, тем «тоньше» звук. Чем ближе частота к резонансной, тем звук сильнее.

Самый простой способ получения звука заключается в применении функции tone(). Данная функция генерирует меандр (сигнал прямоугольной формы с равной длительностью импульсов и пауз), с заданной частотой и длительностью.

Trema-модуль зуммер активный состоит из 5В генератора прямоугольных импульсов (меандра) с частотой 2,3 кГц, и электромагнитного излучателя в одном корпусе. Сигнал с генератора подается на электромагнитный излучатель и преобразуется в звуковые волны той же частоты.

Trema-модуль зуммер активный уже имеет встроенный генератор и для генерации звука ему не требуется использование функции beep() и ей аналогичных (как для простого Trema-зуммера). Достаточно установить состояние логической «1» на выводе «S» и Вы услышите сигнал с частотой 2,3 кГц и уровнем звукового давления не ниже 85дБ/10см.

Примеры для зуммера пассивного :

Вывод двух коротких звуковых сигнала функцией tone(), сигнализирующих о включении Arduino:

Обратите внимание на то, что в примере между двумя вызовами функции tone() устанавливается задержка на 0,2 секунды, а в комментарии написано «не выводим звук в течении 0,1 сек». Дело в том, что функция tone() выводит сигнал используя прерывания аппаратного таймера и не приостанавливает выполнение скетча на время вывода сигнала. Значит, сразу после начала вывода первого звукового сигнала, стартует функция delay(), приостанавливая выполнение скетча на 0,2 сек. но звук продолжает выводиться. Значит первые 0,1 сек — выводится сигнал, следующие 0,1 сек — тишина и последние 0,1 — опять выводится сигнал.

Может возникнуть ситуация, когда использование функции tone() невозможно, например, если аппаратный таймер используется для других целей. Тогда сигнал придётся генерировать самим, используя функцию digitalWrite():

Тот же пример, но без использования функции tone():

Обратите внимание на то, что теперь задержка между первым и вторым вызовом функции myTone() соответствует паузе между сигналами в 0,1 сек, так как функция myTone() приостанавливает выполнение скетча на время вывода звукового сигнала.

Сама функция myTone() не сложна в понимании:

  • Сначала значение переменной j получившей частоту в Гц преобразуем в длительность одного полупериода в мкс.
    Период T = 1 / F (сек), значит полупериод L = 0,5 T (сек) = 0,5 / F (сек) = 500’000 / F (мкс).
  • Далее к переменной k получившей длительность импульса, добавляется время с начала старта скетча millis()
  • Конфигурируем вывод номер которого получила переменная i как выход
  • Чередуем на выводе i логические уровни, устанавливая их на длительность J
    пока время прошедшее с момента старта скетча millis() не сравняется со значением переменной k.

Примеры для зуммера активного:

Вывод короткого звукового сигнала.

Как видно из скетча, управлять Trema-зуммером со встроенным генератором так же легко, как и обычным светодиодом.

Источник

Adblock
detector