Bernardo Amaral Tpicos: - Introduo; - Comunicao Bluetooth no Windows; - Desenvolvendo nossa aplicao exemplo; - Concluses; Introduo Bluetooth um protocolo padro de comunicao primariamente projetado para baixo consumo de energia com baixo alcance, (dependendo da potncia: 1 metro, 10 metros, 100 metros) baseado em microchips transmissores de baixo custo em cada dispositivo. O Bluetooth possibilita a comunicao desses dispositivos uns com os outros quando esto dentro do raio de alcance. Os dispositivos usam um sistema de comunicao via rdio, por isso no necessitam estar na linha de viso um do outro, e podem estar at em outros ambientes, contanto que a transmisso recebida seja suficientemente potente. Classe Potncia mxima permitida (mW/dBm) Alcance (Aproximadamente) Classe 1 100 mW (20 dBm) at 100 metros Classe 2 2.5 mW (4 dBm) at 10 metros Classe 3 1 mW (0 dBm) ~ 1 metro Introduo Deve-se ressaltar que, na maioria dos casos, o alcance efetivo dos dispositivos de classe 2 estendido se eles se conectam a dispositivos de classe 1, se comparados com redes puras de classe 2. Isso pode ser obtido pela alta sensibilidade e potncia de transmisso do dispositivo de classe 1. A alta potncia de transmisso do dispositivo de classe 1 permite a recepo da alta potncia pelo dispositivo de classe 2. Alm disso, a alta sensibilidade do dispositivo de classe 1 permite a recepo da baixa potncia de transmisso de fora dos dispositivos de classe 2, permitindo assim a operao de dispositivos de classe 2 a grandes distncias. Dispositivos que possuem um amplificador de potncia na transmisso tm uma sensibilidade de recepo melhorada, e existem antenas altamente otimizadas que normalmente alcanam distncias de 1 km usando o padro Bluetooth classe 1. Verso Taxa de Transmisso Verso 1.2 1 Mbit/s Verso 2.0 + EDR 3 Mbit/s Verso 3.0 24 Mbit/s a.m.m. Mudana da Faixa de Transmisso para 802.11 Ligue o vcc no 5v do Arduino, o GND no GND mesmo, no caso do TXD e RXD temos que tomar o seguinte cuidado, o TXD vai ligado na sada 0 (DX) do Arduino, e o RXD vai ligado sada 1 (TX), deve ser feito dessa forma, se no ela no ir funcionar. Aps ligado corretamente, e o Arduino ligado uma fonte de alimentao ou USB, o mdulo Bluetoth dever ficar piscando um led vermelho, indicando que est aguardando uma conexo. Comunicao Bluetooth no Windows O adaptador que estou utilizando, encontrado no seguinte link do site dealextreme: http://dx. com/p/super-mini-bluetooth-2-0-adapter-dongle-vista-compatible-11866 Aps realizar a instalao do driver bluetooth, no meu caso o adaptador se instalou com o driver genrico do Windows 8. Surgir um cone na bandeja do sistema (prximo ao relgio). Clique com o boto direito nesse cone, e ento clique em "Ingressar em uma rede pessoal". Comunicao Bluetooth no Windows A tela de Dispositivos e impressoras ser exibida, ento clique em "Adicionar um dispositivo Bluetooth" como mostra o "Passo 1". A tela de Adicionar Dispositivo ser exibida, busque pelo dispositivo chamado "LINVOR", ento clique em Avanar, como mostra o Passo 3 na imagem. Comunicao Bluetooth no Windows Ento sabemos que o nome do dispositivo padro LINVOR a senha padro (PIN) do dispositivo 1234,clicamos em avanar e deixamos o sistema concluir a instalao. Comunicao Bluetooth no Windows Se tudo foi instalado corretamente, o dispositivo LINVOR ser listado na seo de "Dispositivos e Impressoras do Windows, (PS: no meu caso renomeei ele para FG), ento clique com o boto direito nele, e ento em "Propriedades". Comunicao Bluetooth no Windows Ento clique na aba "Hardware", e ali podemos ver a porta de comunicao que o dispositivo est usando, no meu caso est conectado usando a COM11. Comunicao Bluetooth no Windows Agora precisamos do software PuTTY, que encontrado no endereo: http://www.putty.org (procure na seo de downloads por putty.exe). Ao executar o programa, a seguinte tela ser exibida: Escolha o tipo de conexo Serial, informe o nome da porta no campo "Serial line", deixe a velocidade (speed) em 9600, e finalmente clique em Open. Ento uma tela preta ir aparecer. O mdulo JY-MCU dever parar de piscar, e o LED permanecer ativo, ento isto indica que conseguimos uma conexo com o mesmo. PS: Os comandos digitados nesta tela no sero exibidos como retorno. Comunicao Bluetooth no Windows Para nosso exemplo precisaremos: - Arduino; - Protoboard; - Fios de conexo; - LED; - Resistor de 220 ohm; Funo: Fazer o LED acender e apagar com comandos enviados via bluetooth. Desenvolvendo nossa aplicao exemplo Ligamos o catodo (lado mais curto do LED) no resistor, que este ser ligado ao GND do Arduino. O anodo (lado mais comprido, lado positivo do LED), ligado diretamente uma porta digital do Arduino, no exemplo utilizaremos a porta 13. Desenvolvendo nossa aplicao exemplo int led = 13; //definimos a varivel com o nmero da porta utilizado void setup() { pinMode(led, OUTPUT); //inicializamos a comunicao com o pino Serial.begin(9600); //definimos a velocidade de comunicao com o mdulo bluetooth } void loop() { char c = Serial.read(); //capturamos o caractere inserido pela comunicao bluetooth if (c == 'a') { digitalWrite(led, HIGH); //liga o LED } if (c == 'b') { digitalWrite(led, LOW); //desliga o LED } delay(1000); //timer pro LED permanecer aceso } Desenvolvendo nossa aplicao exemplo Testando nossa aplicao: Uma vez compilado e enviado para a placa o nosso cdigo (clicando no cone com uma seta na barra de ferramentas do IDE), abriremos o monitor serial. Digite os comandos 'a' seguido de ENTER e 'b' seguido de ENTER para ligar e desligar o LED (sem aspas). Uma dica: caso o compilador d um erro ao compilar, alegando falha de comunicao, com a fora DESLIGADA, remova o cabo VCC (5V) do bluetooth. Ligue o Arduino na USB e tente compilar novamente. Para utilizar esta aplicao via Bluetooth, o nosso Arduino no poder estar ligado entrada USB, ele deve ser alimentado por uma bateria de 9V, ou at mesmo uma de 12V, e o mdulo Bluetooth devidamente conectado (lembre-se de relig-lo ao pino 5V do Arduino). Ento realizamos a conexo via PuTTY, como foi ensinado anteriormente, e o comandamos remotamente pelo terminal. Desenvolvendo nossa aplicao exemplo Concluses Shields wi-fi pra arduino so bem caros, e o Bluetooth pode ser uma boa alternativa, tambm mais fcil de se realizar a conexo, como visto no exemplo desse artigo. O exemplo que demonstrei extremamente simples, mas com a idia passada pelo exemplo, podemos abrir um leque para diversas idias, como controle de automao residencial, ou at mesmo um sistema que controla outro sistema. A minha idia nesse tutorial foi demonstrar como realizar uma conexo efetiva via Bluetooth com Arduino, que no meu caso foi custoso encontrar uma soluo correta com base no que havia encontrado de tutoriais na internet. Tambm percebemos que o mdulo JY-MCU utiliza uma simples comunicao via Serial, sem precisar incluir pacotes como eu j havia visto em diversos tutoriais. ! (xixie!)