Динамик. Динамик Подключения зуммера к Arduino

В этом опыте, мы снова будем преодолевать разрыв между миром цифровым и аналоговым.
Мы будем использовать BUZZER, пищалку или зуммер, кому как нравится, который делает небольшой «щелчок», если кратковременно дотронуться его контактами до питания +5 вольт и «-» GND, попробуйте!
Само по себе это не очень интересно, но если вы подадите на него напряжение и тут же отключите, и так со скоростью 100 раз в секунду
зуммер начнет пищать. И если собрать сотни строк тонов вместе, у вас появится музыка!

Внимание в наборе Arduino Starter KIT, обычно идут похожие, как две капли воды, пищалка, и пъезо-керамический излучатель, они хоть и похожи, но принцип работы разный. У пищалки (буззера), на верхней стороне, там где дырочка, наклеен белый кружочек, у излучателя ничего не наклеено.

В этом опыте ардуино будет играть мелодию, во всяком случае мы на это надеемся!
Схема, очень простая, собрать сможет почти любой, специальных знаний и опыта совсем не требуется.

Выше, вы видите принципиальную схему к этому уроку, сложностей, повторяю еще раз, во время сборки возникнуть не должно.

Для этого опыта вам понадобится:

1. Arduino UNO — 1 шт.

2. Buzzer (пищалка) — 1 шт.

6. Соединительные провода.

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

Схема соединений к уроку 11. Ардуино и пищалка

Скачать код к опыту 11. Скетч и подробное описание (Обязательно прочтите весь скетч!):

Набор для экспериментов ArduinoKit
Код программы для опыта №11:

Вид созданного урока на макетной схеме:

Arduino и Пищалка (buzzer). Урок 11

В результате проделанного опыта Вы должны увидеть, а что вы должны увидеть, — да нечего. Вы должны услышать!!!

Вы должны услышать электронную мелодию «Twinkle, Twinkle Little Star», или подобную, это не столь важно, главное чтобы услышали.

Код написан так, что вы легко можете добавить свои собственные мелодии.

Возможные трудности:

Нет звука
Учитывая размер и форму пищалки легко промахнуться мимо нужного отверстия в плате.
Попробуйте еще раз проверить его размещение.
Все равно не работает, не пойму почему
Попробуйте вытянуть пищалку из платы и снова воткнуть ее на свое место, а потом загрузите код программы в плату Arduino.

Всем удачи! Ждём ваши комментарии к ARDUINO УРОК 11 — BUZZER.

Амплитудно-частотная характеристика пьезоизлучателя не равномерна и имеет выраженный максимум (или несколько максимумов) на частотах от 2000 до 5000 Гц (в зависимости от конструкции излучателя). Именно на частоте максимума, называемой резонансной частотой, от пьезоизлучателя можно добиться наибольшей громкости.

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


Для получения двойной амплитуды сигнала (то есть где-то 9-10 вольт при напряжении питания микроконтроллера 5 вольт) можно включить пьезоизлучатель между двумя выводами микроконтроллера. При этом не нужно забывать, что у пьезоэлектрического преобразователя есть такие параметры как номинальное и предельное входные напряжения. Понятно, что превышать эти значения не желательно.
Сигналы, подаваемые на выводы микроконтроллера в таком включении должны быть противофазными (на одном выводе 0, на другом 1 и наоборот).


Получить двойную амплитуду сигнала, не используя дополнительный вывод микроконтроллера, можно с помощью такой нехитрой схемы. Когда на выводе PC0 единица – транзистор открыт, правый контакт пьезоизлучателя подключен к земле, а на левом напряжение логической единицы. Когда на выводе PC0 ноль – транзистор закрыт, правый контакт пьезоизлучателя подключен к плюсу питания (VCC должно быть равно напряжению питания микроконтроллера), а левый посажен на землю.


На многих платах микроконтроллер запитывается от стабилизатора напряжения, на вход которого подается 7-12 вольт. Можно задействовать это напряжение для увеличения громкости звучания пьезоизлучателя, если подключить его к микроконтроллеру с помощью транзистора.


Ну и, наконец, двойную амплитуду сигнала на пьезоизлучателе можно получить с помощью логических микросхем – НЕ, И-НЕ, ИЛИ-НЕ. Эту схему выгодно использовать, если на плате остались не задействованные вентили логических микросхем.



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

Которые часто используются в электронике как индикаторы состояния. Самым простым примером может служить индикатор питания, с помощью которого прибор сообщает пользователю, что он включен. Очень часто вместе со световой индикацией, в устройствах применяется звуковая индикация. Во многих электронных приборах есть источник звука, который как и световой индикатор помогает пользователю в работе.

Обычно в электронике используются два типа источников звука:

  • громкоговоритель (динамик);
  • звукоизлучатель (зуммер).

В этом уроке мы поговорим о динамике. Разберем подробно его устройство и попробуем проиграть мелодию на Ардуино!

Громкоговоритель, он же динамик

Все громкоговорители можно разделить на два подтипа: электродинамический и пьезоэлектрический. Именно от названия первого подтипа пошло хорошо известное нам название динамик .

Наверное каждый из нас хотя бы раз в жизни разбирал какой-нибудь старый динамик. Внутри него обязательно есть постоянный магнит, который прочно склеен с металлическим диском и цилиндрическим якорем по середине.

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

Человеку, знакомому со школьным курсом физики не составит труда догадаться как работает это устройство. Мы знаем, что если подать на звуковую катушку напряжение, то в её витках возникнет электрический ток (ну это уж совсем очевидно). Согласно закону Ампера, на проводник с током, находящийся в магнитном поле будет действовать сила Ампера.

Направление этой силы можно легко вычислить с помощью правила левой руки: если вектор манитного поля направлен в ладонь, а пальцы направлены по току (вдоль витков провода), то большой палец будет указывать направление силы. Именно сила Ампера то притягивает катушку к основанию якоря, то отталкивает от него, в зависимости от направления электрического тока.

То есть подавая на катушку переменный ток, мы заставим её колебаться. Звуковая катушка прочно соединена с диффузором, так что он тоже начнет колебаться. Движение же большого диффузора приведёт к колебанию большой массы воздуха, что мы и называем звуковой волной!

1 Схема подключения пьезоизлучателя к Arduino

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

Пьезоизлучатель имеет 2 вывода, причём полярность имеет значение. Поэтому чёрный вывод подключаем к земле (GND), а красный - к любому цифровому пину с функцией ШИМ (PWM). В данном примере положительный вывод излучателя подключён к выводу "D3".

Схема подключения пьезоизлучателя к Arduino и схема, собранная на макетной плате

2 с помощью функции analogWrite()

Пьезопищалку можно задействовать разными способами. Самый простой из них - это использовать функцию analogWrite() . Пример скетча - во врезке. Данный скетч попеременно включает и выключает звук с частотой 1 раз в 2 секунды.

/* Объявляем переменную с номером вывода, к которому подключён пьезоэлемент: */ int soundPin = 3; void setup() { // ставим пин "3" в режим работы "Выход": pinMode(soundPin, OUTPUT); } void loop() { analogWrite(soundPin, 50); // включаем пьезоизлучатель delay(1000); // на 1000 мс (1 сек), analogWrite(soundPin, 0); // выключаем звук delay(1000); // на 1 сек. }

Задаём номер пина, определяем его как выход. Функция analogWrite() принимает в качестве аргументов номер вывода и уровень, который может быть от 0 до 255, т.к. ШИМ -выводы Ардуино имеют 8-битный ЦАП. Это значение будет изменять громкость пьезопищалки в небольших пределах. Чтобы выключить пьезопищалку, нужно послать в порт значение "0".

Используя функцию analogWrite() , нельзя изменять тональность звука, к сожалению. Пьезоизлучатель всегда будет звучать на частоте примерно 980 Гц, что соответствует частоте работы выводов с широтно-импульсной модуляцией сигнала (ШИМ) на платах Arduino UNO и подобных.

3 Извлекаем звук из пьезоизлучателя с помощью функции tone()

Но частоту звучания можно менять по-другому. Для этого извлечём звук из пьезоизлучателя посредством встроенной функции tone() . Пример простейшего скетча приведён на врезке.

Int soundPin = 3; /* объявляем переменную с номером пина, на который мы подключили пьезоэлемент */ void setup() { pinMode(soundPin, OUTPUT); //объявляем пин 3 как выход. Serial.begin(9600); // будем выводить в порт текущую частоту } void loop() { for (int i=20; i

Функция tone() принимает в качестве аргументов номер вывода Arduino и звуковую частоту. Нижний предел частоты - 31 Гц, верхний предел ограничен параметрами пьезоизлучателя и человеческого слуха. Чтобы выключить звук, посылаем в порт команду noTone() .

А вот так будет выглядеть временная диаграмма сигнала, который генерирует функция tone() . Видно, что каждые 100 мс частота увеличивается, что мы и слышим:

Временная диаграмма сигнала функции tone()

Как видите, с помощью пьезоизлучателя из Ардуино можно извлекать звуки. Можно даже написать несложную музыкальную композицию, задав ноты соответствующими частотами, а также определив длительность звучания каждой ноты посредством функции delay() .

Обратите внимание, что если к Ардуино подключены несколько пьезоизлучателей, то единовременно будет работать только один. Чтобы включить излучатель на другом выводе, нужно прервать звук на текущем, вызвав функцию noTone() .

Важный момент: функция tone() накладывается на ШИМ сигнал на "3" и "11" выводах Arduino. Т.е., вызванная, например, для пина "5", функция tone() может мешать работе выводов "3" и "11". Имейте это в виду, когда будете проектировать свои устройства.

  1. Arduino uno: http://ali.ski/F2M5FU
  2. Контактные провода: http://ali.ski/xUGe19
  3. Пьезоизлучатель: http://ali.ski/-jD9q_

В данном уроке мы подключим пьезоизлучатель к ардуино. С помощью пьезоизлучателя, можно генерировать разные тоны и простые 8 битные мелодии.

Пьезоэлектри́ческий излуча́тель , пьезоизлуча́тель - электроакустическое устройство, способное воспроизводить звук , либо излучать ультразвук , благодаря обратному пьезоэлектрическому эффекту .

Конструкция:

Пьезоэлектрический излучатель состоит из металлической пластины, на которую нанесён слой пьезоэлектрика , имеющий на внешней стороне токопроводящее напыление. Пластина и напыление являются двумя контактами. Для увеличения громкости звука к металлической пластине может крепиться небольшой рупор в виде металлического или пластикового купола с отверстием . В качестве рупора также может использоваться углубление в корпусе устройства, в котором используется пьезоизлучатель.

Пьезоизлучатели бывают 2 видов: Активный и пасивный. Активный пьезоизлучатель имеет 3 пина. Пин +, -, и пин i/o при подаче на который логической 1 будет воспроизводиться звук.

Пассивный пьезоизлучатель имеет 2 ножки +,- он воспроизводит звук сразу же кактолько на него подается напряжение.

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

Применение:

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

Пьезоизлучатель также может использоваться в качестве пьезоэлектрического микрофона или датчика.

Подключение: по схеме видно что +,- зумера мы подключаем к +,- ардуино, а пин i/o зумера мы подключаем к 13 пину ардуино.

После чего скопируем код приведенный ниже в Arduino IDE и зальем его в ардуино, после чего мы услышим как воспроизводится звук с разной частотой и тональностью.

Int SoundPin = 13; //Объявляем переменную, к которой подключен пин пьезоизлучателя int DelaySound = 1000; //Пауза 1 секунда void setup() { } void loop() { tone(SoundPin, 1915); // Воспроизводим сигнал с частотой 1915 Гц delay(DelaySound); //Пауза 1 секунда (1000 милисекунд - значение переменной DelaySound) - длительность воспроизведения сигнала tone(SoundPin, 1700); delay(DelaySound); tone(SoundPin, 1519); delay(DelaySound); tone(SoundPin, 1432); delay(DelaySound); tone(SoundPin, 1275); delay(DelaySound); tone(SoundPin, 1136); delay(DelaySound); tone(SoundPin, 1014); delay(DelaySound); noTone(7); //Выключаем звук }

Прослушать и увидеть данную реализацию можно ниже в видео.

Видео: