/*
Projeto: Pisca Leds conforme intensidade de som identificado pelo módulo Sensor KY-038
Autor: André Silveira
Data: 03/10/2021
*/
const byte pinLeds[] = {7,8,9,10,11,12}; // Saídas digitais 07 a 12 do Arduino
const byte pinSensor = A0; // Entrada analógica A0 do Arduino Sensor de Som KY-038
const byte nLeds = 6; // Constante que define a quantidade de leds
const int calibragem = 816; // Altere valor para seu projeto
int incremento = 1; // Variável com o valor de incremento em função de leds
unsigned long anterior = 0; // Variável para o temporizador (calibragem)
void setup() {
Serial.begin(9600);
for (byte i=0;i<nLeds;i++) {
pinMode(pinLeds[i], OUTPUT); // Inicializa Leds
pinMode(pinSensor, INPUT); // Inicializa Sensor de Som KY-038
}
}
void loop() {
// ---- Le Módulo Sensor de Som KY-038 e identifica intensidade emitida
int sound = analogRead(pinSensor); // Lê intensidade sonora detectada pelo sensor de som
int limite = calibragem; // Define o limite para acionar o led
for (byte i=0;i<nLeds;i++) {
// sound > limite ? digitalWrite(pinLeds[i],HIGH) : digitalWrite(pinLeds[i],LOW);
if (sound > limite) {
digitalWrite(pinLeds[i],HIGH);
}
digitalWrite(pinLeds[i],LOW);
limite += incremento;
}
// ---- Exibe valores na serial a cada 500 milisegundos
unsigned long atual = millis(); // Define variável atual do temporizador
if (atual - anterior > 500) {
Serial.print(analogRead(pinSensor));
Serial.print(" | Limite: ");
Serial.println(calibragem);
anterior = atual;
}
delay(1);
} |