Etiquetas: , , , ,

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

home temperature measurement schematic

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.

android app inventor 2 for home measurementapp inventor 2 home measurement scratch

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.

Si desea más información sobre este proyecto o si cree que falta algo, no dude en dejar un comentario o contáctenos.

Source