Conexión Bluetooth con Microprocesador PIC

En esta entrada mostraré el procedimiento para establecer una conexión Bluetooth entre el microprocesador PIC 18F4550 de Microchip y un dispositivo Android. La modelación se realizó con el software ISIS (Intelligent Schematic Input System) Proteus y la implementación física en un breadbboard.

simulacion2.jpg

El proyecto en Eclipse con todo el código en Java para crear la APK en android lo pueden ver y descargar de mi repositorio en GitHub.

Presento a continuación el código fuente en C que fue grabado en el microprocesador PIC:

#include <18F4550.h>
#Fuses XT, NOWDT, NOPROTECT, NOLVP, PUT, BROWNOUT, NOCPD, NOWRT
#Use delay(clock=4000000)

#Use Fast_io(B)
#Byte PortB=0x06

#use rs232 (baud=9600, Xmit=pin_c6, Rcv=pin_c7, bits=8)

char a = 0;

// Interrupcion Externa
#int_EXT
void EXT_isr()
{
 putc('q');
}

// Funcion Principal
void main()
{
 // Configuracion de pines
 Set_Tris_B(0b11110001);
 PortB=0x00;
 
 // Configuracion de la Interrupcion
 // Externa (RB0) con flanco de bajada
 EXT_int_edge(H_TO_L); 
 Enable_interrupts(INT_EXT);
 Enable_interrupts(GLOBAL);
 
 // Ciclo Infinito
 While(true)
 {
 // Espera caracter
 a=getc();
 
 // Conmutacion de LED's:
 
 if(a=='R') // LED rojo
 {
 OutPut_Toggle(Pin_B1);
 }
 if(a=='A') // LED verde
 {
 OutPut_Toggle(Pin_B2);
 }
 if(a=='V') // LED amarillo
 {
 OutPut_Toggle(Pin_B3);
 }
 
 // Prender todos
 if(a=='T') // Activar Parpadeo
 {
 OutPut_High(Pin_B1);
 OutPut_High(Pin_B2);
 OutPut_High(Pin_B3);
 }
 
 // Apagar toodos
 if(a=='N') // Desactivar Parpadeo
 {
 OutPut_Low(Pin_B1);
 OutPut_Low(Pin_B2);
 OutPut_Low(Pin_B3);
 }
 }
}
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s