sábado, 30 de julho de 2016

Arduino + Bluetooth + Android (parte 3)

Android!

Já viu na internet um controle de drone via bluetooth, feito por iPhone? Esse vídeo ficou famoso pois o autor controlava um quadcóptero. Eu lembro dele pois quando ele foi divulgado os nossos aparelhos Android careciam de alguns hardwares interessantes, por exemplo, acelerômetro! (Os que tinham eram realmente caros).

Ok... fim da sessão naftalina. Certifique-se de que o SEU SMARTPHONE, tenha acelerômetro (se nao tiver, Ok, desenvolvi uma interface de dedo) :)

AppInventor

O MIT (isso mesmo Massachussets Institute of Technology) em parceria com a Google, desenvolveu um ambiente chamado AppInventor. Ele permite de forma gráfica e de layout simplificado desenvolver aplicativos para Android.

Quem já conhece Scratch, não terá problemas para  desenvolver nele. 

Já desenvolvo para Android há anos, mas uso o SDK. Isso toma mais tempo e mais linhas de código. No desafio que eu recebi, eu só tinha 2 dias para fazer a solução completa! Essa parte ficou no 2o dia.

Quer saber mais sobre o AppInventor? http://appinventor.mit.edu/explore/index-2.html

O design do aplicativo

Desenhar o aplicativo no AppInventor não é um bicho de 7 cabeças. Mas o que quero mostrar aqui, é como posso tirar proveito do mesmo design discutido nos artigos anteriores sem alterar uma virgula sequer.


Na tela acima temos o design do mesmo, os botões de direção, a seleção com conexão/desconexão do bluetooth, e no quadro abaixo does botões de ativação e comando de direção, a visualização dos registros do acelerômetro;

Conforme o balanço do acelerômetro, haverá o despacho do respectivo comando para os motores.

Abaixo do design da tela, no campo Non-visible componentes, tem os componentes responsáveis por conexão por bluetooth, leitura do acelerômetro, e um componente específico para mostrar os alertas do sistema.


O programa

Bom, não é minha intenção ensinar ninguém a programar, mas vou mostrar aqui uma parte interessante do programa que eu fiz. 


Esse são os trechos do programa em que comunico com o arduino via Bluetooth. Olha que estou enviando os mesmos comandos que especifiquei e foi testado.

Na parte da esquerda o comado do acelerômetro. Tem uma esperteza ali; dependendo do intensidade da inclinação (maior que 2, ou menor que -2) o respectivo comando é enviado pro bluetooth.

Pra quem nunca programou usando AppInventor, a programação é assim mesmo. Caixinha com caixinha, igual Lego... legal!

Eis aqui o link do resultado final https://www.youtube.com/watch?v=VqTXDF1rouc

Este programa está disponivel na App Store: https://play.google.com/store/apps/details?id=appinventor.ai_mauricio_marcosta.BTMotor

Nenhum comentário:

Postar um comentário