41
InteropMix 2014 Arduino e Internet das Coisas Leandro Ramos Leonardo Toledo Robson Machado 29/novembro/2014

Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

  • Upload
    hatu

  • View
    218

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

InteropMix 2014

Arduino e Internet das Coisas

Leandro Ramos

Leonardo Toledo

Robson Machado

29/novembro/2014

Page 2: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Arduino

• Arduino é uma plataforma

de hardware e software

open source

• http://arduino.cc/en/Main/

Products

2 http://www.eaduino.com.br

Page 3: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 4: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 5: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Arduino UNO

5 http://www.eaduino.com.br

Page 6: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Shields e Bricks

• Placas que ampliam e extendem as funcionalidades da

placa base.

• http://www.shieldlist.org/

6 http://www.eaduino.com.br

Page 7: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 8: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 9: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 10: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 11: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 12: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 13: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 14: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 15: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Ambiente de Desenvolvimento - ArduBlock

15 http://www.eaduino.com.br

Page 16: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Ambiente de Desenvolvimento - ArduBlock

16 http://www.eaduino.com.br

Page 17: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Ambiente de Desenvolvimento - ArduBlock

17 http://www.eaduino.com.br

Page 18: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 19: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 20: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 1 – LED

http://www.eaduino.com.br 20

• Pinos: 5V e GND

Page 21: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 22: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 23: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 24: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

Page 25: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 26: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 2 – LED

http://www.eaduino.com.br 26

• Pinos: 9 e GND

Page 27: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 2 – LED

http://www.eaduino.com.br 27

Page 28: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 29: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 3 – botão/chave

http://www.eaduino.com.br 29

• Pinos: 12, 5V e GND

Page 30: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 3 – botão/chave

http://www.eaduino.com.br 30

Page 31: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 32: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 4 – LDR

http://www.eaduino.com.br 32

• Pinos: 5V, GND e 0 (analógico)

Page 33: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 4 – LDR

http://www.eaduino.com.br 33

Page 34: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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

Page 35: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 5 – buzzer

http://www.eaduino.com.br 35

• Pinos: 12 e GND

Page 36: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“Aprender Fazendo”: Experimento 5 – buzzer

http://www.eaduino.com.br 36

Page 37: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

}

Page 38: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

“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!" );

}

}

Page 39: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

}

Page 40: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

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

}

Page 41: Arduino e Internet das Coisas - eaduino.com.br · Arduino •Linguagem de programação compatível com C/C++ •Ambiente de desenvolvimento integrado •Baixo custo comparado a outras

Obrigado a todos!

www.eaduino.com.br