O sensor de som grande (#13) usa um microfone electret de maior sensibilidade com saída analógica. Produz um valor proporcional ao volume instantâneo — ideal para medir amplitude sonora, construir visualizadores de áudio ou sistemas de controlo por volume.
abs(leitura - 512).#define MIC_PIN A0
#define AMOSTRAS 50 // Médias de 50 leituras
int lerVolume() {{
long soma = 0;
for (int i = 0; i < AMOSTRAS; i++) {{
int val = analogRead(MIC_PIN);
soma += abs(val - 512); // Desvio do centro
delay(1);
}}
return soma / AMOSTRAS; // Amplitude média
}}
void setup() {{ Serial.begin(9600); }}
void loop() {{
int vol = lerVolume();
Serial.print("Volume: "); Serial.println(vol);
}}#define MIC_PIN A0
#define AMOSTRAS 30
// 4 LEDs como barra de nível (pinos D9–D12)
int leds[] = {{9, 10, 11, 12}};
#define N_LEDS 4
int lerVolume() {{
long soma = 0;
for (int i = 0; i < AMOSTRAS; i++) {{
soma += abs(analogRead(MIC_PIN) - 512);
delay(1);
}}
return soma / AMOSTRAS;
}}
void setup() {{
for (int i = 0; i < N_LEDS; i++) pinMode(leds[i], OUTPUT);
Serial.begin(9600);
}}
void loop() {{
int v = lerVolume();
int nivel = map(v, 0, 80, 0, N_LEDS);
nivel = constrain(nivel, 0, N_LEDS);
for (int i = 0; i < N_LEDS; i++)
digitalWrite(leds[i], i < nivel ? HIGH : LOW);
Serial.println(v); // Para Serial Plotter
}}#define MIC_PIN A0
void setup() {{ Serial.begin(115200); }} // Baud alto para mais resolução temporal
void loop() {{
// Envia o valor bruto — abre Serial Plotter para ver a onda
Serial.println(analogRead(MIC_PIN));
// Sem delay — máxima taxa de amostragem
}}