### 4.3 Proyecto: Sistema de Alarma En este proyecto, utilizamos un sensor de movimiento PIR y un zumbador para construir un sistema de alarma, que puede ser controlado por la placa de desarrollo ESP32. ¿Cómo funciona? Las señales eléctricas son detectadas y leídas por el sensor de movimiento PIR a través de la programación en KidsBlock IDE, y luego determina si hay una persona. Si la hay, el zumbador emite una alarma. De esta manera, este sistema de alarma tiene un costo mucho menor para hogares y oficinas. --- #### 4.3.1 Diagrama de Flujo ![image-20230606102303743](../media/image-20230606102303743.png) --- #### 4.3.2 Sensor de Movimiento PIR **Descripción:** Un sensor de movimiento PIR detecta la presencia de una persona al detectar el calor emitido por el cuerpo humano. Además, este sensor es pequeño y fácil de usar. ![img](../media/cou32.png) --- **Diagrama Esquemático:** ![img](../media/couy31.png) **Parámetros:** - Voltaje: 3~5V - Corriente: 3.6mA - Potencia: 18mW - Ángulo de Visión: Y = 90°, X = 110° (valor teórico) - Distancia de Detección: ≤5m --- **Diagrama de Cableado:** **Conecte el sensor de movimiento PIR a io23.** **Atención: Conecte el amarillo a S(Señal), el rojo a V(Alimentación) y el negro a GND. ¡No los invierta!** ![img](../media/couj31.png) --- **Código de Prueba:** Lea el valor en el pin IO23 para determinar si hay movimiento humano. ![image-20250423083305405](../media/image-20250423083305405.png) **Resultado de la Prueba:** Abra el monitor serial. Cuando hay alguien en el área, se muestra **Someone** en el monitor y el LED rojo del sensor se apaga. Sin embargo, si no hay nadie, se imprimirá **No one** y el LED siempre estará encendido. **ATENCIÓN**: El sensor de movimiento PIR no puede penetrar objetos, así que no cubra el sensor mientras detecta movimientos. ![img](../media/st57.png) --- #### 4.3.3 Zumbador **Descripción:** Un zumbador es un dispositivo sonoro electrónico que emite sonidos con diferentes frecuencias y duraciones y se alimenta con voltaje de CC. Por lo tanto, puede usarse como recordatorio o alarma en muchos dispositivos electrónicos, como computadoras, impresoras, fotocopiadoras, alarmas, juguetes electrónicos, electrónica automotriz, teléfonos y temporizadores. ![img](../media/cou34.png) --- Un zumbador consta de un **dispositivo de vibración** y un **dispositivo de resonancia**. Y hay dos categorías: Zumbadores pasivos y zumbadores activos. - Un **Zumbador Pasivo** no puede `vibrar` para emitir sonido por sí mismo, a menos que se le aplique una señal de `onda cuadrada` con una cierta frecuencia. Además, el sonido emitido varía debido a la diferente frecuencia de la onda cuadrada, por lo que un zumbador pasivo puede simular tonos. - Una onda cuadrada analógica se puede generar cambiando el nivel de potencia en los pines. Por ejemplo, después de que el nivel alto dure 500ms, cambia a un nivel bajo durante otros 500ms y luego a un nivel alto nuevamente... - **Conducimos el zumbador a través de una onda cuadrada dentro de 200~5000Hz, y podemos calcular la frecuencia (f): *f=1/T*; T es el período (el tiempo total de nivel alto y bajo).** ![img](../media/cou35.png) - Un **Zumbador Activo** es capaz de emitir sonido automáticamente sin un motivador externo, porque incluye un circuito de accionamiento que solo necesita `fuente de alimentación de CC`. Sin embargo, su sonido es plano con una frecuencia relativamente fija. --- **En este experimento, se aplica un zumbador pasivo para "tocar música".** --- **Diagrama Esquemático:** ![img](../media/cou38.png) **Parámetros:** - Voltaje: 3~5V - Corriente: ≤5mA - Potencia: ≤25mW --- **Diagrama de Cableado:** **Conecte el zumbador a io16.** **Atención: Conecte el amarillo a S(Señal), el rojo a V(Alimentación) y el negro a GND. ¡No los invierta!** ![img](../media/couj32.png) --- **Código de Prueba:** **Método 1: Onda Cuadrada Analógica** Un zumbador pasivo es accionado por ondas cuadradas, por lo que simulamos la onda. Una onda cuadrada analógica se puede generar cambiando el nivel de potencia del pin: nivel alto durante 500us y nivel bajo durante 500us. Así, el zumbador emitirá sonido. Además, las duraciones pueden ajustar el volumen del sonido. Pruebe 1000us, 1500us, 3000us... ¿Cuál es la diferencia? ![img](../media/cou36.png) Código: ![img](../media/st58.png) - En la función de retardo, la unidad de tiempo es microsegundos. Por lo tanto, el siguiente bloque representa un retardo de 500ms. ![img](../media/st59.png) Según la fórmula: Por lo tanto, 500us es la duración, y podemos calcular la frecuencia = 2kHz, es decir, los niveles alto y bajo se alternan 2000 veces por segundo. --- **Método 2: Bloques de Altavoz** Adoptamos los bloques de código de Altavoz ![image24](../media/st60.png) para hacer vibrar el zumbador. **Los bloques de Altavoz generan una señal PWM con una cierta frecuencia para hacer vibrar el zumbador,** y la duración y el tono se controlan mediante parámetros relacionados. Hay dos formas de definir la duración. Una es ajustar los parámetros de la función tone() para establecer una duración, y la otra es adoptar una función noTone() para detener directamente el sonido. Si no define una duración en tone(), la señal de sonido siempre se generará a menos que un noTone() la detenga. Para la placa ESP32, solo se puede producir un sonido a la vez. Si un pin de ESP32 está generando una señal de sonido a través de tone(), no es aceptable emitir sonido con esta función en otro pin. **Tabla de Tonos** ![img](../media/cou37.png) Código: - Arrastre un bloque "**Tone**" de ![image25](../media/st60.png) como se muestra a continuación, y configure el pin en IO16. ![img](../media/st61.png) - Puede seleccionar una frecuencia a voluntad. ![img](../media/st62.png) - Sin Tono: Se utiliza para apagar todos los tonos. ![img](../media/st65.png) Código completo: ![img](../media/st63.png) **Resultado de la Prueba:** Método 1: El zumbador sigue emitiendo sonido. Método 2: El zumbador emite una alarma a través de la función tone(). --- **Expansión: Reproducir Música** Reproducir música a través de tone(). Código completo: ![img](../media/st64.png) --- #### 4.3.4 Sistema de Alarma En este experimento, construiremos un sistema de alarma con un sensor de movimiento PIR, un zumbador y un LED. Cuando el sensor detecta movimiento, el zumbador emite sonido y el LED parpadea para alertar de una intrusión. --- **Diagrama de Cableado:** **Conecte el sensor de movimiento PIR a io23, el zumbador a io16 y el LED a io27.** **Atención: Conecte el amarillo a S(Señal), el rojo a V(Alimentación) y el negro a GND. ¡No los invierta!** ![img](../media/couj33.png) --- **Código de Prueba:** Flujo del código: ![img](../media/flo3.png) Código completo: ![image-20250423084431295](../media/image-20250423084431295.png)