Датчик звука, как следует из названия, предназначен для обнаружения звука (фиксирует появление громкого звука). На рис. S8.1 показаны наиболее широко применяемые в проектах Arduino датчики звука.
Внешний вид, назначение контактов

Рис. S8.1. Применяемые в проектах Arduino датчики звука
Схема подключения
Работая с датчиком звука, можно использовать как цифровой, так и аналоговый его выходы (рис. S8.2). Аналоговый выход выдает значение сигнала микрофона, а цифровой выход передает 1, если сигнал превысит пороговое значение, и 0 в противном случае. Пороговое значение можно настроить с помощью потенциометра, расположенного на плате датчика. Можно подключить одновременно и два выхода (например, для настройки порогового значения).

Рис. S8.2. Схема подключения датчика звука
Программный код
Листинг S1.8. Измерение громкости с помощью датчика звука
#define soundAnalogPin A0 // пин, к которому аналоговый выход
#define soundDigitalPin 4 // пин, к которому цифровой выход
int analogVal=0; // Объявляем переменные для хранения значений
int digitalVal=0; //с датчика и задаем ее начальное значение 0
void setup()
{
Serial.begin(9600); // Открываем монитор порта
pinMode(soundAnalogPin, INPUT);//Настройка аналогового пина на вход
pinMode(soundDigitalPin, INPUT);// Настройка цифрового пина на вход
}
void loop()
{
//присваиваем переменной аналоговое значение
analogVal =analogRead(soundAnalogPin);
//присваиваем переменной цифровое значение
digitalVal=digitalRead(soundDigitalPin);
//Выводим полученныес датчика значения
Serial.print("Sound value A0: "); //
Serial.print(analogVal,DEC);
Serial.print(" D0: ");
Serial.println(digitalVal,DEC);
delay(100); //задаем паузу
}
Результат

Рис. S8.3. Фиксация хлопка в ладоши на мониторе последовательного порта



