You are on page 1of 5

Arduino

Bluetooth

Android
O RouchBT um carrinho feito com Arduino e Motor DC, controlado via Bluetooth usando o acelermetro de um smartphone com sistema operacional Android.

Pr-requisitos para reproduzir esse projeto:


o o o o o
Ter todas as peas listadas em 'partes bsicas'; Ter a Arduino IDE instalada e saber subir cdigo para a Arduino; Programao bsica C/C+: suficiente para mudar os valores das variveis das portas da Arduino; Eletrnica bsica: do tipo 'una os pontos'; Solda bsica: o suficiente para soldar os fios dos motores;

O que voc NO precisa saber/entender:


o o
Desenvolvimento para Android (utilizamos uma aplicao pronta, o Amarino); Comunicao Bluetooth (o Amarino j faz todo o trabalho sujo);

Partes
Partes Bsicas:
o o o o o o
1x Smartphone com Android (usei o Sansung - Galaxy S); 1x Arduino UNO/Diecimilanove; 1x Ponte H - L293D; 2x Motor DC; 1x Castball; 1x Mdulo Bluetooth (usei o BlueSMiRF Gold)

Partes usadas para juntar tudo:


o o o o
1x Arduino ProtoShield com Mini-Protoboard; 2x Braadeiras para os motores; 1x Chassi de acrlico (cortado na Dremmel, em casa); Nx Jumper Wires

Pra que serve cada uma dessas partes?


o o
Arduino UNO/Diecimilanove: microcontroladora baseada no processador AVR da Amtel; vem em dois sabores: atmega168 (16kb) e atmega328 (32kb); Motor DC: motor de corrente contnua (Direct Current). Esses motores giram para ambos os lados, bastando inverter a polaridade da corrente para mudar o sentido da rotao; Castball: bola de metal que funciona como um pivot dianteiro, de forma que no necessrio ter um eixo para 'guiar' o carro (essa direo fica a cargo da velocidade dos motores). Ponte H (L293D): Circuito Integrado (CI) para controlar motores de corrente contnua. Cada CI desses controla at dois motores DC. Esse CI necessrio pois motores DC geralmente consomem uma corrente maior do que a suportada pela Arduino (40mA), o que poderia queim-la instantaneamente. Mdulo Bluetooth (BlueSMiRF Gold): mdulo para comunicao sem-fio com o smartphone via Bluetooth. Protoshield: placa modular que encaixa na Arduino; usada para o desenvolvimento de prottipos (portanto, eliminando a necessidade de fazer soldas); Protoboard: uma placa para unir fios sem solda;

o o o

Circuito:
O circuito foi montado sobre um protoshield para a Arduino com uma protoboard, como ilustrado abaixo:

Ponte H:
A primeira coisa a fazer entender como funciona uma Ponte H. Ela tem dois lados, um controla o motor 1 e outro controla o motor 2. Segue o esquemtico simplificado do CI:

o o

Enable/PWM (motor 1: pino 1; motor 2: pino 9): liga/desliga o motor. Pode ser usado tambm para regular a velocidade do motor com PWM. Control/Input (motor 1: pinos 2 e 7; motor 2: pinos 9 e 15): cada motor tem 2 pinos de controle. Eles funcionam da seguinte forma:

INPUT A1

INPUT A2

DIREO

HIGH

LOW

Frente

LOW

HIGH

Trs

LOW

LOW

Parada Rpida

HIGH

HIGH

Parada Rpida

Motor/Output (motor 1: pinos 3 e 6; motor 2: pinos 10 e 16): aciona os motores de acordo com o estado dos pinos de controle; O motor deve ter um fio em cada output (so apenas dois por motor). VCC2 (pino : tenso que ser utilizada pelos motores. Arduino trabalha com apenas 5v, mas motores podem requerer uma tenso de funcionamento maior. No circuito acima usei 9v provenientes da Arduino. Importante: se for usada uma fonte externa (ex: bateria de 9v) lembre-se de conectar o neutro (GND) da fonte externa com o da Arduino; VCC (pino 16): tenso para alimentar o CI, 5v. Pode ser usado os 5v da Arduino. GND (pinos 4, 5, 12 e 13): neutro/negativo/terra/gnd. Devem estar conectados no 'GND' da Arduino. Importante: se for usada uma fonte externa (ex: bateria de 9v) lembre-se de conectar o neutro (GND) da fonte externa com esse; Nota: esses pinos tambm so usados para dissipao de calor. Se for montar um circuito definitivo/impresso, recomendado soldar esses pinos num dissipador.

o o

Bluetooth - BlueSmirf Gold:


O mdulo BlueSmirf Gold, apesar de ter vrios uns 6 pinos, s precisamos de 4, e a ligao feita da seguinte forma:

BLUESMIRF

ARDUINO

GND

GND

VCC

5v

RX

TX

TX

RX

Um detalhe importante: quando for subir o cdigo para a Arduino, desconecte o VCC do mdulo Bluetooth, pois ele usa os pinos RX/TX da Arduino, causando confuso no upload.

Arduino:
No Arduino ns precisamos de duas coisas:
1. 2. Biblioteca do Amarino 'MeetAndroid', que pode ser baixada aqui: http://www.amarinotoolkit.net; Cdigo para controle dos motores, que pode ser baixado aqui: http://github.com/lucasfragomeni/arduino/tree/master/RouchBT;

O cdigo est bem documentado, portanto vou deixar voc ler sobre isso l.

Android:
Para o Android foi utilizado o 'Amarino', um aplicativo open-source responsvel por realizar a comunicao bluetooth e enviar os dados dos sensores do smartphone para a Arduino. O Amarino pode ser baixado aqui: Download do Amarino. Baixe e instale tambm o pacote de plugins, que permite usar diferentes sensores do celular. Uma vez instalado o Amarino, faa o pareamento do mdulo bluetooth com o celular e siga os passos no Amarino:
1. 2. 3. 4. Adicione o mdulo como um dispositivo em "Add BT Device"; Pressione sobre o dispositivo e selecione "Show Events"; Em "Add Event" adicione o evento "Acelerometer Sensor"; No cdigo, mude o primeiro parmetro da funo "registerFunction" para o ID atribudo ao sensor no Amarino.

Agora s conectar o dispositivo e comear a brincar! Faa bom proveito!


Tagged as: amarino, android, Arduino, bluetooth, h bridge, l293, motor dc, ponte h Leave a comment Comments (20) Trackbacks (0) ( subscribe to comments on this post )

You might also like