sábado, 6 de febrero de 2016

Microcontroladores PIC Comunicación Bluetooth Bi direcional

Vídeo que nos enseña como realizar comunicaciones inalambricas  con los microcontroladores PIC mediante el uso de la tecnología  Bluetooth. En el vídeo se enseña el control del microcontroldor mediante el uso de dispositivos móviles .teléfonos y tabletas electrónicas.

Para el control del microconttolador deben descargar las aplicaciones:

RC Bluetooth Control desde Google PLay:



Desde Amazon:


Deben descargar la aplicación Chat Bluetooth:

Desde Google Play:


Desde Amazon:


En el siguiente  vídeo se explica como realizar la programación del microcontrolador PIC:



 El código para programar el PIC es el siguiente:


 //#include <16f877A.h>
#include <18F4550.h>
#device ADC=8
//#fuses HS,nowdt,noprotect,nolvp,nodebug,usbdiv,pll5,cpudiv2,vregen
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
//#fuses NOWDT,XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay (clock = 20M )
#use fast_io(c)
#use rs232(baud=9600,bits=8,parity=n,xmit=pin_c6,rcv=pin_c7)
#priority rda,timer1,ad
#include <LCD4x16_2016.c>
//#include <LCD4x16_877A.c>
#byte PUERTO_A=0xf80
#byte PUERTO_B=0xf81
#byte PUERTO_C=0xf82
#byte PUERTO_D=0xf83
#byte PUERTO_E=0xf84


char valor;
int sw=0;
char dato[30]="PIC Rx=";
char mensajeTx [12];


void main ()

{

  Setup_adc_ports(NO_ANALOGS);
  lcd_init();
  set_tris_a(0b00000000);
  set_tris_b(0b00000000);
  set_tris_c(0b10000000);
  set_tris_d(0b00000000);
 
  lcd_init();
 lcd_gotoxy(1,1);
 printf(lcd_putc,"TX/RX Bluetooth");
 output_a(0xFF);
while(true)
{
while ( kbhit())
{
valor=getc();//recibe el dato del pc y lo guarda en valor
sw=1;

}

switch (valor)
{

case 'R':output_bit(PIN_A0,0);
output_bit(PIN_A1,1);
output_bit(PIN_A2,1);

break;
case 'U':output_bit(PIN_A0,1);
output_bit(PIN_A1,0);
output_bit(PIN_A2,1);
break;
case 'L':output_bit(PIN_A0,1);
output_bit(PIN_A1,1);
output_bit(PIN_A2,0);
break;
case 'X':output_bit(PIN_A0,1);
output_bit(PIN_A1,1);
output_bit(PIN_A2,1);
break;


}

if (sw==1)
{
lcd_gotoxy(1,2);
printf(lcd_putc,"%S %c","Recibido=",valor);
sprintf(mensajeTX,"%s %c",dato,valor);
puts(mensajeTx);
sw=0;
}


}


}


1 comentario: