Apartir do momento em que aderi ao Android no meu telemóvel HTC HD2, comecei a dar uso a muitos programas disponíveis no market ( google play ) e que são de grande utilidade e encontrei inclusivamente programas para electronica muito bons. Lentamente fui explorando as potencialidades deste sistema de tal forma que o telemóvel ganhou um muito maior uso diário e completamente diferente ao que era habitual. O circuito aqui apresentado prova isso mesmo. Este é um circuito de teste para comunicação bi-direccional entre um microcontrolador e um telemóvel através de bluetooth "dente azul" :) e Android.
Available soon
O microcontrolador usado foi mais uma vez um 16F88. Um microcontrolador de 8 pinos chegava para testar o módulo de bluetooth, mas utilizei este de 18 pinos pois queria ligar um display para ter acesso ás várias etapas do programa e conteudo das variaveis.
O módulo de bluetooth é uma pequena placa de apenas 35mm de comprimento por 16mm de largura. O módulo permite enviar e receber dados TTL por bluetooth e aceita tensões de alimentação de 3,3V a 5V o que o torna perfeito para ser usado com microcontroladores.
Existem várias aplicações Android gratuitas no market ( google play ) que permitem a troca de dados por bluetooth.
O programa que mais gostei de usar foi o Bluetooth SPP. Este programa tem 3 modos:
Modo normal - funcionamento basico de input/output
Modo Keyboard - 12 botões com output configuravel
Modo linha de comandos - Interface linha de comandos para debugging
O módulo bluetooth tráz a informação do nome difundido e a password de acesso. A password é inserida apenas a primeira vez nas definições do telemovel. Apartir daí, em qualquer aplicação que tente aceder a este módulo, o telemóvel automaticamente emparelha-se com o dispositivo.
O módulo possui um pequeno led que pisca quando não está emparelhado ou fica aceso quando está emparelhado.
Como referi, esta aplicação permite configurar até 12 botões. Para esta experiência configurei 6 botões para comandar 3 leds.
Basicamente coloquei um botão para cada led e unicamente para uma só função ( ligar ou desligar ).
Dei um nome a cada botão e configurei cada um para enviar um número. Este número tem de ser em formato ascii ou hexadecimal. O microcontrolador depois ao receber os dados, converte-os em decimal e consoante o número recebido executa a função pré-gravada.
Desta forma consegui enviar instruções ao microcontrolador para ligar ou desligar leds á distância e usando um telemóvel com sistema Android.
O alcance superou as minhas espectativas. Tive controlo absoluto em toda a casa desde que as portas estivessem abertas.
O display mostra a informação e confirmação dos dados. Sempre que um comando é enviado, o display indica qual o led accionado e se foi ligado ou desligado.
Nesta experiência, dependendo do número recebido, o microcontrolador apenas muda o estado da saida correspondente.
Ao mesmo tempo envia uma confirmação de sinal recebido e executado de volta para o telemóvel. Na figura abaixo é possivel ver os comandos enviados e a respectiva resposta do microcontrolador. Os comandos enviados foram "05" e "06" e a confirmação recebida foi "0A". Desta forma, mesmo que o circuito não seja visivel ( por estar instalado numa caixa por exemplo ) ou o proprio circuito tenha sido contruido sem indicação de estado, é possivel saber sempre se o comando foi recebido/executado pelo microcontrolador.
Usando este princípio é possivel adaptar circuitos para ligar/desligar electrodomésticos, lâmpadas, etc.
Aqui fica um pequeno vídeo do circuito a funcionar.
.