O objetivo deste sensor é medir a intensidade sonora do ambiente ao seu redor, variando o estado da sua saída digital caso seja detectado algum sinal sonoro. Possui um microfone de condensador eléctrico e pode ser usado em sistemas de alarme por exemplo.
O limite de detecção pode ser ajustado através do potenciómetro presente no sensor que regulará a saída digital D0. Contudo para ter uma resolução melhor é possível utilizar a saída analógica A0 e conectar a um conversor AD, como a presente no Arduino, por exemplo.
Características:
• Tensão da operação: 4-6V DC;
• Sensibilidade ajustável via potenciómetro;
• Saída digital e analógica;
• Fácil instalação;
• LED indicador para tensão;
• LED indicador para saída digital.
Pinos:
• AO: Saída Analógica;
• GND: Terra;
• VCC: Tensão de Entrada 3-24V;
• DO: Saída Digital.
Inclui:
• 1x Sensor de Som.
Possível Esquema de Ligação:
Código Exemplo:
//Programa: Sensor de som KY-038
//Definicao pinos leds
int pinoled_ver = 3;
int pinoled_ama = 4;
int pinoled_verm = 5;
//Definicao pinos sensor
int pino_analogico = A5;
int pino_digital = 7;
int valor_A0 = 0;
int valor_D = 0;
void setup()
{
Serial.begin(9600);
//Define pinos led como saida
pinMode(pinoled_ver, OUTPUT);
pinMode(pinoled_ama, OUTPUT);
pinMode(pinoled_verm, OUTPUT);
//Define pinos sensor como entrada
pinMode(pino_analogico, INPUT);
pinMode(pino_digital, INPUT);
}
void loop()
{
valor_A0 = analogRead(pino_analogico);
valor_D = digitalRead(pino_digital);
Serial.print("Saida A0: ");
Serial.print(valor_A0);
Serial.print(" Saida D0: ");
Serial.println(valor_D);
//Intensidade baixa
if (valor_A0 > 20 && valor_A0 < 300)
{
digitalWrite(pinoled_ver, HIGH);
digitalWrite(pinoled_ama, LOW);
digitalWrite(pinoled_verm, LOW);
}
//Intensidade media
if (valor_A0 > 301 && valor_A0 < 700)
{
digitalWrite(pinoled_ver, HIGH);
digitalWrite(pinoled_ama, HIGH);
digitalWrite(pinoled_verm, LOW);
}
//Intensidade alta
if (valor_A0 > 701)
{
digitalWrite(pinoled_ver, HIGH);
digitalWrite(pinoled_ama, HIGH);
digitalWrite(pinoled_verm, HIGH);
}
delay(50);
//Apaga todos os leds
digitalWrite(pinoled_ver, LOW);
digitalWrite(pinoled_ama, LOW);
digitalWrite(pinoled_verm, LOW);