Una rama interesante de la robótica es agregar inteligencia a los objetos cotidianos. Este dominio se denomina domótica para el hogar e IoT (internet of things) para objetos conectados. Uno de los objetivos principales de la automatización del hogar es monitorear lo que está sucediendo en una casa o apartamento para que pueda responder correctamente. En este primer proyecto de automatización del hogar, controlaremos la temperatura de una habitación y enviaremos las mediciones a una aplicación de teléfono inteligente. Es un proyecto simple en el que usamos comunicación en serie con el módulo Bluetooth, un sensor de temperatura y una aplicación para smartphone creada con App Inventor 2.
Materiales
- Smartphone
- Arduino UNO
- Bateria 5V
- Sensor de temperatura LM35
- Módulo Bluetooth HC-06
Diagrama de cableado
N.B .: El módulo que se muestra en el diagrama es el módulo HC-05, pero los pines tienen las mismas funciones que en el HC-06.
Code
En la especificación técnica del sensor LM35, encontramos el rango de medición de temperatura y la regla de conversión entre temperatura y voltaje. Una vez que la tensión de salida del sensor se mide y se convierte en temperatura, estos datos se envían al Smartphone a través de Bluetooth. Para enviar varios datos a través del puerto serie, una técnica consiste en concatenar estos datos en una cadena con un separador predefinido para recuperar los datos de manera más simple.
#include <SoftwareSerial.h> SoftwareSerial HC06(2,3); // Constants #define DELAY 1000 // Delay between two measurements in ms // Parameters const int sensorPin = A0; // Pin connected to sensor // Variables float voltage, temperature; void setup(void) { Serial.begin(9600); HC06.begin(9600); } void loop(void) { voltage= analogRead(sensorPin) * (5.0 / 1023.0); // Convert digital value to voltage temperature=100*voltage; // conversion from V to °C Serial.print("Sensor reading = "); Serial.println(temperature); // the temperature reading // Send voltage and temperature value to app HC06.print(voltage); HC06.print("x"); HC06.print(temperature); delay(DELAY); }
Aplicación de medición de temperatura
Creamos una simple aplicación en el sitio web de App Inventor 2. Los datos del sensor (voltaje y temperatura) se envían como una cadena a una aplicación de Android. Para recuperar, la información contenida en la Cadena debemos separar el texto de acuerdo con el separador predefinido «x». Luego obtenemos una lista de dos elementos que contienen los dos datos que podemos mostrar en los cuadros de texto de la aplicación.
El módulo Bluetooth debe estar registrado en la lista de dispositivos Bluetooth de su teléfono. El módulo Bluetooth HC-05 o HC-06 debe estar emparejado con el teléfono al menos una vez antes de usar la aplicación.
Puede descargar el proyecto aia aquí.
Si desea más información sobre este proyecto o si cree que falta algo, no dude en dejar un comentario o contáctenos.
Muy bueno el ejemplo. Me gustaria que me ayudaran de como puede ser este ejemplo pero con microcontrolador en C de ccs.
Si quieres ayuda, puede enviar codigo y pregunta en un email.
Se puede usar otro arduino que no sea uno, un nano o un micro?
Sí, por supuesto.
Hola buenas una pregunta y si a este programa le quiero agregar un control de encendido y apagado de calefacción como sería??
Puede seguir este tutorial para aprender a enviar un comando a través de la aplicación
Robot controlado con smartphone
¿Hay algun link para descargar la apk o imágenes un poco más detalladas de todos los componentes de la app?
Hay un link para descargar el proyecto aia