Arduino uno speaker

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. Смотри также список магазинов.

Источник

Как подключить пьезоизлучатель (пьезопищалку) к Arduino

Генерировать звуки с помощью Ардуино можно разными способами. Самый простой из них – подключить к плате пьезоизлучатель (или, как его ещё называют, «пьезопищалку»). Но как всегда, есть тут свои нюансы. В общем, давайте подключим к Arduino пьезопищалку и будем разбираться.

Инструкция по подключению пьезоизлучателя к Arduino

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Arduino и зуммер

Описание

Зуммер, он же баззер (англ. buzzer), он же “пищалка”, он же пьезоэлектрический излучатель в корпусе – простейший источник звука. Очень часто используется в электронике для звуковой индикации: будильники, таймеры, а также практически вся бытовая техника (микроволновки, стиралки, посудомойки и т.д.) издаёт звук при помощи этого компонента. Ну и конечно же его можно найти почти на любой материнской плате компьютера.

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

Подключение

Потребляет зуммер от 10 до 30 мА, поэтому в принципе можно подключать его к цифровому пину Arduino напрямую, но к esp8266 (Wemos mini) нужно подключать через токоограничивающий резистор с сопротивлением

Примеры

Если зуммер активный – достаточно подать на него высокий сигнал для включения звука. Тут можно даже использовать в качестве примера стандартный “блинк”:

Если зуммер пассивный – всё гораздо интереснее, так как можно генерировать звук нужной частоты, то есть тона, самому! Данный код заставит зуммер пищать на частоте 1 кГц. Делать пин выходом не нужно, это встроено в функцию tone()

Для нескольких коротких сигналов модифицируем первый пример:

Более подробное описание и примеры с tone() можно найти в уроке по ссылке ниже

Источник

Подключение пьезопищалки и генерация звука. Функции tone() и noTone()

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

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

Ранее мы научились подключать к плате светодиод и познакомились с функциями digitalWrite() и delay(). С их помощью можно подавать напряжение на пины контроллера и приостанавливать выполнение программы. Эти функции здесь тоже пригодятся.

Для чего нам звуки

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

К примеру, известный робот R2-D2 использовал оба типа обратной связи — он мигал и издавал странные звуки.

Для начала разберемся, как работает пьезопищалка. Очевидно, что она должна издавать звук. Но что это и как возникает?

Что такое звук

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

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

Так оно и есть. Пьезодинамик может совершать маленькие, незаметные для глаз движения под воздействием электричества. Мы их не увидим, однако воздух колебать они могут, а значит будет издаваться звук.

Имея в своем распоряжении Arduino, мы можем использовать электричество и подавать напряжение на пищалку по определенной программе.

Как извлечь звук из пьезопищалки

Если подключить пьезопищалку напрямую к батарейному отсеку и подать постоянный ток на пластину, то ничего не произойдёт. Попробуем подключить ее к какому-нибудь D-пину и GND нашего Arduino.

Но сначала нужно загрузить в плату программу, которая будет управлять напряжением на этом пине:

Итак, код залит в плату. Присоединяем новый элемент.

Рис. 2. Подключение пьезопищалки к плате Arduino

Настройка звучания сигнала

Если все сделано, как описано выше, то должны быть слышны щелчки.

Мы установили чередование подачи и отключения напряжения с длительностью в 500 тысячных долей секунды через параметр функции delay(). Поэтому звук длится полсекунды, после чего на такой же отрезок времени затихает.

Чтобы колебания происходили быстрее, то есть чаще, нужно уменьшить время задержки.

Поэкспериментируйте с разными значениями для функции delay(). Попробуйте выставить в программе вместо 500 числа 10, 5, 1.

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

Кстати, именно поэтому мы слышим писк, когда рядом летает комар. Он часто-часто машет своими крылышками. В противовес ему — полет шмеля, который гораздо тяжелее и медленнее, поэтому он как бы “гудит”.

Как рождается мелодия

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

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

Запись функции выглядит так:

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

Рис. 3. Схема подключения пьезопищалки к контроллеру

Пример программы с функцией tone():

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

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

Одним из применений может стать установка музыкального приветствия на запуск робота:

Горшочек, не вари!

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

У этой функции лишь один параметр — указание нужного пина.

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

С небольшими изменениями предыдущий пример превращается в код для мелодии приветствия нашего робота:

Обратите внимание, что при использовании нескольких пьезопищалок нужно сначала подавать noTone() на пин, где уже были активированы колебания, и только потом вызывать tone() на другой пин.

Источник

USE a BUZZER MODULE (PIEZO SPEAKER) USING ARDUINO UNO © Apache-2.0

THIS PROJECT IS BASED on THE ALARMS AND BEEPS USING BUZZERS FOR SECURITY

In this tutorial you will learn how to use a buzzer or piezo speaker with Arduino. Buzzers can be found in alarm devices, computers, timers and confirmation of user input such as a mouse click or keystroke.

You will also learn how to use tone() and noTone() function.

So, let’s get started!

Step 1: What You Will Need

For this tutorial you will need:

  • Arduino uno
  • Breadboard
  • Buzzer / piezo speaker
  • 100 Ohm resistor (optional)

Step 2: The Circuit

The connections are pretty easy, see the image above with breadboard circuit schematic.

Step 3: The Code

Here’s the «Tone» code, embedded using codebender!

How it works? It’s simple, tone(buzzer, 1000) sends a 1KHz sound signal to pin 9, delay(1000) pause the program for one second and noTone(buzzer) stops the signal sound. The loop() routine will make this run again and again making a short beeping sound.

(you can also use tone(pin, frequency, duration) function)

Play with the project now by changing the code. For example, try to change sound signal «1000» (1KHz) to «500» (500Hz) or delay time and see how it changes the program.

Step 4: Well Done!

You have successfully completed one more Arduino tutorial and you learned how to use:

  • buzzer / piezo speaker
  • tone(), noTone() functions

I hope you liked this, let me know in the comments.

There will be more of them, so make sure to click Follow button!

Источник

Adblock
detector