Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
[email protected] Coordenador dos cursos de:
CC – SI – TADS - Redes
FACULDADE ANHANGUERA DE CAMPINAS Unidade 2 – Via norte
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
“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
86400 vídeos no YouTube
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
A página do “serviço” é: ai2.appinventor.mit.edu É necessário uma conta de e-mail do Google.
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Escolher os componentes
Renomear componentes
Tela Propriedades dos
componentes
Designer ou Blocks
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Designer Components --Selecione: Screen1 Properties --AlignHorizontal=Center --Title=Arduino1
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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 ----Text= Apagar
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
1
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
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.
4. Faça o download do aplicativo para o celular/computador.
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
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
2
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
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
4
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
“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
O que é Arduino
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
+ +
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); } } }
O que é Arduino
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Arduino UNO R3
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Arduino UNO R3
Microntrolador Atmel, pré programado com um bootloader, que recebe o programa da IDE. Modularizado, linguagem simples, muitos exemplos e baixo custo
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
-Versões da placa
UNO MEGA
Pro Mini
DUE – 32 bits
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
-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% --50% --90%
Arduino UNO R3
-Hardware
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
-Shields Ethernet
GSM
WiFi
USB Host
Proto
Motor
7 seg
LCD
Relê
Touth
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
-Bibliotecas Nativas: --Digital I/O --Analog I/O --Time --Math --Random --Interrupts --Serial --Tone
Terceiros: --EEPROM --Ethernet --GSM --WiFi --LiquidCrystal --TFT --SD --Servo --SPI --Wire
Dedicadas: --NRF24L01 --RTC DS1302 --Ultrasonic HC-SR04 --RFRemote --RFID MFRC522
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
--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
Prof. Ivair Teixeira
Arquivos de exemplos Arquivos exemplos --Exemplos da linguagem e das bibliotecas --Entre eles o “Blink”
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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: ----Exemplos 01.Basics Blink
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
2
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Positivo Negativo
Saída serial Entrada serial
Antena
Quando alimentado ele será listado no celular como um dispositivo bluetooth.
Módulo Bluetooth HC-5 ou HC-06
Projeto prático : LED Control
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Projeto prático : LED Control
Bluetooth Serial
011000001 ‘a’
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Projeto prático : LED Control
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Projeto prático : LED Control
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
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
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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: --HorizontalArrangement [ha4]: Width=Fill parent, AlignHorizontal= Center
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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, Height=50
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
ha1
va1 ha2
ha3
ha4
lblTitulo
Componentes Não Visíveis
Designer Smartphone
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Módulo Toque - Programação (Blocks)
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
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
srComandosVoz
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
Módulo Voz - Programação (Blocks)
INTEGRAÇÃO ANDROID & ARDUINO
Prof. Ivair Teixeira
PrintScreen do Smartphone