INTEGRAÇÃO ANDROID & ARDUINO
FACULDADE ANHANGUERA DE CAMPINAS
INTEGRAÇÃO ANDROID & ARDUINO
“App Inventor é uma ferramenta baseada em nuvem
para construir aplicativos Android, ou seja, você
pode programar diretamente no navegador web.”
http://appinventor.mit.edu/explore
INTEGRAÇÃO ANDROID & ARDUINO
A página do “serviço” é: ai2.appinventor.mit.edu
É necessário uma conta de e-mail do Google.
INTEGRAÇÃO ANDROID & ARDUINO
Escolher os componentes Renomear componentes Tela Propriedades dos componentes Designer ou BlocksINTEGRAÇÃO ANDROID & ARDUINO
Designer
Components --Selecione: Screen1 Properties --AlignHorizontal=Center --Title=Arduino1INTEGRAÇÃO ANDROID & ARDUINO
Designer
Palette - User Interface Arraste para a tela: --Label
----Renomear para: lblTexto ----FontSize=30
----Text= . . .
--Button
----Renomear para: btnEscrever ----FontSize=20
----Text= Escrever
--Button
----Renomear para: btnApagar ----FontSize=20
INTEGRAÇÃO ANDROID & ARDUINO
Designer
Palette - Layout Arraste para a tela:
--HorizontalArrangement ----Renomear para: ha1 ----Width=Fill parent
----AlignHorizontal=Center
Arraste os dois botões para dentro do ha1
Após isso troque para a tela do editor de blocos 1
INTEGRAÇÃO ANDROID & ARDUINO
Blocks
Screen1 Selecione: --btnEscrever
----Arraste o bloco “.Click” para o centro da tela.
--lblTexto
----Arraste o bloco “.Text” para dentro do bloco “.Click”
Built -In Selecione: --Text
----Arraste o bloco “vazio” para a conexão do bloco “.Text”
----Click e escreva “Alô Mundo” Siga os mesmos passos para o btnApagar com o texto “. . .”
INTEGRAÇÃO ANDROID & ARDUINO
Testando o Aplicativo
Existem basicamente quatro formas de testar o aplicativo:
1. Se o computador e o smartphone estiverem em uma rede
wireless baixe no smartphone o aplicativo: MIT ai2companion.
2. Instale o emulador no computador fazendo o download em:
http://appinv.us/aisetup_windows.
3. Habilite o modo programador no Android e teste o aplicativo
pelo cabo USB.
INTEGRAÇÃO ANDROID & ARDUINO
Modo 1
Designer
No menu Connect: Selecione: Ai Companion No smartphone, utilize o aplicativo AI Companion para fotografar o QRCode que irá aparecer.O aplicativo é transferido para o smartphone e funciona em tempo real. Não funciona em redes com proxy
1
5 1
INTEGRAÇÃO ANDROID & ARDUINO
Modo 2
Designer
Inicie o emulador pelo ícone aiStarter que foi criado quando você instalou o pacote do emulador
No menu Connect:
Selecione: Emulator, aguarde até o emulador iniciar e teste o aplicativo
2
INTEGRAÇÃO ANDROID & ARDUINO
Modo 3
Designer
Instale o emulador no computador.
Instale os drivers USB do smartphone (fabricante). Habilite no smartphone o modo programador, a depuração USB e Conecte o cabo USB.
Inicie o aiStarter
No menu Connect:
Selecione: USB, aguarde até o emulador iniciar e teste o aplicativo
3
6 3
INTEGRAÇÃO ANDROID & ARDUINO
Modo 4
Designer
No menu Build:
Selecione: App (provide QR code for .apk) e faça o download com um leitor de QR code.
Ou
Selecione: App (save .apk to my computer) e Instale o aplicativo pelo cabo USB
4
INTEGRAÇÃO ANDROID & ARDUINO
“Arduino é uma plataforma eletrônica de código
aberto, baseado em hardware e software de fácil
utilização. É destinado a qualquer pessoa que queira
fazer projetos interativos.”
http://http://www.arduino.cc
1.430.000 vídeos no YouTube
INTEGRAÇÃO ANDROID & ARDUINO
+
+
int am = 13; //variável am esta "associada" ao pino 13 do Arduino. int vd = 12; //vd pino 12
int vm = 11; //vm pino 11
int dadoRX; //variável para armazenar o dado recebido lea serial void setup()
{
Serial.begin(9600); //comunicação serial a 9600 bits por segundo pinMode(am,OUTPUT); //am é um pino de saída
pinMode(vd,OUTPUT); pinMode(vm,OUTPUT); }
void loop() {
if(Serial.available()) //se estiver disponível um caractere na serial... {
dadoRX = Serial.read(); //leia o caractere na serial e armazene em dadoRX
if (dadoRX == 'a') //se este caractere for a então
digitalWrite(am,HIGH); //escreva 5 volts (HIGT) na saída am (LED amarelo)
if (dadoRX == 'b') digitalWrite(vd,HIGH); if (dadoRX == 'c') digitalWrite(vm,HIGH);
if (dadoRX == 'd') //se este caractere for a então {
digitalWrite(am,LOW); //escreva 0 volts (LOW) na saída am (LED amarelo)
digitalWrite(vd,LOW); digitalWrite(vm,LOW); }
INTEGRAÇÃO ANDROID & ARDUINO
Arduino UNO R3
INTEGRAÇÃO ANDROID & ARDUINO
Arduino UNO R3
INTEGRAÇÃO ANDROID & ARDUINO
-Versões da placa
UNO MEGA
Pro Mini
INTEGRAÇÃO ANDROID & ARDUINO
-14 pinos Entrada/Saída digital
-6 pinos Entrada analógica
-32 KB de memória de programa
-2 KB de memória RAM
-1 KB de memória EEPROM
-Comunicação serial
--RS232 / SPI / I2C
-6 PWM
--10%
Arduino
UNO R3
-Hardware
INTEGRAÇÃO ANDROID & ARDUINO
-Shields
Ethernet GSM WiFi USB Host Proto Motor 7 seg LCD Relê TouthINTEGRAÇÃO ANDROID & ARDUINO
-Bibliotecas
Nativas:
--Digital I/O
--Analog I/O
--Time
--Math
--Random
--Interrupts
--Serial
--Tone
Terceiros:
--EEPROM
--Ethernet
--GSM
--WiFi
--LiquidCrystal
--TFT
--SD
--Servo
--SPI
Dedicadas:
--NRF24L01
--RTC DS1302
--Ultrasonic HC-SR04
--RFRemote
--RFID MFRC522
INTEGRAÇÃO ANDROID & ARDUINO
--Baixar a IDE em: http://arduino.cc/en/Main/Software
Estrutura de um programa:
//Declaração de variáveis e constantes
void setup() { //Configuração inicial } void loop() {
//código que será repetido }
INTEGRAÇÃO ANDROID & ARDUINO
Arquivos de exemplos
Arquivos exemplos
--Exemplos da linguagem e das bibliotecas --Entre eles o “Blink”
INTEGRAÇÃO ANDROID & ARDUINO
Exemplo básico : Pisca Led.
--Conecte a placa Arduino UNO ao computador pelo cabo USB. Se for
necessário, instale o drive que está em “drivers” na pasta do Arduino.
--Menu Ferramentas: ----Placa = Arduino Uno
----Porta = porta virtual que foi criada --Menu Arquivo:
INTEGRAÇÃO ANDROID & ARDUINO
Exemplo básico : Pisca Led.
--Compile e carregue o programa no Arduino.
--Acompanhe a compilação e o carregamento
--Se não houver erros, no final
aparece a mensagem “Carregado” --O pino 13 está conectado a um LED na placa, que deverá piscar com um intervalo de 1 segundo.
2 1
INTEGRAÇÃO ANDROID & ARDUINO
Positivo
Negativo
Saída serial
Entrada serial
Antena
Quando alimentado ele será listado no celular
Módulo Bluetooth HC-5 ou HC-06
INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control
Bluetooth
Serial
011000001
‘a’
INTEGRAÇÃO ANDROID & ARDUINO
INTEGRAÇÃO ANDROID & ARDUINO
INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control
Comunicação serial:
Serial.begin(
taxa bps
);
var = Serial.available();
var = Serial.read();
Serial.write(“
mensagem
”);
Entrada/Saida
var = digitalRead(
pino
)
var = analogRead(
pino
);
digitalWrite(
pino, estado
); //liga(5 V) ou desliga (0 V)
analogWrite(
pino, valor
); //Pulso de 0 a 255
INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control
int
am = 13; //variável am esta "associada" ao pino 13
int
vd = 12; //vd pino 12
int
vm = 11; //vm pino 11
int
dadoRX; //variável para o dado recebido pela serial
void setup
()
{
Serial.begin
(9600); //com. serial a 9600 bauds por segundo
pinMode
(am,
OUTPUT
); //am é um pino de saída
pinMode
(vd,
OUTPUT
);
pinMode
(vm,
OUTPUT
);
INTEGRAÇÃO ANDROID & ARDUINO
void loop
()
{
if
(
Serial.available
())
//se estiver disponível um caractere na serial...
{
dadoRX =
Serial.read
(); //leia o caractere na serial em dadoRX
if
(dadoRX ==
'a'
) //se este caractere for ‘a’ então
digitalWrite
(am,
HIGH
); //escreva 5 volts (HIGT) na saída am
if
(dadoRX ==
'b'
)
digitalWrite
(vd,
HIGH
);
if
(dadoRX ==
'c'
)
digitalWrite
(vm,
HIGH
);
if
(dadoRX ==
'd'
) //se este caractere for ‘d’ então
{
digitalWrite
(am,
LOW
); //escreva 0 volts (LOW) na saída am
digitalWrite
(vd,
LOW
);
digitalWrite
(vm,
LOW
);
}
INTEGRAÇÃO ANDROID & ARDUINO
Módulo Toque - Criação da tela (Designer)
Os componentes estão em: “User Interface, Layout e Connectivity.” Marque acima da tela: “Display hidden components in Viewer”
Selecione “Screen1”
--AlignHorizontal = “Center” , Title = “LED Control” Arraste para a tela:
--
BluetoothClient1--Label [lblTitulo]:FontBold, FontSize=50, Text=LED Control, TextColor=Blue --VerticalArrangement [va1]: Width=Fill parent, AlignHorizontal= Center, Visible=hidden
Arraste DENTRO de va1:
--HorizontalArrangement [ha1]: Width=Fill parent, AlignHorizontal= Center --HorizontalArrangement [ha2]: Width=Fill parent, AlignHorizontal= Center --HorizontalArrangement [ha3]: Width=Fill parent, AlignHorizontal= Center Arraste APÓS va1:
INTEGRAÇÃO ANDROID & ARDUINO
Módulo Toque - Criação da tela (Designer)
Arraste DENTRO de ha1:
--Label [lblCor]: FontBold, FontSize=30, Text= . . . Arraste dentro de ha2:
--button [btnVM]: BackgroundColor=red, FontSize=15, Text= Vermelho, Width=105, Height=80
--button [btnVD]: BackgroundColor=green, FontSize=15, Text= Verde, Width=100, Height=80
--button [btnAM]: BackgroundColor=yelow, FontSize=15, Text= Amarelo, Width=105, Height=80
Arraste dentro de ha3:
--button [btnAM]: FontSize=15, Text= Apagar, Width=90, Height=80 Arraste dentro de ha4:
--ListPicker [lstConectar]: FontSize=15, Text= Conectar, Width=130, Height=50 --button [btnDesconectar]: FontSize=15, Text= Desconectar, Width=130,
INTEGRAÇÃO ANDROID & ARDUINO
ha1 va1 ha2 ha3 ha4 lblTitulo Componentes Não VisíveisINTEGRAÇÃO ANDROID & ARDUINO
INTEGRAÇÃO ANDROID & ARDUINO
Módulo Voz - Criação da tela (Designer)
Os componentes estão em: “User Interface e Media” Arraste após ha4:
--button [btnVoz]: FontSize=15, Text= Comandos de Voz, Visible= hidden Width=130, Height=60
--SpeechRecognizer[srComandosVoz]
btnVoz ha4