Está en la página 1de 107

ES UN CIRCUITO INTEGRADO PROGAMABLE, CAPAZ DE EJECUTAR LAS ORDENES GRABADAS EN SU MEMORIA.

DOMOTICA

MICROCONTROLADOR PIC 16F628A 5 LEDS DE CUALQUIER COLOR 5 RESISTENCIA DE 220 OHM O 330 OHM UN CRYSTAL DE 4 MHZ (opcional) 2 CAPACITORES DE 22 PICOFARADIOS (opcional) 1 RESISTENCIA DE 10K OHM. 5 PUSH BUTTON NORMALMENTE ABIERTO. 1 METRO DE CABLE UTP. 1 PROTOBOARD. LAPTOP MEMORIA USB CARGADOR DE CELULAR DE 5V.

COMPILADOR PIC C COMPILER, para la programacin del microcontrolador. SIMULADOR ISIS 7 PROFESIONAL PROTEUS, para la simulacin del circuito. MICRO PROG, para grabar el programa en el microcontrolador. COMPILADOR APPINVENTOR , para la programacin de la aplicacin android. DOCUMENTO PDF DATASHEET DEL MICROCONTROLADOR PIC 16F628A, en este documento se encuentran todas las especificaciones del pic. DOCUMENTO DATASHEET DEL MODULO BLUETOOTH HC-06 JAVA, la programacin de la aplicacin android requiere tener instalado JAVA en la computadora.

Codigo ascii
A?*# NU/&

A?*# NU/&

MODULO BLUETOOTH HC-06

MICROCONTROLADOR PIC

CELULAR

Los leds se pueden sustituir por pistones, motores, valvulas etc.. con su debida etapa de potencia

Lo que el modulo bluetooth recibe Inalambricamente, inmediatamente Lo transmite por su pin TX.

Tienen un alcance de 10m El hc-06 solo funciona como esclavo El hc-05 funciona como esclavo y maestro Ambos se alimentan de 3.3v a 6v El pin VCC es positivo (+) El pin GND es negativo (-) El pin TX es por donde el bluetooth Transmite informacin. El pin RX es por donde el bluetooth recibe la informacin.

Cada dispositivo bluetooth existente en el mundo posee una identificacin nica, llamada DIRECCION MAC, de aspecto 00:00:00:00:00:00

Los modulos poseen una contrasea y un nombre de fabrica, en el caso de estos modulos su contrasea de fabrica es 1234 y su nombre de fabrica varia entre LINVOR, BT UART Y JY-MCU dependiendo del fabricante. Tanto la contrasea como el nombre pueden cambiarse. Estos modulos se comunican por un protocolo llamado RS232, su configuracion de fabrica de ese protocolo es Baudios=9600 Paridad= None, Bits=8 o 9 y stop = 1, estos son parametros del protocolo RS232. los cuales se pueden cambiar.

QU ES LO QUE SE VA A PROGRAMAR?

1. CUANDO SE PRESIONE EL BOTON 1(LED1) ENCENDERA EL LED NUMERO 1 AL MISMO TIEMPO SE APAGARAN LOS DEMAS LED. 2. CUANDO SE PRESIONE EL BOTON 2 (LED2) ENCENDERA EL LED NUMERO 2 AL MISMO TIEMPO SE APAGARAN LOS DEMAS LED. 3. CUANDO SE PRESIONE EL BOTON 3 (LED3) ENCENDERA EL LED NUMERO 3 AL MISMO TIEMPO SE APAGARAN LOS DEMAS LED. 4.CUANDO SE PRESIONE EL BOTON 4 (LED4) ENCENDERA EL LED NUMERO 4 AL MISMO TIEMPO SE APAGARAN LOS DEMAS LED. 5. CUANDO SE PRESIONE EL BOTON 5 (LED5) ENCENDERA EL LED NUMERO 5 AL MISMO TIEMPO SE APAGARAN LOS DEMAS LED. 6. CUANDO SE PRESIONE EL BOTON EL 6 (CONECTAR) EL CELULAR SE CONECTARA CON EL MODULO BLUETOOTH, PARA PODER ENVIAR LA INFORMACION

PRIMERO SE DEBE LOGRAR QUE EL CELULAR Y EL MODULO BLUETOOTH SE ENLAZEN PARA PODER INTERCAMBIAR INFORMACIN. POR ELLO SE PROGRA MARA QUE AL PULSAR EL BOTON 6 EL CELULAR BUSQUE AL MODULO BLUETOOTH Y SE CONECTE CON EL (APAREAR/ENLAZAR).

PARA LOGRAR QUE SE ENLAZE, EL CELULAR DEBE BUSCAR LA DIRECCION MAC DEL MODULO BLUETOOTH, Y UNA VEZ QUE LA ENCUENTRE SE CONECTARA A EL. MICROCONTROLADOR PIC ENLAZE

CELULAR

AUN NO ENCIENDE NINGUN LED, SOLO SE ESTA LOGRANDO QUE EL CELULAR Y EL BLUETOOTH SE ENLAZEN

Una vez enlazado el celular y el bluetooth, estn listos para intercambiar Informacin, comenzando con el boton1(led1), se programara lo siguiente: Al presionar el botn 1 el celular enviara por bluetooth una letra A (puede ser cualquier carcter del codigo ASCII) el microcontrolador al detectar la letra A encender el led numero 1 y apagara los dems.

A A

SOLO ENCENDERA EL LED NUMERO 1 CELULAR 1

Ahora para el boton2(led2), se programara lo siguiente: Al presionar el botn 2 el celular enviara por bluetooth una letra B (puede ser cualquier carcter del codigo ASCII) el microcontrolador al detectar la letra B encender el led numero 2 y apagara los dems.

B B

SOLO ENCENDERA EL LED NUMERO 1 CELULAR 2

Para el boton3(led3), se programara lo siguiente: Al presionar el botn 3 el celular enviara por bluetooth una letra C (puede ser cualquier carcter del codigo ASCII) el microcontrolador al detectar la letra C encender el led numero 3 y apagara los dems.

C C

SOLO ENCENDERA EL LED NUMERO 1 CELULAR 3

Para el boton4(led4), se programara lo siguiente: Al presionar el botn 4 el celular enviara por bluetooth una letra D (puede ser cualquier carcter del codigo ASCII) el microcontrolador al detectar la letra D encender el led numero 4 y apagara los dems.

D D

SOLO ENCENDERA EL LED NUMERO 1 CELULAR 4

Para el boton5(led5), se programara lo siguiente: Al presionar el botn 5 el celular enviara por bluetooth una letra E (puede ser cualquier carcter del codigo ASCII) el microcontrolador al detectar la letra E encender el led numero 5 y apagara los dems.

E E

SOLO ENCENDERA EL LED NUMERO 1 CELULAR 5

REALIZANDO UNA TABLA DEL PROGRAMA, QUEDA: ENTRADAS BOTON DATO A ENVIAR Boton1 Boton2 Boton 3 Boton 4 Boton 5 Boton 6 A B C D E Buscar direccion Mac para conectar SALIDAS LED2 LED3 OFF ON OFF OFF OFF OFF OFF ON OFF OFF

LED1 ON OFF OFF OFF OFF

LED4 OFF OFF OFF ON OFF

LED5 OFF OFF OFF OFF ON

PRIMERO INSTALAMOS JAVA EN NUESTRA COMPUTADORA

SEGUNDO, CREAR UNA CUENTA EN GOOGLE DE ASPECTO ------@gmail.com


DESPUES ENTRAMOS A LA PAGINA WWW.APPINVENTOR.MIT.EDU ESTE ES EL SITIO OFICIAL DEL COMPILADOR APP INVENTOR, EN ESTE COMPILADOR SE PUEDE DESARROLLAR CUALQUIER APLICACIN PARA DISPOSITIVOS ANDROID.

ASPECTO AL TRATAR DE ENTRAR A APP INVENTOR, DEBE INTRODUCIRSE UNA CUENTA PARA PODER INGRESAR.

VENTANA PRINCIPAL DE APP INVENTOR

Seleccionar para comenzar a inventar la aplicacin

PARA CREAR UN NUEVO PROYECTO DAMOS CLIC EN NEW

NOMBRE DE LA APLICACIN, SIN ESPACIOS

APARIENCIA DEL COMPILADOR APP INVENTOR, INTERFAZ VISUAL.

LA APLICACIN NECESITA TENER 5 BOTONES, UNO POR LED Y UN BOTON ESPECIAL PARA CONECTAR O DESCONECTAR EL CELULAR DEL CIRCUITO. EN TOTAL 6 BOTONES
Y ADICIONALMENTE SE AGREGARA UN CONTROLADOR BLUETOOTH A LA APLICACIN.

Para agregar un boton a la pantalla, simplemente arrastramos la Opcion BUTTON hacia la pantalla.

Boton agreado Repetir para los botones restantes

Aqu puede cambiarse leyenda del boton 6 BOTONES AGREGADOS

Leyenda cambiada

FALTA EL CONTROLADOR BLUETOOTH

DAMO CLIC EN OTHER STUFF EN LA OPCION BLUETOOTH CLIENT Y ARRASTRAMOS A LA PANTALLA

El bluetoothclient, sera el encargado de controlar la comunicacin entre el celular y el modulo bluetooth

SE HA TERMINADO DE HACER LA PARTE VISUAL DE LA APLICACIN, EL PURO ASPECTO QUE TENDRA, AHORA DEBE PROGRAMARSE EL CODIGO FUENTE DE LA ORDEN QUE LLEVARA A CABO CADA BOTON AL SER PRESIONADO

EL BUTTON1 (LED1) DEBE ENCENDER EL LED NUMERO 1 Y APAGAR LOS DEMAS ASI CONSECUTIVAMENTE PARA LOS DEMAS BOTONES, EXEPTO EL BUTTON 6 (CONECTAR) ESTE BOTON DEBE ENLAZAR EL CELULAR CON EL MODULO BLUETOOTH AL SER PRESIONADO.

DAMOS CLIC EN OPEN DE BLOCKS EDITOR El editor de bloques es la interfaz donde se programa el codigo fuente de las ordenes que ejecutara cada botn (SINTAXIS DEL PROGRAMA)

Abrir archivo JAVA

APARIENCIA DEL EDITOR DE BLOQUES, aqu se programara Lo que se desea que haga cada botn antes colocado.

CLIC EN MY BLOCKS

SE OBSERVAN LOS 6 BOTONES QUE SE COLOCARON EN LA INTERFAZ VISUAL DE APP INVENTOR. ASI COMO EL CONTROLADOR BLUETOOH CLIENT DAMOS CLIC EN EL BOTON BUTTON 6, para primero programar que el celular se enlace al modulo bluetooth.

SE DESPLEGARON MUCHAS OPCIONES ESTAS OPCIONES SON LOS DIFERENTES CASO EN LOS QUE PUEDE ESTAR EL BOTON. DISTINTAS ACTIVIDADES

SELECCIONAMOS LA PRIMER OPCION, PARA AGREGARLA A LA VENTANA DE TRABAJO, SOLO HAY QUE ARRASTRAR LA FICHA.

PARA QUE ES ESTA FICHA?

When=cuando Do=hacer

SE INTREPRTA COMO: CUANDO EL BOTON 6 HAGA CLICK ENTONCES HACER .

EN ESTE ESPACIO SE COLOCA LA INSTRUCCIN QUE SE DESEA HACER

DAMOS CLIC EN LA PANTALLA PARA QUE SE APAREZCAN ESTAS OPCIONES, Y SELECCIONAMOS CONTROL, DESPUES SELECCIONAMOS IF

Se apareci esta ficha Para que sirve esta ficha?

SE INTREPETA COMO: Si la prueba es correcta, entonces hacer

If= Si Test=prueba Then=entonces Do=hacer

EN POCAS PALABRAS ES UN COMPARADOR

HACEMOS EMBONAR LAS FICHAS

SE HAN EMBONADO, AHORA TODO SE INTREPETA DE LA SIGUIENTE MANERA, Cuando el boton 6 sea presiona lo que ara es comprobar si ciert Prueba es verdadera, en caso de que sea verdadera entonces ara l que este dentro del if Aqu se coloca la prueba que se desea compruebe el if

El obejtivo es que al pulsar el boton 6 el celular se conecte al Modulo bluetooth, por lo tanto la PRUEBA que debe realizar es que busque al modulo modulo bluetooth y detecte si estan Conectados o no, en este caso, el celular tratara de conectarse.

Para realizar eso, danos clic en BLUEOOTHCLIENT.

SE APARECIERON DISTINTAS OPCIONES Seleccionamos la segunda opcion call BluetoothClient.Connect address

PARA QUE SIRVE ESTA OPCION

Call=llamar Connect= conectar Address= direccin

SE INTERPRETA COMO: Llamar al bluetooth cliente y conectar a la direccion

HACEMOS EMBONAR

Ha embonado. Ahora todo en conjunto se Interpreta como:


Cuando el boton 6 sea presionado ara lo siguiente; Comprobara Si la prueba de llamar al bluetooth cliente y conectarse a la direccin Especificada es verdadera, en caso de que si, entonces ejecutara las Instrucciones que vayan dentro del if

En este apartado se debe colocar la direccin MAC del bluetooth al que se desea enlazar

DAMOS CLIC EN TEXT

APARECIO UNA NUEVA FICHA, ESTA FICHA SIRVE PARA ESCRIBIR ALGUN TEXTO DENTRO DE ELLA. EN ESTE CASO ESCRIBIREMOS LA DIRECCION MAC DEL DISPOSITIVO BLUETOOTH

DIRECCION MAC DEL MODULO BLUETOOTH, LA MAC VARIA PARA CADA DISPOSITIVO.

HACEMOS EMBONAR.

HA EMBONADO, AHORA TODO EN CONJUNTO SE TRADUCE COMO: Cuando el boton 6 sea presionado lo que ara es, comparara Si la Prueba de llamar al modulo bluetooh de la MAC especificada es Correcta. Ya no hace falta agregar una orden en caso de que la conexin sea Un xito, de esta forma ya se logro que el celular busque al Modulo bluetooth al presionar el boton 6.

Ya se ha terminado la primera parte de tan solo lograr que el celular se enlace con el modulo bluetooth al presionar el Botn numero 6.

Falta programar lo que aran los demas botones.

DAMOS CLIC EN BUTTON1 Y SELECCIONAMOS LA PRIMER OPCION ES LA MISMA FICHA QUE EL BUTTON6 Y SE TRADUCE COMO: CUANDO EL BOTON 1 SEA PRESIONADO ENTONCES HACER

LO QUE SE DESEA ES QUE AL PULSAR EL BOTON 1, SE ENVIE UNA LETRA A VIA BLUETOOTH AL MODULO. PARA LOGRAR ESO, DAMOS CLIC EN BLUETOOTHCLIENT

Y SELECCINAMOS LA OPCION call BluetoothClient .SendText text

APARECIO UNA NUEVA FICHA ESTA FICHA SE INTERPRETA COMO: Llamar al bluetooth cliente y enviar un texto Aqu se coloca el texto a enviar en este caso una letra A

Agregamos un texto, escribimos en el la letra A y posteriormente hacemos embonar con la ficha despues enbonamos con la ficha button1

Ha embonado, ahora todo en conjunto se traduce como: Cuando el boton1 sea presionado lo que ara la aplicacin es llamar al bluetooth cliente (el modulo bluetooth) y le enviara un texto, en este caso una letra A

EL PROCEDIMIENTO PARA LOS DEMAS BOTONES 2,3,4 Y 5 ES EXACTAMENTE EL MISMO, CON LA DIFERENCIA DE QUE CAMBIARA EL TEXTO A ENVIAR. ASI QUE HACEMOS LO MISMO Y SOLO VARIAMOS LA LETRA A ENVIAR

SE OBSERVA QUE LO UNICO QUE VARIA ES LA LETRA A ENVIAR, LOS BLOQUES SON IDENTICOS

FIN DE LA PROGRAMACION DE LA APLICACIN. Ahora Como Compiilar la Aplicacin?

DAMOS CLIC EN PACKAGE FOR PHONE Y EN DOWNLOAD THIS COMPUTER. De esta forma la aplicacin se Compilara y guardara en la computadora

COMPILANDO APLICACION

APLICACIN GUARDADA EN LA COMPUTADORA, SOLO RE INTRODUCIRLA AL CELULAR E INSTALARLA COMO CUALQUIER APLICACIN O JUEGO.

FIN DE LA CREACION DE LA APLICACIN PARA CONTROLAR LOS 5 LEDS POR BLUETOOH. LO SIGUIENTE ES PREPARAR (PROGRAMAR) EL MICROCONTROLADOR PIC16F628A PARA QUE RECIBA LOS DATOS(LETRAS) QUE EL MODULO BLUETOOTH LE ENVIARA Y DEPENDIENDO DE LA LETRA QUE LE LLEGUE, MANDE A ENCENDER O APAGAR LOS LEDS ADECUADOS.

Qu se necesita para poder programar el microcontrolador? * DATASHEET PIC16F628A ( Hoja de especificaciones del microcontrolador) * COMPILADOR PIC C COMPILER. *GRABADOR DE PROGRAMA MICRO PROG (Los grabadores de programa varian de acuerdo a la placa que se utiliza para grabar el archivo en el pic)

COMO FUNCIONA UN MICROCONTROLADOR? El microcontrolador es un dispositivo que se programa para que dependiendo de las entradas que el tenga provea salidas. Es decir, se programa para que active o desactive aparatos dependiendo de la seal que tenga en sus entradas

ENTRADA

SALIDA

DATA SHEET DEL PIC16F628A (HOJA DE ESPECIFICACIONES)

Cada pin del pic tiene un nombre.

CONEXIONES QUE REQUIERE UN PIC PARA PODER TRABAJAR 1.ALIMENTACION: La alimentacin de un pic es a 5v de corriente directa (5VCD) en esta ocasin ser con un cargador de celular de 5vcd. 2.CRYSTAL (OSCILADOR): La conexin del crystal es para que el pic tenga nocin del tiempo que transcurre a partir de que comienza a trabajar. Esto es OPCIONAL ya que hay microcontroladores que traen un crystal de reloj integrado en el caso del pic16f628a no es necesaria la conexin de crystal ya que lo trae integrado, la frecuencia de este reloj es de 4MHZ(Megahertz).

3.RESET: El reset es para que el pic pueda reiniciarse , se realiza en el pin 5 MCLR que significa Master Clear.

PIN 5 / VSS = Tierra PIN 14/ VDD= Positivo de la fuente de alimentacin. 5V (+) LOS PINES A0,A1,A2,A3,A4, A6,A7 B0,B1,B2,B3,B4,B5,B6,B7 PUEDEN CONFIGURARSE COMO ENTRADAS O SALIDAS. LOS PINES A6 Y A7 PUEDEN SER ENTRADAS O SALIDAS O BIEN LAS TERMINALES PARA LA CONEXIN DEL CRYSTAL DE RELOJ. EL PIN A5 ES PARA CONECTAR EL RESET DEL PIC. LOS PINES B1 Y B2 PUEDEN CONFIGURARSE COMO ENTRADAS O SALIDAS, O BIEN COMO MODULO TRANSMISOR/RECEPTOR EN ESTE CASO, SI SE NECESITA UTILIZAR COMO TRANSMISOR/RECEPTOR POR LO SIGUIENTE:

El bluetooth TRANSMITIRA informacin por lo tanto el pic debe RECIBIR EL TX del bluetooth va conectado al RX del Pic16f628A

Sealar que dentro del pic se debe configurar lo siguiente : ACTIVAR la comunicacin RS-232 e igualar los parametros del bluetooth (Paridad,Bits,Baudios,Stop). ACTIVAR una interrupcin para la recepcion de datos, si esto no se coloca el pic se colgara. Declarar la frecuencia del reloj con la que trabajara el pic.

LOS LED SERAN CONECTADOS A LOS PINES B2,B3,B4,B5 Y B6 B2 PARA EL LED NUMERO 1, B3 PARA EL LED NUMERO 2, B4 PARA EL LED NUMERO 3, B5 PARA EL LED NUMERO 4 Y B6 PARA EL LED NUMERO 5.

COMO REALIZAR EL PROGRAMA EN PIC C COMPILER?

BOTON DATO A ENVIAR


Boton1 Boton2 A B

LED1 LED2
ON OFF OFF ON

LED3
OFF OFF

LED4
OFF OFF

LED5
OFF OFF

Boton 3
Boton 4 Boton 5 Boton 6

C
D E Buscar direccion Mac para conectar

OFF
OFF OFF

OFF
OFF OFF

ON
OFF OFF

OFF
ON OFF

OFF
OFF ON

Abrimos el compilador PIC C COMPILER

PARA CREAR UN NUEVO PROYECTO SELECCIONAMOS PROJECT Y DESPUES LA OPCION PIC WIZARD.

En esta ventana se coloca el nombre del archivo y la ubicacin de donde se guardara en la computadora

Damos clic en GUARDAR

Se desplegara esta ventana que es un ASISTENTE para configurar el el pic.

En la opcin DEVICE se selecciona el pic con el que se trabajara en este caso se selecciona el PIC16F628A

En esta opcin se selecciona la frecuencia del crystal oscilador con el que se trabajara

Falta ACTIVAR la interrupcion para que el pic reciba datos. Seleccionamos la opcion Interrupts

Seleccionamos esta opcin RS232 recibir datos disponible Ya ha quedado habilitada la Interrupcin necesaria para que el pic no se cuelgue al recibir un dato proveniente del bluetoooth

Damos clic en OK

ESTA ES LA VENTANA PRINCIPAL DEL COMPILADOR PIC COMPILER AQU SE COLOCA LA SINTAXIS DEL PROGRAMA.

TODO ESTO APARECE POR DEFAULT EL SIMBOLO // SIGNIFICA QUE LO QUE ESTA DESPUES ES SOLAMENTE COMENTARIO, NO FORMA PARTE DE LA SINTAXIS DEL PROGRAMA

Esta es la configuracion de la comunicacin RS232 que maneja el modulo bluetooth antes mencionada. XMIT es el pin del pic por el cual se transmitiran datos. RCV es el pin del pic por el cual se recibiran datos.

Se debe declarar una variable dentro del pic ya que el valor que envie el bluetooth varia, puede llegar a tomar el valor de una A o B, C,D,E,F dependiendo del boton que se pulse. Por ello se coloca como variable, porque no se sabe que valor sera, y se coloca como CHAR, porque son caracteres.

LETRA=GETCHAR(); SOLAMENTE SE IGUALO LA VARIABLE CON EL CARCTER QUE EL BLUETOOTH ENVIE.

YA SE CONFIGURA LA RS232, SE DECLARO LA VARIABLE A USAR Y SE IGUALO LA VARIABLE AL DATO DE ENTRADA EN LA INTERRUPCION ES TODA LA CONFIGURACION NECESARIA, YA SE PUEDE COMENZAR A PROGRAMAR

El programa principal se coloca dentro del void main,dentro de las Llaves { }

BUCLE IF
QUE ES UN BUCLE?
QUE ES UNA SENTENCIA?

SENTENCIA

DIFERENCIA ENTRE UN BUCLE Y UNA SENTENCIA?