Professional Documents
Culture Documents
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.
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)
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
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.