HOME      PROJETOS      PROGRAMAÇÃO     

Interfaceando PIC com Smartphone Android via Bluetooth


Já há algum tempo a moda é usar o Smartphone para controlar quase tudo através de aplicativos desenvolvidos para as mais diversas finalidades como automação residencial, sistemas de segurança, controle irrigação, etc. A comunicação entre os dispositivos pode ser fácil quando se emprega computadores como o PC que já possuem circuitos adequados (WiFi ou Bluetooth) para se comunicarem com o Smartphone porém, quando se usa microcontroladores como o PIC, não há como fazer isso a não ser que se conecte a ele um dispositivo externo que auxilie na conexão com o Smartphone via WiFi ou Bluetooth.

Foi pensando nisso que neste projeto estamos apresentando um circuito e um aplicativo para Smartphone Android muito simples que visa só o entendimento de como funciona essa comunicação com transferência de mensagens do Smartphone para o PIC.

Neste projeto um módulo Bluetooth HC-06 é conectado a um microcontrolador PIC16F628A através da porta serial (USART), pode receber mensagens e comandos de um aplicativo do Smartphone Android para acionar dois LEDs conectados às portas RB4 e RB5 do PIC.

MÓDULO BLUETOOTH HC-06

Para fazer a conexão com o aplicativo do Smartphones Android, usaremos um módulo Bluetooth HC-06, que pode ser visto na foto do lado esquerdo. Esse módulo é facilmente encontrado no mercado e pode ser acessado pelo PIC através de sua porta serial USART. A alimentação do módulo é feita com 5V, a mesma usada pelo microcontrolador. As únicas conexões necessárias são o pino RX do HC-06 ao pino Tx do PIC e o pino Tx do HC-06 ao Rx do PIC.

Antes de continuar, baixe em seu computador o projeto Bluetooth Simples desenvolvido no MPLAB. Descomprima o arquivo que vai gerar a pasta Bluetooth_Simples. Entre na pasta Bluetooth_Simples e navegue até a pasta Android, onde se encontra o aplicativo PicCMD.apk e copie esse arquivo para uma pasta de seu celular. Para instalar o aplicativo apenas selecione o arquivo PicCMD.apk tocando nele e o Android perguntará se deseja fazer a instalação.

Após a instalação, abra o aplicativo no celular e verifique se foi instalado corretamente. A figura ao lado direito mostra a tela do aplicativo onde apenas dois botões são definidos para controlar dois LEDs conectados ao PIC. Ao abrir o aplicativo, uma barra com o aviso "SELECIONE UM BLUETOOTH" vai aparecer. Toque com o dedo nessa barra e uma lista com um ou mais dispositivos Bluetooth nas proximidades vão aparecer. Quando você montar e ligar o circuito proposto neste projeto, verá que um dispositivo identificado de algo como 98:D1:53:00:48:8A HC-06 estará presente. Se esse dispositivo não aparecer pode ser que esteja na lista dos dispositivos disponíveis mas não pareados. Toque nele para que seja pareado. Após o pareamento o dispositivo aparecerá na lista de dispositivos prontos para uso. Toque nesse dispositivo para o aplicativo poder usá-lo. Aqui não vamos entrar em detalhes de como o aplicativo foi desenvolvido mas apenas dizer que o botão "LED1" envia para a porta serial a string "1/" (sem aspas) e o botão "LED2" envia a string "2/" (também sem aspas).

Aqueles que se interressarem pela programação de aplicativos para Smartphones Android, podem acessar o site MIT App Inventor e aprender como desenvolver aplicativos para Smartphones Android de forma online usando uma interface de programação visual, sem necessidade de aprender uma linguagem e tudo inteiramente grátis.



HARDWARE

O hardware, que foi montado em torno de um microcontrolador PIC16F628A, é muito simples e não necessita maiores explicações. Veja o esquema elétrico ao lado.

Faça a montagem do circuito notando que os pinos do módulo Bluetooth HC-06 devem ser conectados nos pinos VCC, GND, TX e RX do circuito.



PROGRAMA

Entre na pasta do projeto baixado no seu computador e clique duas vezes no arquivo "bluesimple.mcp" para abrir o projeto no MPLAB. Na mesma pasta de projeto está o programa "bluesimple.hex" que deve ser gravado no PIC16F628A. Esse programa pode ser adaptado para outros microcontroladores bastando realizar as modificações necessárias e recomplilá-lo.

Após gravar o programa no PIC note que o circuito iniciará com os LEDs do PIC apagados e o LED do HC-06 piscando.
Abra o aplicativo no Smartphone e conecte ao dispositivo Bluetooth HC-06 conforme já explicado anteriormente.
O LED do HC-06 vai parar de piscar. Use os botões LED1 e LED2 do aplicativo para acender e apagar os LEDs conectados ao PIC. Um toque no botão acende o LED outro toque apaga.

É bom notar que o program se comunica com o módulo Bluetooth pela porta serial a uma taxa de 9600BPS usando um clock externo de cristal a 20MHZ (Fosc). Como o Baud Rate depende da frequência do clock utilizada, se for necessário mudar a frequência do clock do projeto para trabalhar com o clock interno a 4MHZ, por exemplo, um novo valor deverá ser carregado no registrador SPBRG a fim de atingir o Baud Rate desejado. No exemplo abaixo podemos ver a carga do registrador SPBRG com o valor 129 para gerar um Baud Rate de 9600BPS quando o projeto usa um clock de cristal externo de 20MHZ. No mesmo exemplo também podemos ver que a instrução comentada está usando o valor 25 para carregar o registrador SPBRG a fim de gerar um Baud Rate de 9600BPS quando o projeto for montado usando um clock de cristal externo ou mesmo o clock interno de 4MHZ.

movlw .129 ; 9600BPS a 20MHZ ;;; movlw .25 ; 9600BPS a 4 MHZ movwf SPBRG ; SET BAUD RATE GENERATOR

Para outras frequências de clock, obtenha o valor correto a ser carregado em SPBRG consultando a sessão "Baud Rate Generator" do data sheet do microcontrolador.

A leitura da string proveniente do aplicativo, é realizada no programa através da interrupção do pino RX da porta serial. A interrupção é responsável por ler todos os caracteres que chegam pela porta serial e guardá-los num buffer de leitura, inclusive o caracter delimitador de fim da string, no caso "/" (barra). Mais informações sobre o programa podem ser obtidas com a leitura dos comentários feitos no arquivo fonte "bluesimple.asm". que se encontra na pasta do projeto.

Concluindo, este projeto simples pode ser ponto de partida para quem deseja montar outros mais sofisticados envolvendo a comunicação entre Smartphones e microcontroladores PIC.





Índice dos circuitos




H P S P I N

Desde 04 de Março de 2010

Atualização: 19 de Mar de 2024