Informe Carro a control remoto

16
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERIA ELECTRONICA Y COMUNICACIONES INTERFAZ DE PC TEMA: CONTROLAR UN CARRO MEDIANTE BLUETOOTH 1.-Tema: Diseño e implementación de un carrito a control remoto mediante bluetooth 3.- Objetivos: General: Realizar el diseño e implementación del control del carro mediante bluetooth Específicos:

description

PIC C

Transcript of Informe Carro a control remoto

UNIVERSIDAD TCNICA DE AMBATOFACULTAD DE SISTEMAS, ELECTRNICA E INDUSTRIALcarrera de ingenieria electronica y comunicaciones

INTERFAZ DE PC

TEMA: CONTROLAR UN CARRO MEDIANTE BLUETOOTH

1.-Tema:Diseo e implementacin de un carrito a control remoto mediante bluetooth 3.- Objetivos: General: Realizar el diseo e implementacin del control del carro mediante bluetooth Especficos:

Verificar la conexin del control y el carrito4.- Marco Terico:Programa pic c La programacin de PIC en C se puede comprender mejor si se estudian sus elementos bsicos; una vez que se dominen estos elementos se podr dar solucin a la gran mayora de problemas de programacin. El propsito de la mayora de los programas es resolver un problema. Los programas resuelven los problemas por medio de la manipulacin de informacin o datos. Normalmente los programas se caracterizan por permitir el ingreso de informacin, tener uno o varios lugares de almacenamiento de dicha informacin, contar con las instrucciones para manipular estos datos y obtener algn resultado del programa que sea til para el usuario. Tambin, las instrucciones se pueden organizar de tal forma que algunas de ellas se ejecuten slo cuando una condicin especfica (o conjunto de condiciones) sea verdadera, otras instrucciones se repitan un cierto nmero de veces y otras pueden ser agrupadas en bloques que se ejecutan en diferentes partes de un programa.Lo anterior constituye una breve descripcin de los siete elementos bsicos de la programacin:entrada de datos, tipos de datos, operaciones, salida, ejecucin condicional, lazos y funciones. Una vez que se dominan estos elementos se puede afirmar que se conocen los fundamentos de la programacin, con lo cual ya es posible desarrollar una gran cantidad de aplicaciones de diversa ndole. [1]

Instrucciones bsicas de PIC en C1.- Instruccin de asignacin (=)Permite asignar a una variable un valor constante, el contenido de otra variable o el resultado de una expresin matemtica. La asignacin va de derecha a izquierda. Por ejemplo,suma=0; //El valor 0 se almacena en la variable suma.x0=x1; //El contenido de la variable x1 se almacena en la variable x0.dx=(b-a)/n; //El resultado de la expresin matemtica se almacena en la variable dx.2.- Instruccin de entrada de datos (variable=PORTx)Permite el ingreso de uno o ms datos a travs de los pines del microcontrolador y almacenarlos en una o ms variables. Por ejemplo,variable=PORTA; //Los bits del puerto A se almacenan en la variable.El siguiente es un caso especial utilizado en la programacin de microcontroladores PIC en C:PORTB=PORTA; //Los bits del puerto A se envan hacia los pines del puerto B.Tambin se puede leer el estado individual de cada bit de un puerto:variable=RB3_bit; //Lee el estado del pin RB3 y lo guarda en la variable.3.- Instruccin de salida de datos (PORTx=dato)Permite el envo de datos, el contenido de una variable o el resultado de una expresin matemtica hacia los pines de un puerto. Por ejemplo,PORTA=0x00; //Todos los pines del puerto A se ponen en 0.PORTB=variable; Los bits de la variable son enviados hacia los pines del puerto B.PORTB=PORTA+65; //El valor del puerto A ms 65 se enva hacia el puerto B.Como caso especial, se pueden enviar bits individuales a cada uno de los pines de un puerto:

RB0_bit=0; //El pin RB0 se pone en 0.4.- Instruccin de decisin (if...else)Permite la ejecucin de las instrucciones1 si la condicin es verdadera, de lo contrario se ejecutan las instrucciones2. Las llaves { } no son necesarias cuando hay una sola instruccin.if (condicin){ instrucciones1;}else{ instrucciones2;}Ejemplo 1:Si el contenido de la variable codigo es igual al contenido de la variable clave, se ejecutan las primeras cuatro instrucciones; de lo contrario se ejecutan nicamente los dos ltimas instrucciones.if (codigo==clave){ intentos=0; RA7_bit=1; Delay_1sec( ); RA7_bit=0;} else{ intentos++; Delay_ms(200);}Ejemplo 2:Instruccin de decisin sin else. Esta es una variante muy utilizada cuando se desea condicionar la ejecucin de un grupo de instrucciones.Las dos instrucciones se ejecutarn nicamente si la variable contador es igual a 2, de lo contrario la ejecucin contina a partir de la lnea //Aqu.if (contador==2){ RB6_bit=~RB6_bit; contador=0;}//Aqu.

Pickit2 El grabador - quemador de PIC y EEPROM USBElPICkit2 Clonees un grabador USB de PIC, memorias EEPROM, dsPIC y otros dispositivos; es una versin simplificada del original PICkit2 de Microchip y trabaja con el programa de aplicacin PICkit2 v2.61 de Microchip, por lo tanto su buen funcionamiento est garantizado y asegurado. En la pgina de Microchip se informa que este quemador puede trabajar correctamente en Windows XP y Windows Vista. Adicionalmente ha sido probado exitosamente en el ambiente Windows 7 (Home Premium, Ultimate, Professional). Lalista de dispositivos soportadospor este quemador USB de PIC y EEPROM es muy extensa y se puede ver ingresando a Help->ReadMe en el programa de aplicacin PICkit2 v2.61. [1]Uso del quemador USB de PIC y EEPROMEl uso del PICkit2 Clone es muy sencillo. En la siguiente pgina puede ver variosvideos explicativos del uso de este grabador de PIC y EEPROM.1. Conecte el dispositivo (EEPROM, PIC, dsPIC, etc.) al quemador USB de PIC. La conexin se realiza a travs de los pines VPP (voltaje de programacin), VDD (voltaje de alimentacin), VSS (referencia), PGD (datos) y PGC (reloj) del programador y los pines correspondientes del microcontrolador (ver la hoja de especificaciones para cada dispositivo particular para identificar los cinco pines de programacin). Debe emplear un tablero de proyectos de insercin a presin.2. Conecte el cable USB al grabador USB de PIC y a continuacin el otro extremo del cable a un puerto USB del computador.3. Inicie el programa de aplicacin PICkit2 v2.61.

4. El programador USB de PIC y EEPROM ser detectado automticamente, al igual que el dispositivo a ser programado (siempre y cuando pertenezca a una de las familias que soporten autodeteccin). Para que la autodeteccin del dispositivo tenga efecto, el comando Programmer->Manual Device Select debe estar desactivado. Para el PIC16F628A (Midrange) se ver el siguiente mensaje:

Si el dispositivo no soporta autodeteccin, debe ser seleccionado manualmente, para lo cual el comando Programmer->Manual Device Select debe estar activado. Por ejemplo, para el PIC16F628A se debe seleccionar el comando Device Family->Midrange->Standard, y a continuacin seleccionar el PIC de la lista desplegable Device:

5. Con el comando File->Import Hex abra el archivo ejecutable (*.hex) que va a ser grabado en el dispositivo. Deber observar el siguiente mensaje:

6. Programe el dispositivo haciendo clic en el botn (Write). Espere hasta que aparezca el mensaje de programacin exitosa:

7. Desconecte el cable USB del computador y extraiga el dispositivo programado.8. Si va a programar otro dispositivo, conctelo al quemador USB de PIC y EEPROM, conecte nuevamente el cable USB al computador y luego seleccione el comando Tools->Check Communication. Repita los pasos 4 a 7.

AppInventorGoogle App Inventores una aplicacin de Google Labs para crear aplicaciones de software para el sistema operativoAndroid. De forma visual y a partir de un conjunto de herramientas bsicas, el usuario puede ir enlazando una serie de bloques para crear la aplicacin. El sistema es gratuito y se puede descargar fcilmente de la web. Las aplicaciones fruto de App Inventor estn limitadas por su simplicidad, aunque permiten cubrir un gran nmero de necesidades bsicas en un dispositivo mvil.Con Google App Inventor, se espera un incremento importante en el nmero de aplicaciones para Android debido a dos grandes factores: la simplicidad de uso, que facilitar la aparicin de un gran nmero de nuevas aplicaciones; y el Android Market , el centro de distribucin de aplicaciones para Android donde cualquier usuario puede distribuir sus creaciones libremente.[2]

5.-Materiales: Computadora Pickit2 Un carro Batera recargable de 9 voltios Pic 16f887 Regualdor de voltaje 5 votios Protoboar una regleta Puente H

6.- Desarrollo:Ensamblaje del carro Se conecta los motores en cada uno de las llantas de la parte trasera, en la parte superior conectamos la batera de 9 voltios extrada de table, sobre la batera colocamos una proto de una regleta que posteriormente servir para la implementacin del circuito.Programacion del pic 16f887 Utilizando el programa Pic CRealizamos la programacin, en el cual detectara y los caracteres enviados desde mi control Android.

//Configuraciones de Pines para las diferentes acciones que pondran ////a 0 o 1 los pines B0, B1, B2 B3 para la activacion o desativacion del puente H//#define AVANCE output_high(PIN_B0),output_high(PIN_B1),output_low(PIN_B2),output_low(PIN_B3) //Avance hacia adelante//#define RETROCESO output_low(PIN_B0),output_low(PIN_B1),output_high(PIN_B2),output_high(PIN_B3) //Retroceso//#define PARO output_low(PIN_B0),output_low(PIN_B1),output_low(PIN_B2),output_low(PIN_B3) //Detenerse//#define DE output_high(PIN_B0),output_low(PIN_B1),output_low(PIN_B2),output_high(PIN_B3) //Girar a la Derecha//#define IZ output_low(PIN_B0),output_high(PIN_B1),output_high(PIN_B2),output_low(PIN_B3) //Girar a la Izquierda//#define focos PIN_A0

//Variables del Programa//

char dato_bt; //Variable que almacena los caracteres recibidos del modulo bluetooth//

//Mtodo Principal//void main(){ //Capturar el Dato recibido del bluetooth// dato_bt=getchar();//Almacena el dato recibido desde la aplicacion andriod en dato_bt// enable_interrupts(INT_RDA);//Interrupciones para transmitir serialmente entre el modulo bluetooth y el pic// enable_interrupts(GLOBAL); //Ciclo infinito, es decir siempre va a estarse ejecutando para que funcione el robot//while(TRUE)//Si el dato recibido por el modulo bluetooth es alguna de los siguientes se realiza esa accion// { if(dato_bt=='X'){ AVANCE; } if (dato_bt=='x'){ PARO; } if (dato_bt=='T'){ output_high(focos); // Enciende los focos// } if(dato_bt=='O'){ output_low(focos); //Apaga los focos// } if(dato_bt=='C'){ RETROCESO; } if(dato_bt=='c'){ PARO; } if(dato_bt=='I'){ IZ; } if(dato_bt=='i'){ PARO; } if(dato_bt=='D'){ DE; } if(dato_bt=='d'){ PARO; } }}

DISEO APPINVENTOR En esta parte realizamos nuestra aplicacin Android, que contendr el control del carrito

Figura 1: Diseo de aplicacin

Figura 2: Programacin

Figura 3: Programacin 9.- Resultados obtenidos Finalmente desde varios intentos para sincronizar los caracteres y la manipulacin de los programa de pic c logramos control el carro mediante la aplicacin Android. 10.-Conclusiones:La conexin bluetooth y la aplicacin Android desde mi punto de vista es la ms rpida y sencilla de implementar. A diferencia de la conexin por cable y la manipulacin por el ordenador. Pues en la actualidad la mayora tiene celulares Android. 11.-Recomendaciones

Bibliografa: [1] Gua de iniciacin e instalacin de App Inventor [2] Ramrez, J. A. M Microcontroladores PIC: Sistema Integrado para el Autoaprendizaje

Linkografia: [3] http://www.mikroe.com/chapters/view/80/capitulo-2-programacion-de-los-microcontroladores/ https://www.youtube.com/watch?v=vG6mgDfJ0us https://www.youtube.com/watch?v=ZlecE1CgIho https://www.youtube.com/watch?v=Oh9Q1k0hiYkPickit2 https://www.youtube.com/watch?v=Eq-GBcx0744 https://www.youtube.com/watch?v=2RMYPWDnMcQAppInvetor https://www.youtube.com/watch?v=jKA4eumaFkw https://www.youtube.com/watch?v=4NBx_cfWwAg