TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ignaciorod en 26 de Junio de 2013, 12:04:54

Título: problema recepcion de variables via bluetooth
Publicado por: ignaciorod en 26 de Junio de 2013, 12:04:54
hola que tal espero que esteen pasando bien
bueno mi problema basicamente es:
uso ccs y un pic 16f877
tengo un modulito bluetooth hc06, e hice un programa sencillisimo con app inventor, logre conectar el modulo con el telefono. luego al tocar un boton mando un numero que se yo por ejemplo un 1 para prender un led en el puerto b y un 4 para apagar bien sencillo, pero no pasa nada de nada. yo creo q mi problema es como defini las variables.
 En el app inventor mando un 1 con client.text y mando como texto ese 1.
el tema es q no se q variable usar en ccs para recibir ese uno yo le puse una variable int para recibir por el puerto serie, o deberia ponerlo como char? no se si es ese mi problema o estoy errando algo si alguien ya hizo algo parecido seguro entendera y si pudo hacerlo q me pase si puede su programa en el pic. estoy casi seguro que en el app inventor esta bien ya q es muy sencillo
Título: Re: problema recepcion de variables via bluetooth
Publicado por: AngelGris en 26 de Junio de 2013, 12:27:34
hola que tal espero que esteen pasando bien
bueno mi problema basicamente es:
uso ccs y un pic 16f877
tengo un modulito bluetooth hc06, e hice un programa sencillisimo con app inventor, logre conectar el modulo con el telefono. luego al tocar un boton mando un numero que se yo por ejemplo un 1 para prender un led en el puerto b y un 4 para apagar bien sencillo, pero no pasa nada de nada. yo creo q mi problema es como defini las variables.
 En el app inventor mando un 1 con client.text y mando como texto ese 1.
el tema es q no se q variable usar en ccs para recibir ese uno yo le puse una variable int para recibir por el puerto serie, o deberia ponerlo como char? no se si es ese mi problema o estoy errando algo si alguien ya hizo algo parecido seguro entendera y si pudo hacerlo q me pase si puede su programa en el pic. estoy casi seguro que en el app inventor esta bien ya q es muy sencillo

  Estaría bien que subas el código del PIC, para que se pueda observar dicho programa y corroborar que no haya ningún error en él. Puede ocurrir que estés verificando si recibes 1 o 4 en decimal y no es lo mismo que 1 o 4 en ascii
Título: Re: problema recepcion de variables via bluetooth
Publicado por: ignaciorod en 26 de Junio de 2013, 13:42:58
#include <16F877A.h>
#device adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay (clock=4M)
#use fast_io(A)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
#use fast_io(E)
#int_rda
int valor=0;
void rda(){
disable_interrupts(GLOBAL);
valor=getc();}
void main()                      //Función principal
{
 
enable_interrupts(int_rda);
 enable_interrupts(GLOBAL);      //Habilito las interrupciones generales
setup_adc_ports(RA0_RA1_RA3_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL );
while(1){
               //Apago el watch dog timer
  if(valor==1){
  output_high(PIN_B2);}
  if(valor==2){
  output_high(PIN_B3);}
 if(valor==3){
  output_high(PIN_B7);}
  if(valor==4){
  output_low(PIN_B2);}
  if(valor==5){
  output_low(PIN_B3);}
  if(valor==6){
  output_low(PIN_B7);
  }
//  if(input_state(PIN_A4)==0);{
//  output_toggle(PIN_B2);}
//if( input_state(PIN_A5)==0);{
//  output_toggle(PIN_B3);}
//  if(input_state(PIN_E1)==0);{
//  output_toggle(PIN_B7);}
}
}

ese es el codigo creo q eso para mi el pic no interpreta bien lo q le llega
Título: Re: problema recepcion de variables via bluetooth
Publicado por: AngelGris en 26 de Junio de 2013, 14:53:39
  Sí el modulo bluetooth te envía el dato en modo ascii estás haciendo mal las evaluaciones.

  Los números del 0 al 9 tienen código ascii de 48 a 57. Es decir que el cuatro equivaldría al ascii 52
Título: Re: problema recepcion de variables via bluetooth
Publicado por: camhost1 en 26 de Junio de 2013, 20:42:57
Como te han dicho anteriormente, estas realizando la recepción mal, ya he realizado envíos del celular al uc, y la variable de recepción debe ser tipo char, en las evaluaciones realizas comparaciones del tipo if(valor=='1') , con eso bastara.
Título: Re: problema recepcion de variables via bluetooth
Publicado por: ignaciorod en 26 de Junio de 2013, 22:30:01
bueno gente gracias mañana pruebo estaba casi seguro q era eso les cuento mis progreso mañana