Эксперимент № 8. Пассивный зуммер

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

Обычно звук производится с помощью зуммера или звукового динамика. С помощью зуммера, пьезодинамика, это сделать проще всего. В этом эксперименте мы применим так называемый пассивный пьезодинамик (passive buzzer). Пассивный он потому, что не может пищать сам по себе, когда его подключают к источнику тока. Заставить его звучать можно подав импульсных сигнал определенной частоты. Частота импульсов определяет частоту звука: чем чаще импульсы, тем выше звук.

Необходимые компоненты

  • Пассивный зуммер-пищалка 1шт.
  • Пара проводов-перемычек

Схема сборки

Возьмем схему из предыдущего эксперимента, с активным зуммером, и просто заменим активный зуммер на пассивный.

Скетч

Загрузим вот этой скетч:

/**
 * (C) jarduino.ru 2019
 * Изучение ардуино через опыты.
 *
 * Эксперимент №8. Пассивный зуммер
 * Извлекаем звуки различной высоты.
 */

int pibBuzzer = 8; // пин для подключения зуммера

void setup()
{
	pinMode(pibBuzzer, OUTPUT); // включаем пин зуммера на вывод
}

void loop()
{
	byte i;

	// воспроизвести звук
	for (i = 0; i < 100; i++)
	{
		digitalWrite(pibBuzzer, HIGH); // включить звук
		delay(1); // задержка в 1 мсек.
		digitalWrite(pibBuzzer, LOW); // выключить звук
		delay(1); // задержка в 1 мсек.
	}

	// Частота звука зависит от продолжительности задержки при включении и выклюении питания зуммера
	// аналогичный цикл, но с частотой в 2 раза меньше:
	for (i = 0; i < 50; i++)
	{
		digitalWrite(pibBuzzer, HIGH);
		delay(2);
		digitalWrite(pibBuzzer, LOW);
		delay(2);
	}
}

Результат

Зуммер сразу же начнет пищать, переключая в цикле свою частоту с высокого на низкую.

Объяснения

Данная программа в бесконечном цикле делает следующее:

  • Заданное число раз подает на зуммер импульс по 1 миллисекунде,
  • затем – по 2 миллисекунде.

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

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

Заключение

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

Теперь вы можете сыграть на Aerduino целую мелодию. ))

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

В будущих экспериментах мы непременно сыграем мелодию посложнее и даже соберем на Ардуино маленькую электронную пианино.

Добавить комментарий