jueves, 6 de octubre de 2016

TUTORIAL ARDUINO CON BLUETOOTH APPINVENTOR 2 MANEJANDO RELE Y SENSOR DE TEMPERATURA

COMPONENTES:

ARDUINO MEGA                                                                           MÓDULO BLUETOOTH HC-06











SENSOR DHT 11 HUMEDAD Y TEMPERATURA





EL PRIMER PASO QUE VAMOS HACER ES COMPROBAR LA CONFIGURACION DE MODULO BLUETOOTH 


MONTAJE

CÓDIGO ARDUINO

#define KEY 7

void setup()
{
  pinMode(KEY, OUTPUT);
  digitalWrite(KEY, HIGH);
  Serial1.flush();
  delay(500);
  Serial1.begin(19200);
  Serial.begin(9600);
  Serial.println("ESPERANDO COMAANDO AT: ");
  Serial1.print("AT\r\n");
  delay(100);
}

void loop()
{
  if (Serial1.available())
    Serial.write(Serial1.read());

  if (Serial.available())
    Serial1.write(Serial.read());
}

COMANDOS AT

AT                   SIRVE PARA COMPROBAR QUE HAY COMUNICACIÓN CON EL MÓDULO
AT+NAME     NOMBRE QUE TIENE EL MODULO
AT+ROLE      PARA SABER SI ESTA COMO ESCLAVO O MASTER
AT+UART      LA VELOCIDAD QUE ESTA CONFIGURADO EL MODULO
AT+PSWD      PARA VER LA CLAVE QUE TIENE EL MODULO
AT+ADDR     VER LA MAC


SEGUNDO PASO QUE VAMOS HACER   ES SUBIR EL CÓDIGO , QUE CONTIENE EL MANEJO DEL BLUETOOTH ,RELE Y SENSOR DE HUMEDAD Y TEMPERATURA


CÓDIGO ARDUINO

#include "DHT.h"                            //Incluimos la librería para el sensor de temperatura

#define DHTPIN 9                         //Definimos el pin 9 para el sensor de temperatura
#define RELE 8                              //Definimos el pin 8 para el relé
#define DHTTYPE DHT11            //Definimos el sensor Dth11

String mensaje;                               //creamos una variable para guarda los datos

DHT dht(DHTPIN, DHTTYPE);   //Definimos pin del sensor y modelo

void setup()
{
pinMode(RELE,OUTPUT);            //Declaramos el pin 8 como salida para el relé
Serial1.begin(19200);                      //Iniciamos el bluetooch
dht.begin();                                      //Iniciamos el sensor de temperatura
delay(100);
}

void loop()
{
if(Serial1.available()>0)
  {
  mensaje=Serial1.readString();           //Leemos los datos del bluetooth
  delay(50);
 
    if (mensaje.indexOf("ENCENDER")>=0)  //Si contiene ENCENDER, entra dentro y ejecuta el codigo
    {
    digitalWrite(RELE,HIGH);                        //Encendemos el relé
    Serial1.println("RELE ENCENDIDO");    //Enviamos el mensaje de RELÉ ENCENDIDO
    }
    if (mensaje.indexOf("APAGAR")>=0)       //Si contiene APAGAR, entra dentro y ejecuta el código
    {
    digitalWrite(RELE,LOW);                         //Apagamos el relé
    Serial1.println("RELE APAGADO");        //Enviamos el mensaje de RELÉ APAGADO
    }
    if (mensaje.indexOf("LEER")>=0)            //Si contiene LEER, entra dentro y ejecuta el código
    {
    leer();                                                         //Llamamos a la función leer que esta abajo
    }                                                                //para leer la temperatura y humedad
   mensaje="";
  }

}

void leer(){

float h = dht.readHumidity();                   // Leemos la humedad y la guardamos en la variable h
float t = dht.readTemperature();               //Leemos la temperatura y la guardamos en la variable t
delay(100);
 if (isnan(h) || isnan(t) ) {
    Serial1.println("SENSOR AVERIADO O MAL CONECTADO!");
    return;
  }

  Serial1.print("HUMEDAD: ");
  Serial1.print(h);
  Serial1.print(" TEMPERATURA: ");
  Serial1.print(t);
  Serial1.println(" C ");
  }


TERCER PASO DESAROLLAR LA APLICACIÓN EN APPINVENTOR 2 


HAY QUE DESACTIVAR LA CASILLA TIMERENABLED


CUARTO PASO 

1-CUANDO TENGAMOS LA APLICACIÓN APK EN EL MÓVIL INSTALADA, LA CERRAMOS.

2.- CONECTAREMOS EL ARDUINO CON UNA FUENTE DE 9V, OJO CON LA CONEXIÓN USB  5V FALLA A VECES.

3.- COGEREMOS EL MÓVIL,ACTIVAMOS EL BLUETOOTH, IREMOS A AJUSTES Y VINCULAMOS EL ARDUINO CON EL MÓVIL(LA LUZ DE BLUETOOTH ESTARÁ PARPADEANDO).

4.- ABRIREMOS LA APLICACIÓN IREMOS A SELECCIÓN Y CONECTAMOS CON EL BLUETOOTH SI TODO HA SALIDO BIEN LA LUZ DE BLUETOOTH PARPADEARÁ MUY LENTA.




No hay comentarios:

Publicar un comentario