Arduino + Bluetooth + Android

Arduino + Bluetooth + Android

Outro dia desses, passeando com o Vinícius Senger da Elétron Livre pela Santa Efigênia em São Paulo, ele me mostrou o Amarino, uma aplicação Android para enviar os eventos do smartphone (acelerômetro, bússola, sensor de iluminação, sms recebidos, etc) para a Arduino via Bluetooth.

Uma semana depois de nossa conversa chegou aqui em casa o BlueSRiRF Gold, modem Bluetooth que comprei na Sparkfun. Saiu bem carinho (U$D 64,00), mas ele promete um alcance de 106m!!! Não perdi tempo e instalei o Amarino e o pacote de plugins no meu Samsung Galaxy S.

Confira o resultado:






Por incrível que pareça, foi simples montar esse projeto. Tudo que você precisa é:

  • Arduino
  • Modem Bluetooth (usei o BlueSRiRF Gold)
  • Smartphone Android equipado com um acelerômetro

Configurando o modem:

Para configurar o modem no MacOS X usei esse tutorial, mas tive que improvisar um pouco, pois está desatualizado.

Segue um complemento da primeira parte do tutorial, para parear o modem com o Mac:

  1. Ligue o modem nos 5v da Arduino
  2. Nas opções de Bluetooth, selecione “Set up Bluetooth Device” e selecione o modem (o meu apareceu como FireFly-alguma-coisa).
  3. Quando pedir a senha, vá em “Passcode options”, selecione a opção “Use a specific passcode” e informe “1234″ (em alguns modelos o PID pode ser “default”)
  4. Nas opções de Bluetooth, selecione “Open Bluetooth Preferences…”
  5. Selecione o modem BlueSMiRF e abra a opção “Edit Serial Ports…” nas configurações (ícone da engrenagem)
  6. Adicione uma nova porta, selecione o protocolo “modem” e marque a opção “Require pairing for securityAgora é só seguir o tutorial acima para o restante

Código Fonte

O código é bastante simples. Me baseei nos exemplos da biblioteca do Amarino.

Basta baixar a biblioteca do Amarino e jogá-la na pasta da Arduino IDE.

No Mac, a Arduino IDE vem num pacote “.app”, então siga os passos:

  1. Com o botão direito no arquivo Arduino.app, selecione a opção “Show Package Contents”
  2. Jogue a pasta do Amarino descompactada no seguinte diretório: “Contents > Resources > Java > libraries”

O código que desenvolvi está disponível no github: http://github.com/lucasfragomeni/arduino