Cómo construir un tapete de alarma controlado por una aplicación

Despertarse no siempre es fácil, especialmente cuando el botón de repetición suele estar a poca distancia. Superar el deseo de permanecer en la comodidad de nuestra cama a menudo requiere una comprensión de la motivación intrínseca. Pero tenemos una solución que requiere un dispositivo sencillo: una alfombra inteligente.

En este proyecto diseñaremos una alfombra inteligente que actuará como despertador matutino. No sólo hace sonar una alarma, sino que también te ayuda a inspirarte a superar la postergación matutina de levantarte de la cama.

Diseñaremos un prototipo de alfombra inteligente con la electrónica necesaria para garantizar que te despiertes fácilmente durante el día. Indica la hora y hace sonar la alarma, que se puede programar desde una aplicación móvil. Necesitará un tapete y un microcontrolador con funcionalidad Bluetooth y WiFi. Usamos ESP32. También se requieren un botón y una campana. Vamos a empezar.

Componentes necesarios

1ESP32x1
2.
Presione los botones x según sea necesario
3. Timbre x1
4. Alfombra normal x1

Conexiones de circuito
Para empezar, necesitará un tapete normal que se pueda romper en dos capas (la electrónica va adentro). Prepare una serie de botones, todos conectados en paralelo y dispuestos a distancias iguales entre sí en forma de tapete, como se muestra en la imagen a continuación.

Coloque piezas cuadradas de plástico fino o lámina acrílica en la parte superior de los botones usando pegamento para formar la capa intermedia. Así, cuando se aplica una fuerza al cuadrado de lámina de plástico, se presiona el botón.

El conjunto de botones forma la capa intermedia del tapete. Si alguien se sube a él, se presionarán varios botones y esto provocará un cortocircuito en los dos cables que conectan todos los botones en paralelo. Uno de estos cables se conecta al pin de tierra del ESP32 y el otro se conecta al pin GPIO21 del ESP32.

Se conecta un zumbador al ESP32 conectando uno de sus terminales a GND y el otro al pin GPIO 18 del ESP32. Después de realizar todas las conexiones, su tapete inteligente debería verse como el diagrama de circuito a continuación.

El circuito del microcontrolador del tapete inteligente funciona con baterías AAA de 6A/9A, como se muestra a continuación.

Antes de instalar el ESP32 en el circuito de la alfombra, recuerda subir el boceto.

Bosquejo de Arduino

Recuerda sustituir el SSID y la Clave de Red por los de tu propia conexión WiFi.

Aplicación movil
La alarma se activa en la alfombra inteligente mediante una aplicación móvil desarrollada con MIT App Inventor. Inicie sesión en MIT App Inventor y cree una interfaz de usuario en Designer como se muestra a continuación.

La aplicación está construida utilizando los siguientes componentes en MIT App Inventor...

Las propiedades de Label1 se definen como se muestra a continuación.

Las propiedades de TimePicker1 se definen como se muestra a continuación.

Las propiedades de HorizontalArrangement1 se definen como se muestra a continuación.

Las propiedades del Botón1 se definen como se muestra a continuación.

Las propiedades de ListPicker1 se definen como se muestra a continuación.

Las propiedades de Notifier1 se definen como se muestra a continuación.

Las propiedades de BluetoothClient1 se configuran como se muestra a continuación.

La lógica de la aplicación se define en el editor de bloques como se muestra a continuación.

La aplicación móvil permite a los usuarios configurar una alarma que se encuentra en el tapete inteligente. Para hacer esto, seleccione el botón del dispositivo Bluetooth y el “Smart Wakeup Alarm Mat”. El tapete inteligente se ve en la aplicación como un dispositivo Bluetooth y el texto del botón cambiará a "Conectado" cuando se seleccione.

Para configurar una alarma en la aplicación, simplemente toque el selector de hora y seleccione una hora para que suene la alarma. Luego presione el botón "Establecer alarma" para configurarla. El proceso se demuestra en el siguiente vídeo.

Cómo funciona el proyecto
Para configurar una alarma en su tapete inteligente, utilice el creador de aplicaciones móviles MIT App Inventor. Esta aplicación permite a los usuarios utilizar su tapete inteligente como dispositivo Bluetooth. Cuando se configura una alarma usando la aplicación, los valores de hora y minutos (en formato de 24 horas) se envían al ESP32 a través de Bluetooth como un par de valores separados por comas.

El ESP32 busca continuamente si la alarma está activada. De lo contrario, continuará cronometrando sondeando la hora actual del servidor NTP. El ESP32 debe estar conectado a una red WiFi. El SSID y la contraseña para ello están codificados en el boceto.

Si se configura una alarma, el ESP32 comparará la hora actual según el servidor NTP con la hora configurada para la alarma. Cuando los valores de hora y minutos coinciden entre la hora actual y la hora de la alarma, se activa la alarma y suena el timbre. La alarma continúa hasta que el usuario pisa el tapete. ¡Esto requiere que se levanten de la cama!

Cuando el usuario pisa el tapete, se presionan los botones, provocando un cortocircuito en los dos cables que conectan todos los botones en paralelo. El ESP32 deja de reproducir la alarma cuando se recibe una señal BAJA de la red de botones en GPIO21.

Código
El esquema comienza con BluetoothSerial.h, WiFi.h, NTPClient.h y WiFiUdp.h. Si no se encuentra alguna de estas bibliotecas, instálela usando el administrador de bibliotecas.

Aquí hay un resumen de lo que todos hacen en este proyecto:

  • BluetoothSerial.h gestiona la conexión WiFi del tapete inteligente (o ESP32) con la aplicación móvil.
  • WiFi.h gestiona la conexión Wi-Fi a la red Wi-Fi de tu hogar.
  • NTPClient.h se conecta al servidor NTP en línea.
  • WiFiUdp.h gestiona la conexión UDP a través de Wi-Fi.

Luego, se definen las notas de la campana, así como las variables para cada campana y la asignación de pines del conjunto de botones. También se configuran las variables para rastrear el estado de la matriz de botones, SSID, clave de red Wi-Fi, hora actual, valor de hora, valor de minutos, valor de segundos, valor de hora de alarma, valor de minutos de alarma, estado de alarma y estado de apagado de alarma. Luego se inicializan los objetos WiFiUdp, cliente NTP y serie Bluetooth.

En la función de configuración, el pin conectado al conjunto de botones se define como una entrada digital. La velocidad en baudios de la comunicación serie para depurar mensajes a la consola serie está configurada en 115200. Bluetooth se inicializa con el nombre "Smart Wakeup Alarm Mat".

El ESP32 se conecta a la red Wi-Fi y el cliente NTP se inicializa y configura en la zona horaria correcta.

La función definida por el usuario stringToCharArray está definida para extraer valores de los datos de cadena recibidos a través de redes Bluetooth y Wi-Fi. La función playAlarm señala la alarma activando el timbre. La función senseInput detecta si se presiona el conjunto de botones y, de ser así, apaga la alarma.

En la función de bucle, el ESP32 utiliza una conexión Bluetooth para recuperar los datos recibidos desde la aplicación móvil. Si se reciben datos, se activa la alarma y se almacenan los valores de hora y minutos. El estado de la alarma se establece en VERDADERO y el estado de apagado de la alarma se establece en FALSO.

Luego recupera la hora actual del servidor NTP y extrae los valores de hora y minutos actuales. Estos valores se comparan con los de la alarma configurada. Si coinciden, se activa la alarma. La alarma no se apaga hasta que se presiona el conjunto de botones mientras se camina sobre la alfombra.

Resultados

Esta imagen muestra una recopilación de los mensajes de depuración recibidos del Smart Activation Alarm Mat.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.