Anda di halaman 1dari 13

UNIVERSIDAD TCNICA DE AMBATO

FACULTAD DE SISTEMAS, ELECTRNICA E INDUSTRIAL


CARRERA 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 carrito
4.- 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 C


1.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 USB
El PICkit2 Clone es 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). La lista de dispositivos
soportados por 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 EEPROM
El uso del PICkit2 Clone es muy sencillo. En la siguiente pgina puede ver varios videos
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.

AppInventor
Google App Inventor es una aplicacin de Google Labs para crear aplicaciones de
software para el sistema operativo Android. 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 C
Realizamos 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;
bluetooth//

//Variable que almacena los caracteres recibidos del modulo

//Mtodo Principal//
void main()
{
//Capturar el Dato recibido del bluetooth//
dato_bt=getchar();
andriod en dato_bt//
enable_interrupts(INT_RDA);
entre el modulo bluetooth y el pic//

//Almacena el dato recibido desde la aplicacion


//Interrupciones para transmitir serialmente

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);
}
if(dato_bt=='C'){
RETROCESO;
}
if(dato_bt=='c'){
PARO;
}
if(dato_bt=='I'){
IZ;
}
if(dato_bt=='i'){
PARO;
}

//Apaga los focos//

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-losmicrocontroladores/
https://www.youtube.com/watch?v=vG6mgDfJ0us
https://www.youtube.com/watch?v=ZlecE1CgIho
https://www.youtube.com/watch?v=Oh9Q1k0hiYk
Pickit2
https://www.youtube.com/watch?v=Eq-GBcx0744
https://www.youtube.com/watch?v=2RMYPWDnMcQ
AppInvetor
https://www.youtube.com/watch?v=jKA4eumaFkw
https://www.youtube.com/watch?v=4NBx_cfWwAg

Anda mungkin juga menyukai