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

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.

Diagrama Esquemático:

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!

Código de Prueba:
Lea el valor en el pin IO23 para determinar si hay movimiento humano.

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.

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.

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
vibrarpara emitir sonido por sí mismo, a menos que se le aplique una señal deonda cuadradacon 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).

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:

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!

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?

Código:

En la función de retardo, la unidad de tiempo es microsegundos. Por lo tanto, el siguiente bloque representa un retardo de 500ms.

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
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

Código:
Arrastre un bloque “Tone” de
como se muestra a continuación, y configure el pin en IO16.

Puede seleccionar una frecuencia a voluntad.

Sin Tono: Se utiliza para apagar todos los tonos.

Código completo:

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:

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!

Código de Prueba:
Flujo del código:

Código completo:
