Sensor de sonido
🎯 OBJETIVO
El sistema debe:
- Medir el nivel de sonido.
- Activarse (encender el LED integrado) solo cuando el sonido supere aproximadamente 65 decibelios.
- Permanecer apagado si el sonido es menor.
🔌 MONTAJE DEL CIRCUITO
El sensor tiene 4 pines:
- VCC → 5V del Arduino
- GND → GND del Arduino
- AO → A0 del Arduino
- DO → No lo usamos
Solo necesitamos esos tres cables.
🧠 ¿Cómo medimos los 65 dB?
Un sensor barato NO mide decibelios reales exactos.
Lo que hace es:
- Detectar vibraciones del aire.
- Convertirlas en señal eléctrica.
- El Arduino convierte esa señal en un número entre 0 y 1023.
📊 Equivalencia aproximada
Después de probar en clase normalmente ocurre que:
- Silencio → valores entre 200–400
- Conversación normal (~60–65 dB) → 500–600
- Grito → 700–900
Por tanto, podemos considerar que:
65 dB ≈ valor 600
Este valor puede cambiar un poco según el sensor.
💻 CÓDIGO COMPLETO (BIEN EXPLICADO)
#include <iostream>
#include <thread>
#include <chrono>
using namespace std;
// Pin del sensor (simulado)
const int sensorPin = 0;
// Pin del LED integrado
const int ledPin = 13;
// Variable para guardar el valor del sonido
int valorSonido = 0;
// Umbral aproximado para 65 dB
int umbral = 600;
void setup() {
cout << "Sistema iniciado (simulacion)" << endl;
}
void loop() {
// Simulamos lectura del sensor
cout << "Introduce nivel de sonido (0-1023): ";
cin >> valorSonido;
cout << "Nivel de sonido: " << valorSonido << endl;
if (valorSonido > umbral) {
cout << "LED ENCENDIDO (ruido alto)" << endl;
}
else {
cout << "LED APAGADO (ruido normal)" << endl;
}
this_thread::sleep_for(chrono::milliseconds(100));
}
int main() {
setup();
while (true) {
loop();
}
return 0;
}
📘 EXPLICACIÓN PASO A PASO
1️⃣ analogRead(A0)
Lee el valor del sensor y devuelve un número entre 0 y 1023.
2️⃣ La variable “umbral”
int umbral = 600;
Este número representa aproximadamente los 65 dB.
Si el valor leído es mayor que 600 → significa que el sonido es fuerte.
3️⃣ Estructura condicional
if (valorSonido > umbral)
Significa:
“Si el sonido es mayor que 65 dB, activa el sistema”
4️⃣ LED integrado
El pin 13 controla el LED que ya viene dentro del Arduino.
No necesitamos componentes extra.
⚙️ MUY IMPORTANTE: CALIBRACIÓN
Cada sensor es diferente.
Para ajustarlo bien en clase:
- Subid el programa.
- Abrir el Monitor Serie.
- Hablad en voz normal.
- Observad los valores.
- Ajustad el tornillo del sensor.
- Cambiad el valor de
umbralsi hace falta.
🎓 ¿Qué conceptos estás trabajando?
✔ Señales analógicas
✔ Conversión analógica-digital
✔ Variables
✔ Condicionales (if)
✔ Electrónica básica
✔ Relación entre física (dB) y programación
🧪 Resultado esperado en clase
- Aula en silencio → LED apagado
- Conversación fuerte → puede encenderse
- Palmada o grito → LED se enciende

