Autor Tema: Comunicación entre un dspic30f4013 y un modulo bluetooth HC-05  (Leído 2347 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Robe_meca

  • PIC10
  • *
  • Mensajes: 3
Comunicación entre un dspic30f4013 y un modulo bluetooth HC-05
« en: 14 de Marzo de 2018, 03:33:35 »
Muy buenas noches, soy nuevo en esto de programar dsp y me encuentro realizando un proyecto en el cual estoy utilizando un dspic30f4013 con el cual quiero controlar un motor a pasos utilizando un modulo bluetooth hc-05, para ello estoy comenzando con lo mas básico que es encender un led, pero a la hora de comunicarlos no enciende, si alguien pudiera decirme en que me estoy equivocando o que me falta se lo agrade seria mucho, este es mi código el cual pude formar viendo algunos tutoriales.

#include <posicionador.h>

#use fast_io(D)


void main(){
char valor;

set_tris_D(0b0000);

Output_low(pin_D0);
Output_low(pin_D1);

   while(true){
   
   valor=getc();
   
     switch (valor){
     case 'A':
     Output_low(pin_D0);
     break;
     
     case 'B':
     Output_high(pin_D0);
     break;
     
     case 'C':
     Output_low(pin_D1);
     break;
     
     case 'D':
     Output_high(pin_D1);
     break;
     }
   }
}

para programar el dspic utilizo CCS 5, el cual me pareció mas amigable a la hora de programar y para la parte del bluetooth utilizo app inventor.

Por su atención gracias.
 
Roberto :)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Comunicación entre un dspic30f4013 y un modulo bluetooth HC-05
« Respuesta #1 en: 14 de Marzo de 2018, 09:48:12 »
No uso mucho CCS asi que te voy a dar unos lineamientos para que sigas, los probas y espero que funcione

Software:
- No pusiste los FUSES, o estaran en otro archivo.
- No veo el set de la UART o estan en otro archivo.
- Proba poner las entradas en forma digital, realmente no me fije si es que ese puerto posee la capacidad analogica, pero por las dudas lo digo.
- C es case sensitive, asi que output_low no es lo mismo que Output_low, lo mismo con todas las funciones que son en minusculas, tal ves CCS no le importe y lo tenga definido varias veces, pero es a tener en cuenta.
- Te propongo realizar 2 codigos el primero es tratar de que un led prenda y apague solo sin tener en cuenta la comunicacion, usa algun delay y un output_toggle dentro del while. Si esto funciona te dice que al menos la parte de configuracion del PIC esta funcionando correctamente.

El otro programa es que en ves de esperar una letra, apenas llegue cualquier cosa cambie el estado de la salida, asi al menos saber que algo esta llegando!!

Código: C
  1. valor=getc();                         // este es bloqueante
  2.  output_toggle(PIN_D0);    // entraria aca apenas reciba algo

De esa forma ya estas seguro de que algo llego, sino puede ser problema de configuracion de la UART o que realmente no este llegando nada.

Hardware:
Verificar que el modulo Bluetooth este enviando algo, si posees un conversor USB-TTL podrias ver que esta enviando el modulo en tu PC y asi saber a que uno debe reaccionar.

Desconectado Robe_meca

  • PIC10
  • *
  • Mensajes: 3
Re:Comunicación entre un dspic30f4013 y un modulo bluetooth HC-05
« Respuesta #2 en: 14 de Marzo de 2018, 13:09:47 »
De hecho si KILLERJC  CCS me crea un archivo cabecera al momento de crear el proyecto pic24wizar, en el cual ya me aparece la opción UART1 con los pines pre-definidos y los fuses a usar, te muestro esa parte.

#include <30F4013.h>
#device ICSP=1
#use delay(crystal=20000000)

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES CKSFSM                   //Clock Switching is enabled, fail Safe clock monitor is enabled
#FUSES NOBROWNOUT               //No brownout reset

#use rs232(xmit=PIN_F3, rcv=PIN_F2, baud=9600, stream=RS232_PORT1)



 una disculpa por no mostrarla antes. Tratare de hacer lo que me dices para ver si ese es el problema GRACIAS  :) ((:-)).