Você está na página 1de 41

INTEGRAÇÃO ANDROID & ARDUINO

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

FACULDADE ANHANGUERA DE CAMPINAS


Unidade 2 – Via norte

ivair.teixeira@anhanguera.com
Coordenador dos cursos de:
Prof. Ivair Teixeira
CC – SI – TADS - Redes
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

86400 vídeos no YouTube


Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

A página do “serviço” é: ai2.appinventor.mit.edu


É necessário uma conta de e-mail do Google.

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO
Designer
ou Blocks

Escolher os Renomear
componentes componentes

Tela Propriedades
dos
componentes

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Designer
Components
--Selecione: Screen1
Properties
--AlignHorizontal=Center
--Title=Arduino1

Prof. Ivair Teixeira


INTEGRAÇÃ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
----Text= Apagar
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

Designer
Palette - Layout
Arraste para a tela:
--HorizontalArrangement 1
----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

Prof. Ivair Teixeira


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 “. . .”

Prof. Ivair Teixeira


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.
4. Faça o download do aplicativo para o celular/computador.

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Modo 1
15
Designer

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 

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Modo 2
2
Designer

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

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Modo 3
6
Designer 3
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

3 No menu Connect:
Selecione: USB, aguarde
até o emulador iniciar e
teste o aplicativo

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Modo 4
4
Designer
4 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

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

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


Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

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);
}
}
}

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Arduino UNO R3

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Arduino UNO R3

Microntrolador Atmel, pré programado com um bootloader, que


recebe o programa da IDE.
Modularizado, linguagem simples, muitos exemplos e baixo custo
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

-Versões da placa

MEGA
UNO

Pro Mini
DUE – 32 bits
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

-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 Arduino
-6 PWM
--10%
UNO R3
--50%
--90%
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

Ethernet
-Shields Relê
Touth
GSM

LCD
WiFi
Motor

7 seg USB
Proto
Host
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

-Bibliotecas
Nativas: Terceiros: Dedicadas:
--Digital I/O --EEPROM --NRF24L01
--Analog I/O --Ethernet --RTC DS1302
--Time --GSM --Ultrasonic HC-SR04
--Math --WiFi --RFRemote
--Random --LiquidCrystal --RFID MFRC522
--Interrupts --TFT
--Serial --SD
--Tone --Servo
--SPI
--Wire

Prof. Ivair Teixeira


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
}

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

Arquivos de exemplos

Arquivos  exemplos
--Exemplos da linguagem e das bibliotecas
--Entre eles o “Blink”

Prof. Ivair Teixeira


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:
----Exemplos  01.Basics  Blink

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

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 2
intervalo de 1 segundo.

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO
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
Prof. Ivair Teixeira
como um dispositivo bluetooth.
INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control

‘a’ 011000001

Bluetooth Serial

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO
Projeto prático : LED Control

Prof. Ivair Teixeira


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
Prof. Ivair Teixeira
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);
}
Prof. Ivair Teixeira
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);
}
} }
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO

Prof. Ivair Teixeira


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

Prof. Ivair Teixeira


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,
Height=50

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO

lblTitulo

ha1

ha2
va1

ha3

ha4

Componentes
Não Visíveis
Prof. Ivair Teixeira Designer Smartphone
INTEGRAÇÃO ANDROID & ARDUINO
Módulo Toque - Programação (Blocks)

Prof. Ivair Teixeira


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]

ha4

btnVoz

srComandosVoz
Prof. Ivair Teixeira
INTEGRAÇÃO ANDROID & ARDUINO
Módulo Voz - Programação (Blocks)

Prof. Ivair Teixeira


INTEGRAÇÃO ANDROID & ARDUINO
PrintScreen do Smartphone

Prof. Ivair Teixeira

Você também pode gostar