InteropMix 2014 Arduino e Internet das Coisas Leandro Ramos Leonardo Toledo Robson Machado 29/novembro/2014
InteropMix 2014
Arduino e Internet das Coisas
Leandro Ramos
Leonardo Toledo
Robson Machado
29/novembro/2014
Arduino
• Arduino é uma plataforma
de hardware e software
open source
• http://arduino.cc/en/Main/
Products
2 http://www.eaduino.com.br
Arduino
• Linguagem de
programação
compatível com
C/C++
• Ambiente de
desenvolvimento
integrado
• Baixo custo
comparado a outras
plataformas de
desenvolvimento
3 http://www.eaduino.com.br
Microcontrolador
• Um microcontrolador é um
computador em uma única
pastilha.
• É programado para tarefas
específicas, diferentemente de
um microprocessador de
propósito geral.
4 http://www.eaduino.com.br
Arduino UNO
5 http://www.eaduino.com.br
Shields e Bricks
• Placas que ampliam e extendem as funcionalidades da
placa base.
• http://www.shieldlist.org/
6 http://www.eaduino.com.br
Internet das Coisas - INTERNET OF THINGS (IoT)
• Coisas
• objetos (incluindo pessoas) identificáveis em um ambiente de
Internet
• Cada objeto é único
• A IoT permite que aplicações e serviços obtenham dados
sobre o meio onde está o objeto e atuem sobre estes
objetos.
http://www.eaduino.com.br 7
Internet das Coisas - INTERNET OF THINGS (IoT)
• A IoT não é uma tecnologia
• Faz uso de muitas, como por exemplo
• Wi-Fi
• Bluetooth
• ZigBee
• RFID - Radio-Frequency IDentification
• RTLS - Real Time Location System
• NFC - Near Field Communication
• QRCode - Quick Response Code
http://www.eaduino.com.br 8
Internet das Coisas - INTERNET OF THINGS (IoT)
• Dispositivos acessíveis
• Smartphones
• tablets
• Com eles já são possíveis
• controlar a temperatura em sua casa,
• monitorar ambientes diversos e dispersos (câmeras IP),
• chamar um táxi que já sabe a sua localização, etc
http://www.eaduino.com.br 9
Internet das Coisas - INTERNET OF THINGS (IoT)
• e mais...com as tecnologias disponíveis, dispositivos que
• ao retirar a última caixa de leite do refrigerador, este emite uma ordem
de compra para o supermercado.
• alertar sobre a data de vencimento dos alimentos e os vencidos irem
diretamente para um incinerador
• passar por uma rua qualquer, informar ao usuário que ali há uma
farmácia com o medicamento com o menor preço desde a última
compra
• passar com o carro próximo da concessionária e este avisar que está
na hora de trocar o óleo, revisar os freios, etc
http://www.eaduino.com.br 10
Internet das Coisas - INTERNET OF THINGS (IoT)
• Desafios
• computadores que sabiam tudo o que há para saber sobre as
coisas, através de coleta de dados (sem ajuda das pessoas), ou
seja, sensores que interagem com o mundo real (capacitar os
computadores para que eles possam ver, ouvir e sentir o cheiro)
• redes para suportar o crescente número de dispositivos
• segurança e privacidade
http://www.eaduino.com.br 11
Internet das Coisas - INTERNET OF THINGS (IoT)
• Oportunidades
• Desenvolvimento de produtos e serviços
• Saúde
• Energia
• Mobilidade urbana
http://www.eaduino.com.br 12
Ambiente de Desenvolvimento
• Contém recursos mínimos
necessários para escrever
programas (sketches) e
transferí-los para a placa
Arduino.
• http://arduino.cc/en/Main/
Software
13 http://www.eaduino.com.br
Ambiente de Desenvolvimento
• ArduBlock
• é uma solução gráfica, sem necessidade de escrever
códigos para controlar o Arduino.
• é uma extensão ao software Arduino
• necessário instalação – não faz parte do software padrão
• http://blog.ardublock.com/
14 http://www.eaduino.com.br
Ambiente de Desenvolvimento - ArduBlock
15 http://www.eaduino.com.br
Ambiente de Desenvolvimento - ArduBlock
16 http://www.eaduino.com.br
Ambiente de Desenvolvimento - ArduBlock
17 http://www.eaduino.com.br
“Aprender Fazendo”: protoboard e jumpers
• protoboard - placa que
facilita a montagem dos
circuitos eletrônicos sem a
necessidade de solda.
• jumpers (pedaços de fios) -
usados para interligar os
componentes.
http://www.eaduino.com.br 18
“Aprender Fazendo”: Experimento 1 – LED
• Separar peças (componentes)
• 1 placa Arduino e cabo USB
• 1 protoboard
• 2 fios jumpers
• 1 resistor de 220 ohms (vermelho, vermelho, marrom)
ou 330 ohms (laranja, laranja, marrom)
• 1 LED (qualquer cor)
http://www.eaduino.com.br 19
“Aprender Fazendo”: Experimento 1 – LED
http://www.eaduino.com.br 20
• Pinos: 5V e GND
Conceitos
• Corrente
• Para que um dispositivo
elétrico/eletrônico funcione, é
necessário que uma energia
denominada corrente elétrica, flua
(circule) pelos componentes de um
dispositivo.
• A corrente elétrica é composta por
um fluxo de cargas que circulam
entre os polos de um gerador (por
exemplo: pilha).
• A unidade de medida é o ampère
(A).
http://www.eaduino.com.br 21
Conceitos
• Tensão
• A força que “empurra” as cargas
pelo circuito é conhecida como
tensão. Esta força aparece pela
diferença de cargas positivas e
negativas que há nos polos do
gerador.
• A unidade de medida é o volt (V).
http://www.eaduino.com.br 22
Conceitos
• Corrente Contínua
• Tomando como exemplo uma pilha,
notamos que este gerador possui
polos fixos (positivo e negativo).
Sendo assim o fluxo de cargas não
muda de direção.
• Este tipo de corrente é conhecido
como corrente contínua (DC –
direct current), pois a corrente
circula pelo nosso circuito num só
sentido.
http://www.eaduino.com.br 23
Conceitos
• Circuito Elétrico
• O caminho fechado percorrido pela
corrente elétrica é conhecido como
circuito elétrico.
• Um circuito possui pelo menos uma
fonte de energia, fios condutores e
um ou mais componentes.
• Os esquemas elétricos/eletrônicos
são representações gráficas dos
circuitos elétricos.
http://www.eaduino.com.br 24
“Aprender Fazendo”: Experimento 2 – LED
• Separar peças (componentes)
• 1 placa Arduino e cabo USB
• 1 protoboard
• 2 fios jumpers
• 1 resistor de 220 ohms (vermelho, vermelho, marrom)
ou 330 ohms (laranja, laranja, marrom)
• 1 LED (qualquer cor)
http://www.eaduino.com.br 25
“Aprender Fazendo”: Experimento 2 – LED
http://www.eaduino.com.br 26
• Pinos: 9 e GND
“Aprender Fazendo”: Experimento 2 – LED
http://www.eaduino.com.br 27
“Aprender Fazendo”: Experimento 3 – botão/chave
• Separar peças (componentes)
• placa Arduino, cabo USB, protoboard
• diversos fios jumpers
• 1 resistor de 10K ohms (preto, marrom, laranja)
• 1 chave táctil
http://www.eaduino.com.br 28
“Aprender Fazendo”: Experimento 3 – botão/chave
http://www.eaduino.com.br 29
• Pinos: 12, 5V e GND
“Aprender Fazendo”: Experimento 3 – botão/chave
http://www.eaduino.com.br 30
“Aprender Fazendo”: Experimento 4 – LDR
• Separar peças (componentes)
• placa Arduino, cabo USB, protoboard
• diversos fios jumpers
• 1 resistor de 10K ohms (preto, marrom, laranja)
• 1 LDR (sensor de luminosidade)
http://www.eaduino.com.br 31
“Aprender Fazendo”: Experimento 4 – LDR
http://www.eaduino.com.br 32
• Pinos: 5V, GND e 0 (analógico)
“Aprender Fazendo”: Experimento 4 – LDR
http://www.eaduino.com.br 33
“Aprender Fazendo”: Experimento 5 – buzzer
• Separar peças (componentes)
• placa Arduino, cabo USB, protoboard
• diversos fios jumpers
• 1 buzzer
http://www.eaduino.com.br 34
“Aprender Fazendo”: Experimento 5 – buzzer
http://www.eaduino.com.br 35
• Pinos: 12 e GND
“Aprender Fazendo”: Experimento 5 – buzzer
http://www.eaduino.com.br 36
“Aprender Fazendo”: sketches Arduino
http://www.eaduino.com.br 37
• Estes são os códigos equivalentes na linguagem Arduino:
// experimento 2
void setup()
{
pinMode( 9 , OUTPUT);
}
void loop()
{
digitalWrite( 9, HIGH );
delay( 300 );
digitalWrite( 9, LOW );
delay( 300 );
}
“Aprender Fazendo”: sketches Arduino
http://www.eaduino.com.br 38
• Estes são os códigos equivalentes na linguagem Arduino:
// experimento 3
void setup()
{
pinMode( 12 , INPUT);
Serial.begin(9600);
}
void loop()
{
if (digitalRead( 12))
{
Serial.println( "aguardando..." );
}
else
{
Serial.println( "pressionado!" );
}
}
“Aprender Fazendo”: sketches Arduino
http://www.eaduino.com.br 39
• Estes são os códigos equivalentes na linguagem Arduino:
// experimento 4
void setup()
{
Serial.begin( 9600 );
}
void loop()
{
int valor = analogRead( 0 );
Serial.println( valor );
}
“Aprender Fazendo”: sketches Arduino
http://www.eaduino.com.br 40
• Estes são os códigos equivalentes na linguagem Arduino:
// experimento 5
void setup()
{
pinMode( 12 , OUTPUT);
}
void loop()
{
digitalWrite( 12, HIGH );
delay( 100 );
digitalWrite( 12, LOW );
delay( 100 );
}
Obrigado a todos!
www.eaduino.com.br