You are on page 1of 16

Anexos

 Anexo 1: Programación de ventana de Password

Al momento de inicializarse la aplicación, junto con la pantalla password, se


inicializa la variable contraseña con vacío, como toda variable de tipo carácter.

Además la variable contraseña llama a la base de datos para tomar el valor


que se ha guardado con antelación. Si no existe un valor guardado, toma la
palabra “domotica” por default

Una vez que el usuario ingresa correctamente la contraseña en el campo de


texto, el botón ingresar compara las contraseñas, y lo dirige a la pantalla
principal si el resultado es verdadero, caso contrario no permite el paso de la
pantalla
 Anexo 2: Inicialización de variables en ventana Principal

Se inicializan las variables carácter de cada uno de los comandos de los


componentes de la casa. Se las inicializa con “ “ vacío

Cuando la pantalla se inicializa, cada variable llama a la base de datos y toma el


valor guardado o asignado con anterioridad si no existe un valor guardado, toma
los valores predeterminados de fábrica

.Este procedimiento es idéntico para cada variable.

Anexo 3:

Otro procedimiento que se realiza cuando se inicializa la pantalla es verificar si


está encendido el módulo bluetooth, sino le muestra apagado el micrófono.
Anexo 4: Programación Bluetooth

Para seleccionar el modulo bluetooth, se debe seleccionar el modulo que


contenga los sufijos HC-05

Anexo 5: Programación de Micrófono.

Cuando el usuario ya ha seleccionado correctamente el módulo bluetooth, procede


a hacer click en el micrófono, que realiza el reconocimiento de voz.
En este botón se compara la palabra que el usuario diga, con los comandos
establecidos en la base de datos o de forma predeterminada, para luego enviar
una señal de tipo carácter al Arduino.
 Anexo 6: Inicialización de Variables.

Se inicializa las variables que pertenecen a los comandos de voz de cada


componente de la casa

Anexo 7: Guardar

El botón Guardar permite modificar los valores predeterminados que se han


inicializado y se encuentran en la base de datos, por valores que el usuario
escriba y desee guardarlos en las variables globales.
Ver Anexo 8: Botón Atrás.

El botón Atrás permite guardar en la base de datos el valor de las variables


globales que han sido modificadas.
Cuando se inicializa la pantalla de configuraciones se establecen los valores que
están guardados en la base de datos, si no existen valores se establecen los
valores predeterminados.

La base de datos es la misma que se encuentra en la otra pantalla, por ello se


establecen los valores guardados anteriormente.
En esta opción de consulta, se puede visualizar los comandos de voz
preestablecidos o los que se encuentran guardados en la base de datos.
Anexo 9: Código de Programación en Arduino

La programación en Arduino está estructurada de la siguiente manera:

 En el encabezado se declaran variables locales que corresponden a los


relés de los focos.
 Se establecen los pines de salida, que son 8 pines, empezando a contar
por el pin número 2
 La variable que se va a leer los códigos que envía la aplicación por medio
del bluetooth, se la declara como rxChar
 Existen varias acciones dependiendo de la lectura de rxChar, que se lo
puede observar en la siguiente tabla:

Case Pin Estado


1 2 – rele1 ALTO
2 2 – rele1 BAJO
3 3 – rele2 ALTO
4 3 – rele2 BAJO
5 4 – rele3 ALTO
6 4 – rele3 BAJO
7 5 – rele4 ALTO
8 5 – rele4 BAJO
6 ALTO
9
7 BAJO
6 BAJO
a
7 ALTO
6 BAJO
b
7 BAJO
c 8 ALTO
d 8 BAJO
e 9 ALTO / BAJO
2 – rele1 HIGH
3 – rele2 HIGH
f
4 – rele3 HIGH
5 – rele4 HIGH
2 – rele1 LOW
3 – rele2 LOW
g
4 – rele3 LOW
5 – rele4 LOW
2 – rele1 LOW
3 – rele2 LOW
4 – rele3 LOW
h 5 – rele4 LOW
6 LOW
7 HIGH
8 LOW
2 – rele1 LOW
3 – rele2 LOW
4 – rele3 LOW
i 5 – rele4 LOW
6 HIGH
7 HIGH
8 LOW

#include <SoftwareSerial.h>

char rxChar; // Variable para recibir datos del puerto serie


int rele1= 2; //Rele1 Foco 1
int rele2= 3; //Rele2 Foco 2
int rele3= 4; //Rele3 Foco 3
int rele4= 5; //Rele4 Foco 4

void setup(){
pinMode(rele1,OUTPUT);
pinMode(rele2,OUTPUT);
pinMode(rele3,OUTPUT);
pinMode(rele4,OUTPUT);
pinMode(6,OUTPUT); // Ventana
pinMode(7,OUTPUT); // Ventana
pinMode(8,OUTPUT); // Artefacto
pinMode(9,OUTPUT); // Puerta
Serial.begin(9600); // Comunicación serie a 9600 baudios
}

void loop(){
if( Serial.available() ){ // Si hay datos disponibles en la comunicacion
serial (modulo)
rxChar = Serial.read(); // Leer un byte y colocarlo en variable
switch (rxChar){

case '1'://prender el rele1


digitalWrite(rele1,HIGH);
break;

case '2'://apagar el rele1


digitalWrite(rele1,LOW);
break;

case '3'://prender el rele2


digitalWrite(rele2,HIGH);
break;

case '4'://apagar el rele2


digitalWrite(rele2,LOW);
break;

case '5'://prender el rele3


digitalWrite(rele3,HIGH);
break;

case '6'://apagar el rele3


digitalWrite(rele3,LOW);
break;

case '7'://prender el rele4


digitalWrite(rele4,HIGH);
break;

case '8'://apagar el rele4


digitalWrite(rele4,LOW);
break;

case '9'://subir ventana


digitalWrite(6,HIGH);
digitalWrite(7,LOW);
break;

case 'a'://bajar ventana


digitalWrite(6,LOW);
digitalWrite(7,HIGH);
break;

case 'b'://detener ventana


digitalWrite(6,LOW);
digitalWrite(7,LOW);
break;

case 'c'://encender artefacto


digitalWrite(8,HIGH);
break;

case 'd'://apagar artefacto


digitalWrite(8,LOW);
break;

case 'e'://abrir puerta


digitalWrite(9,HIGH);
Serial.println("encendido");
delay(1500);
digitalWrite(9,LOW);
Serial.println("apagado");
break;

case 'f'://encender focos


digitalWrite(rele1,HIGH);
digitalWrite(rele2,HIGH);
digitalWrite(rele3,HIGH);
digitalWrite(rele4,HIGH);
break;

case 'g'://apagar focos


digitalWrite(rele1,LOW);
digitalWrite(rele2,LOW);
digitalWrite(rele3,LOW);
digitalWrite(rele4,LOW);
break;
case 'h'://dormir
digitalWrite(rele1,LOW);
digitalWrite(rele2,LOW);
digitalWrite(rele3,LOW);
digitalWrite(rele4,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
break;

case 'i'://salir
digitalWrite(rele1,LOW);
digitalWrite(rele2,LOW);
digitalWrite(rele3,LOW);
digitalWrite(rele4,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
break;
}
}
}

You might also like