INTEGRAÇÃO ANDROID & ARDUINO
FACULDADE ANHANGUERA DE CAMPINAS Unidade 2 Via norte ivair.teixeira@anhanguera.com Coordenador dos cursos de: CC SI TADS - Redes
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
A página do serviço é: ai2.appinventor.mit.edu É necessário uma conta de e-mail do Google.
Designer ou Blocks Escolher os componentes Renomear componentes Tela Propriedades dos componentes
Designer Components --Selecione: Screen1 Properties --AlignHorizontal=Center --Title=Arduino1
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
Designer Palette - Layout Arraste para a tela: --HorizontalArrangement ----Renomear para: ha1 ----Width=Fill parent ----AlignHorizontal=Center 1 Arraste os dois botões para dentro do ha1 Após isso troque para a tela do editor de blocos 1
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...
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.
Modo 1 Designer 1 5 1 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
Modo 2 Designer 2 Inicie o emulador pelo ícone aistarter que foi criado quando você instalou o pacote do emulador 2 No menu Connect: Selecione: Emulator, aguarde até o emulador iniciar e teste o aplicativo
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 6 3 3 No menu Connect: Selecione: USB, aguarde até o emulador iniciar e teste o aplicativo
Modo 4 Designer 4 No menu Build: Selecione: App (provide QR code for.apk) e faça o download com um leitor de QR code. 4 Ou Selecione: App (save.apk to my computer) e Instale o aplicativo pelo cabo USB
O que é 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
O que é 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); } } }
Arduino UNO R3
Arduino UNO R3 Microntrolador Atmel, pré programado com um bootloader, que recebe o programa da IDE. Modularizado, linguagem simples, muitos exemplos e baixo custo
-Versões da placa UNO MEGA Pro Mini DUE 32 bits
-Hardware -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
-Shields Touth Ethernet Relê GSM LCD Motor WiFi 7 seg Proto USB Host
-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
--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 }
Arquivos de exemplos Arquivos exemplos --Exemplos da linguagem e das bibliotecas --Entre eles o Blink
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
Exemplo básico : Pisca Led. --Compile e carregue o programa no Arduino. 1 --Acompanhe a compilação e o carregamento 2 --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
Projeto prático : LED Control Módulo Bluetooth HC-5 ou HC-06 Antena Positivo Negativo Saída serial Entrada serial Quando alimentado ele será listado no celular como um dispositivo bluetooth.
Projeto prático : LED Control a Bluetooth 011000001 Serial
Projeto prático : LED Control
Projeto prático : LED Control
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
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
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: --HorizontalArrangement [ha4]: Width=Fill parent, AlignHorizontal= Center
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
lbltitulo ha1 va1 ha2 ha3 ha4 Componentes Não Visíveis Designer Smartphone
Módulo Toque - Programação (Blocks)
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] ha4 btnvoz srcomandosvoz
Módulo Voz - Programação (Blocks)
PrintScreen do Smartphone