Academia do Arquiteto - Introdução a ALM e Redmine
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
1. Android com Arduino
Vinicius Senger
Programador / Fundador da Globalcode
Globalcode – Open4education
2. Agenda
Introdução a Arduino
Integração Arduino + Android
Bluetooth e Amarino
Android Development Kit – Google ADK
Comunicação Wifi
Demos
@vsenger
Globalcode – Open4education
3. Vinicius Senger
E-mail vinicius@globalcode.com.br
Twitter @vsenger
Programador e Fundador da Globalcode
Desenvolvimento de produtos, treinamentos e
consultorias
Vendedor de muambas de arduino:
Www.eletronlivre.com.br
@vsenger
Globalcode – Open4education
4. O que é Arduino?
• Plataforma para programação de pequenos
computadores em diversos projetos de eletrônica
SEU PROGRAMA FERRAMENTA ARDUINO PLACA ARDUINO
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); //HIGH = 1 =
TRUE
delay(500);
digitalWrite(13, LOW); //LOW = 0 = FALSE
delay(500);
}
@vsenger
Globalcode – Open4education
5. Arduino
• Plataforma baseada em ATMega;
• Oferece um IDE e bibliotecas de programação de
alto nível;
• Open-source hardware
• Ampla comunidade
• Programado em C/C++
@vsenger
Globalcode – Open4education
6. Atuadores
• Leds
• Buzzer
• Solenóide
• Relês
• Motores DC
• Servo Motor
• Motor de passo
• Nitinol / Flexinol
@vsenger
Globalcode – Open4education
11. Arduino + Android
• Permite estender as capacidades do Arduino com
todo poder do seu aparelho Android;
• Arduino tem pouca memória e clock:
• Processar sons e imagens;
• Threads;
• Conectividade;
• Permite você usar os sensores do Android no
Arduino: GPS, acelerômetro, bússola;
@vsenger
Globalcode – Open4education
12. Como?
• Bluetooth;
• Bluetooth + Amarino;
• Google Accessory Development kit 2011;
• Google Accessory Development kit 2012;
• WIFI;
@vsenger
Globalcode – Open4education
13. Bluetooth + Amarino
• Escreve uma App no Android que se comunica
vioa bluetooth;
• Utiliza um Arduino com um módulo bluetooth (ex.
Bluesmirf SparkFun)
• Dados do Android para Arduino e vice-versa
• Amarino: plataforma que promove integração
entre Arduino e Android via bluetooth;
@vsenger
Globalcode – Open4education
14. DEMO
• Vídeo: Automação náutica com Android e Arduino
• Apresentar fragmentos de código
• Apresentar o Amarino
• Exemplos ao-vivo com DevBot
• Camera
• DevBot
• Celular ou Tablet
@vsenger
Globalcode – Open4education
15. Google ADK
• Accessory Development Kit é a plataforma de
criação de acessórios customizados para Android;
• Conexão entre Arduino e Android via cabo USB;
• Duas versões:
• 2011: Arduino Mega, USB Host, Shield
• 2012: ARM Cortex, NFC, vários sensores,
bluetooth, a coisa ficou séria...
• Aqui vamos falar só do 2011, infelizmente :(
@vsenger
Globalcode – Open4education
16. Google ADK
• Suporte a partir do Google API 10;
• Você desenvolve dois softwares:
• Android App: com interface para usuário que
chama o Arduino
• Arduino App (firmware): responde as
requisições do Android
• Android Open Accessory Protocol:
• protocolo entre o Android e Arduino;
@vsenger
Globalcode – Open4education
17. Google ADK 2011
• Kit original é composto por:
• Placa Arduino Mega 2560 com dois USB's
• USB Arduino que é ligado no PC
• USB Android que é ligado no dispositivo
• Shield (placa acessório) contendo:
• 2 Relés / Joystick
• Temperatura
• LED RGB
@vsenger
Globalcode – Open4education
18. DEMO
• Apresentar kit ADK na camera;
• Apresentar Eclipse com aplicativo ADK;
• Apresentar Arduino com aplicativo ADK;
• Mostrar rodando;
@vsenger
Globalcode – Open4education
19. WIFI
• Forma mais robusta porém maior consumo;
• Todo dispositivo Android tem!
• Shield WIFI para Arduino ainda são caros;
• Pode-se utilizar um ethernet shield no Arduino
ligado a um roteador WIFI;
• Comunicação TCP/IP completa com TCP e UDP;
• Maior custo, maior consumo e maior benefício;
@vsenger
Globalcode – Open4education
21. Conclusões
• Arduino: n possibilidades de computação física;
• Android: alto poder de processamento, sensores
avançados e programação Java;
• Android + Arduino: oportunidades3
Está só começando...
@vsenger
Globalcode – Open4education