Se va a realizar un programa mediante el cual se activará una lámpara si se abre una puerta. Esta luz también se podrá activar por internet, desde la misma web que permite visualizar el ángulo de apertura de dicha puerta. Esta web será el servidor Arduino Cloud.
Se va a utilizar el sensor MPU6050. En este artículo se indica cómo utilizar y cablear de forma muy sencilla el acelerómetro y giróscopo mencionado.
Esquema de conexión #
Se va a conectar el sensor por I2C a un esp32, por tanto, SDA al pin 21 y SCL al 22. Si se trabaja con otro dispositivo habría que buscar qué pines corresponden con SDA y SCL. Además, se controlará el relé desde el GPIO 12. Al circuito de fuerza del relé se conecta una lámpara que se alimenta en corriente alterna.
Programa #
Se va a trabajar con dos variables globales, una del tipo float, que permite almacenar números decimales, y otra del tipo bool, para el encendido y apagado de la lámpara desde un interruptor virtual en el servidor.
Para no saturar el servidor, se va a enviar el valor de inclinación solo si su cambio es superior a 10 grados.
Finalmente, como algo opcional, se va a imprimir en el puerto serie cada medio segundo el valor de inclinación de la puerta.
Configuración del servidor Arduino Cloud #
Dentro de un Thing hay que declarar las dos variables utilizadas en el programa anterior, inclinacionX y luzPuerta.
Y finalmente, se elabora el panel en el que se crea un visor para monitorizar el ángulo de apertura de la puerta, asociado a la variable inclinacionX, y un interruptor para encender manualmente la puerta, asociado a la variable luzPuerta.