Módulo Bluetooth

Marcio.Gomes
Membro
Mensagens: 8
Novato
Website
01/07/2015 14:59:17

Módulo Bluetooth

Oi Pessoal,
há possibilidade de usar um Módulo Bluetooth no RoboUno? Qual o procedimento?

LucasVedovatto
Administrador
Mensagens: 34
Administrador
07/07/2015 10:28:00

Re: Módulo Bluetooth

Olá, Márcio.
Tudo certo?

Há sim. Qual modelo de módulo tu pensas usar?

Abraço


Lucas Josué Vedovatto
Equipe UNO

Marcio.Gomes
Membro
Mensagens: 8
Novato
Website
14/07/2015 11:42:00

Re: Módulo Bluetooth

O módulo em questão é o RS232 HC-06.
Datasheet http://silabs.org.ua/bc4/hc06.pdf
wink

LucasVedovatto
Administrador
Mensagens: 34
Administrador
15/07/2015 11:16:50

Re: Módulo Bluetooth

O Studio UNO já possui as bibliotecas para comunicação serial.
Basta inicializar as funções seriais com a seguinte chamada: "__inicializa_serial();".

Por default os parâmetros do robô UNO são:
Baud rate = 9600 bps
Pino TX = Porta digital 5;
Pino RX = Porta digital 6;

Registradores:
__RXIF = Flag de recepção;
__ERRORX = Flag de validação da recepção;
__serial_RX = Byte de recepção;

Funções:
__serial_data(unsigned char DataBufferTX); => para enviar um byte.
__serial_puts(const char * s, ... ); => para enviar uma string (com ou sem parâmetros).

Segue um exemplo de programa: Bluetooth_serial.uno

O código C que será gerado é o seguinte:

#include <uno.h>

//Funcao Principal
void main(void)
{
     __inicializa;                //Inicializa as entradas e funções do Robô UNO
     __inicializa_serial();       //Configura e inicia a comunicação serial
     while(TRUE) {
         if(__RXIF){              //Testa se houve uma recepção pela porta serial
            __RXIF = 0;           //Limpa a flag
            if(__ERRORX){         //Verifica se não ocorreu algum erro na recepção
                 __ERRORX = 0;    //Limpa a flag caso confirme-se um erro
            }
            else{                 //Se não ocorreu um erro, testa o valor recebido:
                 if(__serial_RX=='A'){           //Testa se o byte recebido foi 'A'
                      __motor_curso(__FORWARD);  //Aciona os motores para frente
                 }
                 if(__serial_RX=='B'){           //Testa se o byte recebido foi 'B'
                      __motor_curso(__STOP);     //Para os motores
                 }
                 if(__serial_RX=='C'){           //Testa se o byte recebido foi 'C'
                      __motor_curso(__BACKWARD); //Aciona os motores para trás
                 }
            }
         }
     }
     while(TRUE){}
}

Normalmente para testar os módulos Bluetooth, eu utilizo o app: BlueTooth Serial Controller


Lucas Josué Vedovatto
Equipe UNO

Marcio.Gomes
Membro
Mensagens: 8
Novato
Website
16/07/2015 07:03:12

Re: Módulo Bluetooth

Valeu Lucas!
smile

Rodapé do site