domingo, 9 de abril de 2017

Domotica con Arduino y App Android


PRACTICA No. 2


El objetivo de esta practica es que los participantes puedan crear una aplicación Android para que puedan controlar algunos dispositivos en su hogar desde su teléfono celular, como pueden ser: Las luces exteriores, la puerta de la cochera, el aire acondicionado, la puerta de acceso a las visitas, etc.



FASE I  CREANDO LA APP CON MIT APP INVENTOR


I.1 EL DISEÑO









I.2 LAS PROPIEDADES DE LOS OBJETOS DEL DISEÑO


I.2.1  Objeto Screen1

a) Background Color: none
b) AppName: ArduHouseControl
c) BackGroundImage: El archivo con la imagen deseada se obtiene desde su computadora
d) Title: ArduBT House Control


I.2.2 Objeto ListPicker1

a) BackGroundColor: White
b) FontSize: 40
c) FontTypeface: Serif
d) Heigth: 50 pixels
e) Width : Fill Parent
f)  Text: Conectar HC-06
g) Text Alligment: Center
h) Text Color: Red


I.2.3 Objeto HorizontalScrollArrangment1





I.2.4 Objeto Button1



I.3 LA PROGRAMACION DE CADA OBJETO MODO BLOQUES








I.4 LA CREACIÓN DEL ARCHIVO .APK

a) En el menú Build de Mit App Inventor, seleccione la opción App (Save .apk to my computer)






b)  Mensaje de generación del archivo .apk guardado en la carpeta descargas de la pc







FASE II  EL CÓDIGO PARA ARDUINO

/*Este programa emplea Arduino Uno y el Modulo Bluetooth HC-06

Se empleara un telefono celular Android que ejecutara una App 
diseñada en Mit App Inventor. La App enviara comandos a Arduino
via el modulo Bluetooth HC-06

Una vez alimentado el HC-06 con 5 Volts y ya que esta acoplado
el telefono Android con el Modulo Bluetooth, al oprimir ciertos
botones en la App, los leds correspondientes deben encender o 
apagar, segun el boton que se haya oprimido
*/


int led8=8; 
int led9=9;
int led10=10;
int led11=11; 

int estado=0; // Variable que almacena el dato enviado desde el Celular Android via HC-06
 void setup()

{
  Serial.begin(9600);
  pinMode(led8,OUTPUT);
  pinMode(led9,OUTPUT);
  pinMode(led10,OUTPUT);
  pinMode(led11,OUTPUT);
}

void loop()

{

 if(Serial.available()>0) // Si hay un dato de entrada en el puerto serie

 {
  estado = Serial.read(); // Se almacena el dato de entrada en el puerto serie en la variable estado.
  }

 if (estado =='1') // Si el valor de la variable estado es 1
 {
    digitalWrite(led8,HIGH); // Se enciende el led conectado al pin 8
   }

if(estado =='2') // Si el valor de la variable estado es 2

 {
    digitalWrite(led8,LOW); // Se apaga el led conectado al pin 8
   }



   if (estado =='3') // Si el valor de la variable estado es 3
 {
    digitalWrite(led9,HIGH); // Se enciende el led conectado al pin 9
   }

if(estado =='4') // Si el valor de la variable estado es 4

 {
    digitalWrite(led9,LOW); // Se apaga el led conectado al pin 9
   }


   if (estado =='5') // Si el valor de la variable estado es 5
 {
    digitalWrite(led10,HIGH); // Se enciende el led conectado al pin 10
   }

if(estado =='6') // Si el valor de la variable estado es 6

 {
    digitalWrite(led10,LOW); // Se apaga el led conectado al pin 10
   }


   if (estado =='7') // Si el valor de la variable estado es 7
 {
    digitalWrite(led11,HIGH); // Se enciende el led conectado al pin 11
   }

if(estado =='8') // Si el valor de la variable estado es 8

 {
    digitalWrite(led11,LOW); // Se apaga el led conectado al pin 11
   }


   
}