Как работать со звуком на Arduino.
Для извлечения звуков, сигналов и простых мелодий на Ардуино используется пьезопищалка, пьезоизлучатель ( buzzer ).
Подключается напрямую к плате Arduino.
Имеет два контакта: “плюс” (более длинный разъем) и “минус” (короткий разъем).
Контакт “минус” подключается к разъему GND ( “Земля” ) на плате Arduino.
Контакт “плюс” подключается к цифровому пину на плате микроконтроллера.
В примере используется цифровой пин “8”.

Для управления используется функция tone(), в которой задается пин подключения, частота звука, длительность импульса.
Самая простая программа для извлечения звука:
void setup() { } void loop() { noTone(8); tone(8, 4000, 100); delay(1000); }
Функция noTone() здесь отключает сигнал импульса на пьезоизлучателе.
Чтобы проверить на каждой конкретной модели звукового излучателя все возможные к использованию частоты, а также их качество и громкость,
можно использовать следующую программу:
void setup() { Serial.begin(9600); } void loop() { noTone(8); for (int i=0; i<10000; i+=100) { Serial.print("Frequency - "); Serial.println(i); tone(8, i, 100); delay(1000); } }
Здесь испытывается диапазон частот от 0 до 10000 с шагом 100.
На каждой частоте звуковой сигнал воспроизводится платой и значение текущей частоты выводится в последовательный порт.

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