Você está na página 1de 52

KIT PARLAND

KS10

Guia de Projetos
AVA N Ç A D O E M E L E T R Ô N I C A

www.usinainfo.com.br
2

índice

1) Prefácio..............................................................................3
2) Arduino ..............................................................................4
3) Kit Avançado Parland KS10 ................................................5
4) Componentes em Detalhes .................................................6
5) Projeto 1 – Teclado Matricial 4x4 ...................................... 10
6) Projeto 2 – Módulo RTC DS1302 ....................................... 17
7) Projeto 3 – Sensor DHT11 com Display LCD 16x2 ............. 22
8) Projeto 4 – Módulo Detector de Gás MQ-2......................... 27
9) Projeto 5 – Sensor de Estacionamento .............................. 32
10) Projeto 6 – Sensor de Luz com Módulo LDR .................. 39
11) Projeto 7 – Controle Infravermelho de Servo Motor e
Módulo Relé ..................................................................... 43
12) Informações Finais ....................................................... 49
13) Anotações .................................................................... 50
3

Prefácio

O Kit Arduino Avançado Parland KS10 foi desenvolvido


especialmente para quem já possui experiência com a plataforma
Arduino, de modo a realizar experimentos de média complexibilidade
englobando mais componentes do KIT.

Considerado um conjunto completo e de baixo custo, possui todos


os componentes necessários para dar continuidade no conhecimento
e até para dar os primeiros passos tanto no quesito programação
quanto instalação junto à plataforma microcontroladora.

Desenvolvido de forma didática e ilustrativa, o guia que


acompanha apresenta os detalhes de cada item, de maneira a
proporcionar maior conhecimento e domínio ao usuário, além de
ensinar o passo-a-passo de como executar os projetos propostos.

Inicialmente trabalharemos com as considerações básicas sobre


Arduino, demonstrando um pouco sobre “o que é”, “para que serve” e
“quais suas conexões”, as quais serão demonstradas de forma
autoilustrativa no decorrer deste guia.

Na sequência, trabalharemos com as características de cada item


que faz parte do Kit Arduino Avançado Parland KS10, especificando
cada um deles, de forma a aumentar e contribuir para o
desenvolvimento da aprendizagem e do conhecimento do leitor.

Para iniciar o trabalho prático junto ao Arduino, vamos aprender a


desenvolver e reproduzir 7 projetos que abrangem todos os
componentes do KIT, onde será possível ao hobbista aprender a unir
diversos componentes ao Arduino.

Não é preciso se preocupar, todos os projetos estarão


especificados com imagens demonstrativas do processo de
montagem, além de códigos exemplo detalhados com explicações e
comentários.

OBS.: Os códigos disponibilizados do projeto 1 ao 6 estão


disponíveis junto ao nosso repositório do GitHub através do seguinte
Link: https://github.com/flaviobabos/Apostila-Kit-Arduino-Avancado-
Usina-Info. O projeto 7 está disponível em
https://github.com/matheusgebert/Apostila-Kit-Arduino-Avancado-
UsinaInfo.
4

Arduino

O Arduino Uno é a placa Arduino "padrão" atualmente no


mercado, e provavelmente a melhor escolha para iniciantes que estão
começando a trabalhar com a plataforma controladora. Conta com
uma gama ainda maior de compatibilidade com acessórios e
programas quando comparada com os demais modelos da linha
Arduino. Além disso, o microcontrolador ATmega328 pode ser
removido do seu soquete e substituído, no caso de você danificá-lo de
alguma forma.

Ele é uma plataforma open-source de computação física, baseada


em uma linguagem de programação que possibilita o
desenvolvimento tanto de projetos de automação residencial quanto
robótico.

Com o Arduino é possível desenvolver objetos interativos e


ambientes autônomos, bastando conectá-lo a um computador para
que, utilizando a plataforma disponível para download grátis através
do link: http://arduino.cc/en/Main/Software, o usuário possa
controlar ações e interações do objeto ou ambiente a partir de um
dispositivo remoto.

Conhecido por ser uma placa microcontroladora de baixo custo, o


UNO permite fazer coisas realmente incríveis quando conectado a
diversos tipos de acessórios, como, por exemplo, sensores, luzes,
motores, entre outros. Com ele é possível construir projetos de
exibição interativa, como robôs e, em seguida, compartilhar seus
inventos com o mundo.
5

Componentes em Detalhes

Os acessórios que acompanham o KIT para Arduino Avançado Parland


KS10 são os seguintes:

1. 1 Caixa Organizadora; 12. 20 Fios Macho-Fêmea;


2. 1 Sensor Ultrassônico; 13. 1 Barra de pinos macho;
3. 1 Módulo Buzzer Ativo; 14. 1 Display LCD 16x4 Fundo
4. 1 Protoboard de 400 pontos; Verde;
5. 1 Teclado Matricial 4x4; 15. 1 Módulo Relé;
6. 1 Sensor de Temperatura 16. 1 Módulo LDR;
DHT11; 17. 1 Módulo Relógio RTC;
7. 1 Detector de Gás MQ-2; 18. 1 Bateria CR2032 3V de
8. 20 Jumpers Macho-Macho; Lítio.
9. 1 Controle IR e receptor;
10. 1 Servo Motor SG90;
11. 1 LED RGB KY-016;
6

Componentes em Detalhes

Caixa Organizadora

Você que trabalha com produtos pequenos ou


componentes minúsculos precisa ter uma
bancada organizada, com um lugar determinado
para cada utensílio, peça, ferramenta. A melhor
maneira de manter seu local de trabalho
organizado e funcional é armazenando os
produtos, ferramentas e componentes em caixas
organizadoras como esta.

Módulo RTC - DS1302

O Módulo Relógio Tempo Real RTC - DS1302 é


capaz de fornecer as informações de horas,
minutos, segundos, dia da semana, data, mês e
ano. Ajusta automaticamente os dados
referentes aos meses com menos de 31 dias e
também anos bissextos.

Protoboard

Também conhecida como placa de ensaio ou


matriz de contato, é uma placa com furos e
conexões condutoras para montagem de circuitos
elétricos experimentais. A grande vantagem da
placa de ensaio na montagem de circuitos
eletrônicos é a facilidade de inserção de
componentes, uma vez que não necessita
soldagem nos contatos. As placas de protoboard
variam de 170 furos até 6000 furos, tendo
conexões verticais e horizontais, acompanhando
o kit, uma de 400 pontos.
7

Componentes em Detalhes

Módulo RGB KY-016

O Módulo Led RGB KY-016 é uma placa que tem


como finalidade, facilitar a implementação de
pequenos projetos com LED RGB. O LED RGB
tem a capacidade de exibir uma grande
quantidade de cores que são originadas a partir
de três cores primárias – vermelho, verde e azul.

Teclado Matricial Membrana 4x4 para Arduino -


16 teclas

O Teclado Matricial Arduino 16 dígitos foi


desenvolvido para aplicação em conjunto com os
sistemas microcontroladores Arduino, AVR, PIC,
ARM, complementando as funções das placas
microcontroladoras. Ideal para conjuntos
eletrônicos que necessitam codificações ou para
colocação de senhas nos sistemas. Ele conta
ainda com números de 0 a 9 e letras de "A" a
"D", além de possuir as teclas asterisco(*) e
cerquilha(#).

Sensor Ultrassônico HC-SR04

O Sensor Ultrassônico HC-SR04 é um sensor que


pode medir distâncias. Ele emite um ultrassom a
40.000 Hz (40kHz) que viaja pelo ar e, se houver
um objeto ou obstáculo em seu caminho, ele
retorna ao módulo. Considerando o tempo de
viagem e a velocidade do som, é possível
calcular a distância.
8

Componentes em Detalhes

Sensor DHT11

O DHT11 é um sensor digital básico de


temperatura e umidade de baixo custo. Ele usa
um sensor de umidade capacitivo e um termistor
para medir o ar circundante e emite um sinal
digital no pino de dados (não são necessários
pinos de entrada analógica). É bastante simples
de usar, mas necessita de um cálculo preciso
para obter os dados.

Módulo Buzzer Ativo

O buzzer ativo possui uma fonte oscilante


interna, e soará assim que for energizado. Esse
tipo de componente é amplamente utilizado em
computadores, impressoras, copiadoras,
alarmes, brinquedos eletrônicos, eletrônicos
automotivos, telefones, temporizadores e outros
produtos eletrônicos para dispositivos de som.

Controle Remoto IR e Receptor KY-022

Um controle remoto IR (o transmissor) envia


pulsos de luz infravermelha que representam
códigos binários específicos. Esses códigos
binários correspondem a comandos, como ligar /
desligar e aumentar o volume. Já o módulo
receptor KY-022 consiste em um receptor IR
1838, um resistor de 1kΩ e um LED. Ele funciona
junto com o módulo transmissor IR KY-005.
Compatível com plataformas eletrônicas
populares como Arduino, Raspberry Pi e ESP8266
9

Componentes em Detalhes

Display LCD 16x2 com fundo verde

O display LCD 16x2 é comumente usado em


vários dispositivos e circuitos. Um LCD 16x2
significa que pode exibir 16 caracteres por linha
e existem 2 dessas linhas. Neste LCD, cada
caractere é exibido em uma matriz de 5x7 pixels.

Servo Motor 9g

O servo motor é um pequeno dispositivo que


possui um eixo de saída. Este eixo pode ser
posicionado em posições angulares específicas,
enviando ao servo um sinal codificado. Enquanto
o sinal codificado existir na linha de entrada, o
servo manterá a posição angular do eixo. Se o
sinal codificado muda, a posição angular do eixo
também muda.

Módulo Relé

Relés são interruptores elétricos que usam


eletromagnetismo para converter pequenos
estímulos elétricos em correntes maiores. Essas
conversões ocorrem quando entradas elétricas
ativam eletroímãs para formar ou interromper
circuitos existentes.

Módulo Sensor LDR

O Módulo LDR é usado para detectar a presença


de luz e medir a intensidade da luz. A saída do
módulo é alta na presença de luz e baixa na
ausência de luz. A sensibilidade da detecção do
sinal pode ser ajustada usando o
potenciômetro.
10

Projeto 1 – Teclado Matricial


Membrana 4x4

Como primeiro projeto, iremos aprender a utilizar a membrana


matricial juntamente com o Arduino. Além disso você irá aprender
algumas formas diferentes de programar esse componente.

Os teclados de matriz são o tipo de teclado que você vê em


telefones celulares, calculadoras, fornos de micro-ondas, fechaduras
de portas, etc.

Para os eletrônicos DIY, eles são uma ótima maneira de permitir


que os usuários interajam com seu projeto e são frequentemente
necessários para navegar em menus, digitar senhas e controlar
robôs.

Os teclados de membrana são feitos de um material de membrana


fina e flexível. São diversos modelos em variados tamanhos: 4 × 3, 4
× 4, 4 × 1, etc, mas, independentemente do seu tamanho, todos eles
funcionam da mesma maneira.

No caso do Kit Parland KS10, temos em mãos o seguinte Teclado


Matricial 4 x 4:
11

Projeto 1 – Teclado Matricial


Membrana 4x4

A imagem anterior à esquerda representa o componente que


iremos utilizar para este projeto enquanto que, a ilustração à anterior
direita, representa todas as chaves do componente (total de 16).

Observe que abaixo de cada chave há um interruptor especial de


membrana onde todos esses interruptores são conectados uns aos
outros com traços condutivos abaixo das teclas do componente
formando uma matriz 4 × 4.

Montagem do projeto

O princípio de funcionamento desse componente é bastante


simples. Ao pressionar um botão uma das linhas é acionada assim
como uma coluna e isso permite que a corrente flua entre elas.

Por exemplo, veja a imagem abaixo que quando a tecla '4' é


pressionada, a coluna 1 e a linha 2 são acionadas:

Um microcontrolador pode escanear essas linhas para um estado


de botão pressionado. Para fazer isso, o seguinte procedimento é
executado:

 O microcontrolador define todas as linhas de coluna e linhas


de entrada;
 Em seguida, ele escolhe uma linha e a define como HIGH;
 Depois disso, ele verifica as linhas da coluna uma de cada
vez;
12

Projeto 1 – Teclado Matricial


Membrana 4x4

 Se a conexão da coluna permanecer em LOW significa que o


botão na linha não foi pressionado;
 Já, se for HIGH, o microcontrolador saberá qual linha foi
definida como HIGH e qual coluna foi detectada como HIGH
também;
 Finalmente, ele sabe qual botão foi pressionado que
corresponde à linha e coluna detectadas.

Agora que sabemos tudo sobre o teclado de membrana, podemos


conectá-lo ao Arduino. As conexões são bastante diretas. Comece
conectando o pino 1 do teclado ao pino digital 9 no Arduino, o pino 2
ao digital 8, e assim por diante.

Os componentes necessários para este projeto são:

 1 x Teclado Matricial 4 x 4;
 1 x Arduino;
 Alguns fios/jumpers.

Observe:
13

Projeto 1 – Teclado Matricial


Membrana 4x4

Código utilizado

Para determinar qual tecla foi pressionada, precisamos verificar


continuamente as linhas e colunas. Felizmente, a
biblioteca Keypad.h foi escrita para resolver essa lógica e para que
possamos emitir comandos simples para saber qual tecla foi
pressionada.

Para instalar a biblioteca, navegue até Sketch> Incluir Biblioteca>


Gerenciar Bibliotecas ... Aguarde o Gerenciador de Bibliotecas baixar
o índice das bibliotecas e atualizar a lista de bibliotecas instaladas.

Filtre sua pesquisa digitando ' keypad ' e clique na seguinte


biblioteca ilustrada na imagem abaixo:
14

Projeto 1 – Teclado Matricial


Membrana 4x4

Após essa etapa, você já está apto a rodar o seguinte código no


seu Arduino:

#include <Keypad.h>

const byte linhas = 4; // 4 Linhas


const byte colunas = 4; // E 4 Colunas

char membrana[linhas][colunas] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

byte pinosLinha[linhas] = {9, 8, 7, 6}; // Pinos do Arduino que correspondem


às linhas
byte pinosColuna[colunas] = {5, 4, 3, 2}; // Pinos do Arduino que corresponde
m às colunas

// Criando um objeto para o seu teclado


Keypad keypad = Keypad( makeKeymap(membrana), pinosLinha, pinosColuna, linhas
, colunas );

void setup(){
Serial.begin(9600);
}

void loop(){
15

Projeto 1 – Teclado Matricial


Membrana 4x4

char botao = keypad.getKey(); // Lendo os botões

// Printa no serial monitor quando for pressionado


if (botao){
Serial.print("O botão ");
Serial.print(botao);
Serial.println(" foi pressionado");
}
}

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório da Membrana 4x4 no GitHub.

Além disso, existem algumas funções úteis que você pode usar
com o objeto Teclado.

Algumas delas estão listadas abaixo:

char waitForKey()

Essa função interrompe a execução do código até que alguém


pressione uma tecla. Aviso - bloqueia todos os outros códigos até
que uma tecla seja pressionada. Isso significa nenhum LED piscando,
nenhuma atualização da tela LCD, nada além de rotinas de
interrupção.

KeyState getState()

Essa outra função retorna o estado atual de qualquer uma das


chaves. Os quatro estados são IDLE, PRESSED, RELEASED e HOLD.

boolean keyStateChanged()

Já essa, permite que você saiba quando a chave mudou de um


estado para outro. Por exemplo, em vez de apenas testar uma tecla
válida, você pode testar quando uma tecla foi pressionada.
16

Projeto 1 – Teclado Matricial


Membrana 4x4

setHoldTime(unsigned int time) }

Define a quantidade de milissegundos que o usuário terá que


segurar um botão até que o estado HOLD seja acionado.

setDebounceTime(unsigned int time)

Define a quantidade de milissegundos que o teclado irá esperar


até aceitar um novo keypress / keyEvent.

addEventListener(keypadEvent)

Aciona um evento se o teclado for usado.

Já algumas outras ideias de projetos utilizando o teclado matricial


4x4 podem ser:

 Fazer um sistema de fechadura com o teclado matricial e


com Arduino;
 Construir um cofre que utilize um sistema parecido com o da
fechadura sem chave só que utilizando um sistema com a
membrana matricial, e;
 Criar uma máquina de vendas (vending machine) que utilize
o teclado para selecionar os produtos ou um sistema de
pagamento da máquina que utilize a membrana matricial.
17

Projeto 2 - Módulo RTC DS1302 com


Arduino

Neste outro projeto você irá aprender sobre o RTC modelo


DS1302 e como exibir na tela do Arduino datas e horas.

Sabe-se que o Arduino pode controlar o tempo com muita


precisão usando a função millis (), mas apenas a partir do momento
em que foi ligado.

Se a plaquinha for desligada ou uma reinicialização for feita, o


cronômetro do microcontrolador começa na marca 0.

Por causa disso, a placa passa a não ter muita utilidade no caso
de o tempo real ser necessário em projetos com Arduino. Sendo
assim, esse problema é resolvido com o módulo Real-Time Clock
(RTC).

Um módulo RTC mantém o controle real do tempo, utilizando um


mecanismo de relógio interno e uma bateria de longa duração.

A bateria é feita de íon de lítio de 3V e o módulo é composto por


um cristal de 32 kHz e um chip DS1302 em uma pequena placa com
cinco pinos.

O chip DS1302 é muito eficiente em termos de energia e pode


funcionar com bateria de lítio de 3 V por até 5 anos.

Veja abaixo uma ilustração do módulo RTC com bateria de lítio de


3V que veio no seu KIT:

Além disso, a tensão de alimentação desse módulo é de 5V e o


protocolo de comunicação utilizado é I2C, o que facilita bastante a
interface deste módulo com o microcontrolador.
18

Projeto 2 - Módulo RTC DS1302 com


Arduino

Montagem do projeto

Os componentes necessários para este projeto são:

 1 x Módulo RTC DS1302;


 1 x Arduino;
 1 x Protoboard (opcional);
 Alguns fios/jumpers.

Apenas dois pinos (CLK e DAT) são necessários para fazer a


interface com o Arduino, exceto VCC e GND.

Os pinos CLK e DAT são, na verdade, os pinos SCL e SDA


necessários para a comunicação I2C enquanto RST é o pino de
reinicialização (opcional).

O Arduino possui pinos A4 e A5, especialmente para comunicação


I2C, mas, com a ajuda do código deste tutorial, qualquer pino pode
ser usado para servir ao propósito. Isso é chamado de barramento
I2C de software.

No entanto, para trabalhar com o código que vem no próximo


tópico você deve conectar o pino DAT, CLK e RST do módulo RTC com
os pinos digitais 6, 7 e 8 no Arduino.

Veja só:
19

Projeto 2 - Módulo RTC DS1302 com


Arduino

Código utilizado

Para nosso objetivo, iremos usar a biblioteca do componente e


para baixa-la você deve ir em:

 Ferramentas -> Gerenciar bibliotecas e digitar “ Rtc by


Makuna ” na IDE do Arduino.

Após a instalação, os exemplos disponíveis junto com a biblioteca


podem ser usados para saber mais sobre as funções e métodos de
inicialização do módulo RTC.

Instale a respectiva biblioteca na sua IDE

Agora, estamos aptos em escrever o código para configurar a data


e hora atuais lidos no módulo RTC e escrever no monitor serial a cada
segundo.

Veja só:

#include <ThreeWire.h>
#include <RtcDS1302.h>

// Declara um conjunto de 3 fios que serão usados para inicializar o objeto R


20

Projeto 2 - Módulo RTC DS1302 com


Arduino
TC
ThreeWire myWire(6,7,8); // DAT, CLK, RST
RtcDS1302<ThreeWire> Rtc(myWire);

void setup () {
Serial.begin(57600);
Serial.print("Compilado: ");
Serial.print(__DATE__);
Serial.println(__TIME__);

Rtc.Begin();
RtcDateTime compilado = RtcDateTime(__DATE__, __TIME__);
PrintarData(compilado);
Serial.println();

if (!Rtc.IsDateTimeValid()) {
// Causas comuns: 1) primeira vez que você executou e o dispositivo a
inda não estava funcionando
// 2) a bateria do dispositivo está fraca ou mesmo ausente
Serial.println("RTC perdeu a confiança no DateTime!");

// SetDateTime zera a data e a hora do chip DS1302


Rtc.SetDateTime(compilado);
}

if (Rtc.GetIsWriteProtected()) {
Serial.println("RTC estava protegido contra gravação, permitindo a gr
avação agora");
Rtc.SetIsWriteProtected(false);
}

if (!Rtc.GetIsRunning()) {
Serial.println("O RTC não estava funcionando ativamente, começando ag
ora");
Rtc.SetIsRunning(true);
}

RtcDateTime now = Rtc.GetDateTime();


if (now < compilado) {
Serial.println("O RTC é mais antigo que o tempo de compilação! (Atual
izando DateTime)");
Rtc.SetDateTime(compilado);
}
else if (now > compilado)
Serial.println("RTC é mais recente que o tempo de compilação. (isso é
esperado)");
else
Serial.println("RTC é o mesmo que tempo de compilação! (não é esperad
o, mas está tudo bem)");
}

void loop () {
RtcDateTime now = Rtc.GetDateTime();
PrintarData(now);
21

Projeto 2 - Módulo RTC DS1302 com


Arduino

if (!now.IsValid()) {
// Causas comuns: 1) a bateria do dispositivo está fraca ou até mesmo
ausente e a linha
// de alimentação foi desconectada
Serial.println("RTC perdeu a confiança no DateTime!");
}
delay(1000);
}

#define contagem(a) (sizeof(a) / sizeof(a[0]))

void PrintarData(const RtcDateTime& dt) {


char stringData[20];
snprintf_P(stringData,
contagem(stringData),
PSTR("%02u/%02u/%04u %02u:%02u:%02u"),
dt.Month(), dt.Day(), dt.Year(),
dt.Hour(), dt.Minute(), dt.Second() );
Serial.print(stringData);
Serial.println();
}

Não se esqueça de mudar a velocidade de comunicação com o


Monitor Serial de 9600 para 57600, senão os valores de data e hora
não serão exibidos na tela do seu PC.

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório do Módulo RTC DS1302 no GitHub.

Algumas outras ideias de projetos utilizando o módulo RTC-


DS1302 são:

 Criar um relógio digital com uso de um Display LCD de


forma que fique em um local estratégico de sua casa para
ver as horas;
 Construir um alarme apenas com o uso de um buzzer para
que você possa acordar na hora certa de ir para o trabalho
ou para a faculdade/escola, e;
 Fazer algo mais complexo do que um alarme apenas com
um buzzer: inserir um teclado matricial para mudar as
horas, minutos e segundos e exibi-los em um display LCD
para você acordar e fazer suas atividades.
22

Projeto 3 – Sensor DHT11 com


Arduino e Display LCD 16X2

O DHT11 é um sensor de umidade e temperatura, que gera uma


saída digital calibrada. Ele pode ser conectado a qualquer
microcontrolador como Arduino, Raspberry Pi, etc., e obter resultados
instantâneos. É um sensor de umidade e temperatura de baixo custo
que oferece alta confiabilidade e estabilidade de longo prazo.

Neste projeto, construiremos um pequeno circuito para fazer a


interface do Arduino com o sensor de temperatura e umidade
DHT11. Uma das principais aplicações da conexão do sensor DTH11
com o Arduino é o monitoramento do clima.

O sensor de umidade e temperatura DHT11 consiste em 3


componentes principais. Um sensor de umidade do tipo resistivo, um
termistor NTC (coeficiente de temperatura negativo para medir a
temperatura) e um microcontrolador de 8 bits, que converte os sinais
analógicos de ambos os sensores e envia um único sinal digital.

Este sinal digital pode ser lido por qualquer microcontrolador ou


microprocessador para análise posterior.
23

Projeto 3 – Sensor DHT11 com


Arduino e Display LCD 16X2

Montagem do projeto

Os componentes necessários para este projeto são:

 1 x Sensor DHT11;
 1 x Display LCD 16x2;
 1 x Resistor de 10kΩ;
 1 x Arduino;
 1 x Protoboard;
 Alguns fios/jumpers.

Segue montagem esquemática para auxiliar na montagem do


circuito do projeto proposto:

Conecte os pinos do LCD: RS, E, D4, D5, D6, D7 respectivamente


nos pinos digitais do Arduino: 12, 11, 5, 4, 3, 2.

Já o pino de dados do sensor DHT11 você o conecta no pino digital


8 do Arduino.
24

Projeto 3 – Sensor DHT11 com


Arduino e Display LCD 16X2

Código utilizado

Depois de fazer as conexões, não precisamos fazer mais nada,


pois o programa cuidará de tudo. Embora haja uma biblioteca
especial para o módulo DHT11 chamada “DHT”, não a usamos neste
tutorial. Se você deseja usar esta biblioteca, você precisará baixá-la
separadamente e adicioná-la às bibliotecas existentes do Arduino.

O programa escrito é baseado nos diagramas de tempo de dados


fornecidos pelo datasheet do componente.

O algoritmo fará com que o Arduino leia automaticamente os


dados do sensor os exibindo como Umidade e Temperatura no
Display LCD.

#include <LiquidCrystal.h>

// Defina as portas utilizadas do LCD


// LiquidCrystal(RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte simbolo_graus[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int DHT11 = 8;
volatile unsigned long duracao=0;
unsigned char i[5];
unsigned int j[40];
unsigned char valor=0;
unsigned resposta=0;
int z=0;
int b=1;
void setup()
{

lcd.begin(16, 2);
lcd.print("Temp = ");
lcd.setCursor(0,1);
lcd.print("Umidade = ");
lcd.createChar(1, simbolo_graus);
25

Projeto 3 – Sensor DHT11 com


Arduino e Display LCD 16X2

lcd.setCursor(9,0);
lcd.write(1);
lcd.print("C");
lcd.setCursor(13,1);
lcd.print("%");
}

void loop()
{

delay(1000);
while(1)
{
delay(1000);
pinMode(DHT11,OUTPUT);
digitalWrite(DHT11,LOW);
delay(20);
digitalWrite(DHT11,HIGH);
pinMode(DHT11,INPUT_PULLUP);//por padrão, ficará HIGH devido ao pull intern
o
// delayMicroseconds(40);

duracao=pulseIn(DHT11, LOW);
if(duracao <= 84 && duracao >= 72)
{
while(1)
{
duracao=pulseIn(DHT11, HIGH);

if(duracao <= 26 && duracao >= 20){


valor=0;}

else if(duracao <= 74 && duracao >= 65){


valor=1;}

else if(z==40){
break;}

i[z/8]|=valor<<(7- (z%8));
j[z]=valor;
z++;
}
}
resposta=i[0]+i[1]+i[2]+i[3];

if(resposta==i[4] && resposta!=0)


{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}
26

Projeto 3 – Sensor DHT11 com


Arduino e Display LCD 16X2

z=0;
i[0]=i[1]=i[2]=i[3]=i[4]=0;
}
}

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório do Sensor DHT11 com LCD no GitHub.

Algumas outras ideias de projetos utilizando o módulo DHT11 são:

 Você pode construir uma estação meteorológica embarcando


o circuito em uma caixa ou recipiente e deixando apenas o
Display LCD para fora indicando a temperatura e umidade
coletadas;
 Construir um sistema de automação residencial que aciona
dispositivos de ventilação, aquecimento e ar com base na
umidade e temperatura relativa do ar;
 Criar um umidificador com acionamento automático.
27

Projeto 4 – Módulo Detector de Gás


MQ2

O MQ2 é um dos sensores de gás comumente usados na série de


sensores MQ. É um sensor de gás do tipo Metal Oxide Semiconductor
(MOS), também conhecido como um resistor químico, pois a detecção
é baseada na mudança de resistência do material de detecção
quando o gás entra em contato com o MQ2 onde usa-se uma rede
divisora de tensão simples que detectam concentrações diferentes de
gás.

O sensor de gás MQ2 funciona em 5V DC e ele pode detectar


concentrações de GLP, fumaça, álcool, propano, hidrogênio, metano e
monóxido de carbono em qualquer lugar de 200 a 10000ppm (partes
por milhão).

A tensão de saída analógica fornecida pelo sensor muda em


proporção à concentração de fumaça/gás. Quanto maior a
concentração de gás, maior é a tensão de saída; enquanto que,
menor concentração de gás resulta em baixa tensão de saída.

Para calibrar o sensor de gás, você pode segura-lo próximo à


fumaça / gás que deseja detectar e girar seu potenciômetro na parte
traseira do componente até que o LED vermelho comece a brilhar.

Gire o parafuso no sentido horário para aumentar a sensibilidade


ou no sentido anti-horário para diminuir a sensibilidade.

Observe:
28

Projeto 4 – Módulo Detector de Gás


MQ2

Montagem do Projeto

Os componentes necessários para este projeto são:

 1 x Módulo detector de gás MQ2;


 1 x Arduino;
 1 x Protoboard;
 Alguns fios/jumpers.

Agora que temos um entendimento completo de como o sensor de


gás MQ2 funciona, podemos conectá-lo no nosso Arduino!

Essa tarefa é muito simples de se fazer. Comece inserindo os


pinos do sensor na sua protoboard. Conecte o pino VCC ao pino 5V no
Arduino e conecte o pino GND ao pino terra no Arduino.

Conecte o pino de saída D0 do módulo no pino digital 8 e o pino


de saída A0 no módulo ao pino analógico 0.

Quando terminar, você terá algo semelhante a seguinte


ilustração:
29

Projeto 4 – Módulo Detector de Gás


MQ2

Agora que conectamos nosso sensor de gás, é hora de escrever o


código para testar o componente e que está logo abaixo.
30

Projeto 4 – Módulo Detector de Gás


MQ2

Código utilizado

O código desempenha o papel de continuamente ler a tensão


analógica no pino A0. Ele também imprime uma mensagem no
monitor serial quando a fumaça é detectada.

Olhe só:

#define MQ2pin (0)

float valorSensor; // Variável que armazena o valor do sensor

void setup()
{
Serial.begin(9600); // Determina a porta serial em 9600 bps
Serial.println("Iniciando sensor de Gas MQ2!");
delay(20000); // Permite a inicialização do Detector
}

void loop()
{
valorSensor = analogRead(MQ2pin); // Lendo a entrada analógico do pino 0

Serial.print("Valor do Sensor: ");


Serial.print(valorSensor);

if(valorSensor > 300)


{
Serial.print(" | Gás detectado!");
}

Serial.println("");
delay(2000); // Espera por 2 segundos para a próxima medição
}

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório do Detector MQ2 no GitHub.

Quando a concentração de gás é alta o suficiente, o sensor


geralmente produz um valor maior que 300.

Podemos monitorar esse valor usando a instrução if e quando o


valor do sensor ultrapassar 300, exibiremos a mensagem “Detecção
de fumaça!”.

Ao invés de apenas mostrar a mensagem no monitor serial,


podemos colocar em prática as seguintes ideias:
31

Projeto 4 – Módulo Detector de Gás


MQ2

 Criar um sistema de monitoramento da qualidade do ar


interno da sua residência ou de outro local como seu
ambiente de trabalho;
 Construir um circuito para detecção precoce de incêndio em
sua cozinha ou outro local que possa pegar fogo facilmente
e criar um sistema de chamadas de emergência para a
polícia ou para seu próprio telefone;
 Esquematizar uma ação para quando detectar o gás ligar ou
desligar um relé que está ligado a um atuador ou algo
similar a fim de eliminar a propagação do gás.
32

Projeto 5 – Sensor de Estacionamento

Neste projeto iremos utilizar 3 tipos de componentes e iremos


construir algo parecido com sensor de estacionamento utilizado em
carros.

Para isso, temos diversas maneiras diferentes para calcular


distâncias com o Arduino. Uma delas é através do sensor
infravermelho, que usa as propriedades da luz para calcular a
distância.

Já a segunda maneira e a que iremos aplicar neste projeto, é


utilizar o sensor ultrassônico, que usa as propriedades de propagação
do som, mais especificamente o ultrassom, para medir distâncias.

OBS: Esses tipos de ondas sonoras estão acima do espectro


audível para humanos.

A operação é muito simples. O sensor envia uma onda


ultrassônica através do trigger, ricocheteia no objeto e o receptor ou
echo detecta a onda. Sabendo quanto tempo esta onda levou para
viajar, podemos saber a distância.
33

Projeto 5 – Sensor de Estacionamento

Por fim, incorporamos ao projeto o sistema de alerta visual com o


uso de um Módulo RGB que irá nos permitir visualizar se estamos
longe, perto ou em uma zona de perigo de um obstáculo, cores
verde, azul e vermelho respectivamente:

E para complementar o projeto, iremos utilizar o módulo de


buzzer ativo para um alerta audível e que aumenta a frequência
conforme o objeto vai se aproximando do sensor.

O buzzer funciona a partir do efeito piezoelétrico reverso.


Conectando o componente em uma porta digital, basta apenas enviar
um sinal em nível lógico alto para fazer o componente apitar.

Ele possui 3 terminais, um é o positivo, o outro o negativo e por


fim o sinal.
34

Projeto 5 – Sensor de Estacionamento

Montagem do projeto

Esse é um circuito que precisa de um pouco mais de cautela na


montagem se comparado com os anteriores.

Sendo assim para construir esse circuito iremos precisar de:

 1 x Sensor Ultrassônico;
 1 x LED RGB KY-016;
 1 x Módulo buzzer ativo;
 1 x Arduino Uno;
 Alguns fios/jumpers.

No diagrama a seguir as conexões com os componentes pode ser


observada melhor onde, por um lado, todos os alertas acústicos e
visuais e, por outro lado, o sensor de ultrassom:
35

Projeto 5 – Sensor de Estacionamento

Se atente aos componentes e suas conexões:

 O respectivo pino da cor vermelha do LED RGB vai


conectado no pino 4 do Arduino, o azul no pino 3 e o verde
no pino 2;
 O sensor ultrassônico se conecta a dois pinos digitais do
Arduino: um para o trigger (pino 5) e outro para o echo
(pino 6), e;
 O buzzer do Arduino se conecta na saída PWM do pino 9.

Código utilizado

Após conhecer melhor sobre o funcionamento do sensor


ultrassônico e do restante dos componentes do projeto, é importante
denotar que agora você escreverá um programa que irá ler
constantemente as informações do sensor de proximidade e, de
acordo com a distância medida pelo sensor, a cor vermelha, azul ou
verde do LED RGB acenderá e o Buzzer apitará.

Para que isso aconteça você vai usar as condições seguintes:

1. se a distância estiver entre 30 cm e 20 cm, a cor verde irá


acender e o Buzzer irá apitar a uma frequência de 2000 Hz;

2. se a distância estiver entre 20 cm e 10 cm, a cor azul irá


acender e o Buzzer irá apitar a uma frequência de 2500 Hz;

3. se a distância estiver abaixo de 10 cm, a cor vermelha irá


acender e o Buzzer irá apitar a uma frequência de 3000 Hz;

Veja só:

// Pinos usados
#define LEDverde 2
#define LEDazul 3
#define LEDvermelho 4
#define TRIGGER 5
36

Projeto 5 – Sensor de Estacionamento

#define ECHO 6
#define BUZZER 9

// Constantes utilizadas
const float sound = 34300.0; // Velocidade do som em cm/s
const float limite1 = 30.0; // Limites de distância em cm
const float limite2 = 20.0;
const float limite3 = 10.0;

void setup() {

// Inicie o circuito de montagem


Serial.begin(9600);

// Modo de entrada / saída do pino


pinMode(LEDverde, OUTPUT);
pinMode(LEDazul, OUTPUT);
pinMode(LEDvermelho, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(TRIGGER, OUTPUT);
pinMode(BUZZER, OUTPUT);

// Função que desliga as LEDs


desligarLEDs();

void loop() {

// Prepare o sensor ultrassônico


inicializarTrigger();

// Obtenha a distância
float distancia = calcularDistancia ();

// Desligar os LEDs
desligarLEDs();

// Alerta se estiver dentro da zona de perigo


if (distancia < limite1)

{
// Dispara os alertas
alertas(distancia);
}

// Função de desligar os LEDs


void desligarLEDs()
{
digitalWrite(LEDverde, LOW);
digitalWrite(LEDazul, LOW);
digitalWrite(LEDvermelho, LOW);
37

Projeto 5 – Sensor de Estacionamento

// Verifique se algum alerta visual ou sonoro é necessário


void alertas (float distancia){

// Se a distância estiver entre o limite1 e o limite2


if (distancia < limite1 && distancia >= limite2){

// Ligue o LED Verde


digitalWrite(LEDverde, HIGH);
tone(BUZZER, 2000, 200);
}

// Se a distância estiver entre o limite2 e o limite3


else if (distancia < limite2 && distancia >= limite3){

// Ligue o LED azul


digitalWrite(LEDazul, HIGH);
tone(BUZZER, 2500, 200);
}

// Se a distância for menor que o limite3


else if (distancia < limite3){

// Ligue o LED vermelho


digitalWrite(LEDvermelho, HIGH);
tone(BUZZER, 3000, 200);
}
}

// Função usada para calcular a distância entre o som e o objeto


float calcularDistancia(){
unsigned long time = pulseIn(ECHO, HIGH);
float distancia = time* 0.000001 * sound / 2.0;
Serial.print(distancia);
Serial.print("cm");
Serial.println();
delay(500);
return distancia;
}

// Função usada para inicializar o Trigger


void inicializarTrigger(){
digitalWrite(TRIGGER, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER, LOW);
}
38

Projeto 5 – Sensor de Estacionamento

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório do Sensor de Estacionamento no GitHub.

Se você quiser aperfeiçoar o projeto aqui proposto você pode


incorporar mais LED’s e adicionar distâncias mais longas. Além disso,
mudar as frequências do seu Buzzer para números maiores ou
menores.

Se quiser ir além, pode colocar em prática as seguintes ideias:

 Criar uma régua digital com uso do Display LCD, RGB ou


mais LEDs e do sensor Ultrassônico;
 Integrar o sensor de luminosidade LDR, que veio no seu
KIT, juntamente ao sensor Ultrassônico para criar uma
espécie de automação residencial. O sistema irá, com o
auxílio dos relés (que também veio no seu KIT), detectar se
há presença de luz ou não e se há movimento no ambiente
e irá ligar ou apagar as lâmpadas da sua casa.
39

Projeto 6 – Sensor de Luz com LDR

Neste penúltimo projeto, iremos utilizar o módulo LDR e você irá


aprender a configurá-lo de modo a detectar mudanças na luz
facilmente.

Este componente é baseado em um resistor dependente de luz


(LDR), um amplificador operacional LM393 e em um potenciômetro
para ajuste de intensidade.

Normalmente, a resistência do LDR diminuirá quando a


intensidade da luz ambiente aumentar. Isso significa que o sinal de
saída deste módulo será alta na luz forte e baixa no escuro. A saída
analógica está identificada no componente como AO.

Veja uma ilustração deste módulo:

Outro fator importante, como já foi dito anteriormente, é a


utilidade do módulo em ajustar a sensibilidade à luz. Isso é possível
ajustando o valor do potenciômetro.

Observe:
40

Projeto 6 – Sensor de Luz com LDR

Montagem do projeto

O circuito que precisamos construir é bem descomplicado e você


não deve ter muitos problemas para configurá-lo.

Os componentes necessários são:

 1 x Módulo LED RGB KY-016;


 1 x Fotoresistor;
 1 x Arduino;
 Alguns jumpers/fios.

Com tudo em mãos, se atente à seguinte montagem:


41

Projeto 6 – Sensor de Luz com LDR

Quando estiver escuro, o resistor terá uma resistência muito alta


de até 10 MegaOhms. Quando estiver claro, terá apenas algumas
centenas de ohms de resistência.

Dessa forma, é possível você descobrir aproximadamente a


resistência olhando a ficha técnica do dispositivo. É provável que se
refira a “lux” a unidade de iluminância e forneça informações sobre a
resistência aproximada em um determinado valor de lux.

O LED RGB em nosso circuito representará a quantidade atual de


resistência no fotorresistor.

 Verde será quando estiver em baixa resistência (muita luz);


 Azul ficará quando houver resistência média no LDR
(sombreado);
 Finalmente, o vermelho acenderá quando estiver em alta
resistência (muito escuro).

Código utilizado

Quando as conexões estiverem prontas, podemos fazer o upload


do código para o Arduino:

// Defina todas as variáveis utilizadas e seus respectivos pinos


int LEDverde = 2;
int LEDamarelo = 3;
int LEDvermelho = 4;
int sensorLDR = A0;
int valorA0 = 0;

void setup() {

// Defina os LEDs como saídas


pinMode(LEDverde, OUTPUT);
pinMode(LEDamarelo,OUTPUT);
pinMode(LEDvermelho,OUTPUT);

// Inicialize o monitor serial a taxa de 9600 bps


Serial.begin(9600);
}

void loop(){

// Variável recebe o valor analógico lido do sensor


42

Projeto 6 – Sensor de Luz com LDR

valorA0 = analogRead(sensorLDR);

// Printa no monitor Serial


Serial.print("Valor lido: ");
Serial.println(valorA0);

if(valorA0 < 50){ // Se estiver escuro


digitalWrite(LEDvermelho, HIGH);
}
else if(valorA0 >= 50 && valorA0 <= 150){ // Nem tão escuro nem tão claro
digitalWrite(LEDamarelo, HIGH);
}
else{
digitalWrite(LEDverde, HIGH); // Muito claro
}

// Atraso de 2ms para a leitura ser processada


delay(200);

// Desliga-se todos os LEDs


digitalWrite(LEDverde, LOW);
digitalWrite(LEDamarelo, LOW);
digitalWrite(LEDvermelho, LOW);
}

Para baixar este código e colá-lo diretamente na sua IDE acesse o


repositório do LDR no GitHub.

Algumas implementações extras:

 Você pode usar o fotorresistor em um alarme sensível à luz de


forma que você saiba quando um ambiente mudar seu estado
natural de iluminação;
 Como alternativa, você pode usar a mesma configuração em
um despertador para te acordar à medida que for
amanhecendo o dia;
 Ademais, você pode usar um LDR para ativar luzes quando
começar a escurecer. Por exemplo, isso funcionaria bem se
você tiver luzes outdoor que iluminam alguma parte externa de
sua casa ou algo semelhante, mas só quer que elas estejam
acesas quando chegar a um certo nível de escuridão.
43

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

Para este projeto último iremos utilizar um sistema de


comunicação infravermelho e através deste, controlar a posição do
servo motor e o acionamento de um módulo relé.
O sinal infravermelho pode vir de qualquer controle que utilize
esta tecnologia, porém para este projeto iremos utilizar o controle
infravermelho encaminhado junto ao kit.

Desta maneira, o controle irá enviar o sinal para um receptor


infravermelho e o mesmo irá comunicar-se com o Arduino,
informando o botão que foi pressionado através do respectivo código
recebido.
O Micro Servo Motor SG90 integrado ao projeto é um motor que
possibilita um controle preciso através de ângulos, podendo variar a
sua posição de 0 a 180º por meio do teclado.
Devido ao seu tamanho reduzido e sua fácil adaptação, o Micro
Servo Motor SG90 é bastante utilizado para controlar a posição de
objetos, como pernas, braços ou mãos de robôs, movendo sensores
com alta precisão e mobilidade, como por exemplo, o Braço Robótico
em MDF.
44

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

A maior parte dos servos vem com o sequencial de cores marrom,


vermelho e amarelo, porém pode ser encontrado nas cores preto,
vermelho e branco no qual podemos classificar cada cor da seguinte
maneira:
- Marrom ou preto: GND;
- Vermelho: 5VCC;
- Amarelo ou branco: Sinal Digital (PWM).

Para incrementar ainda mais o nosso projeto e para finalizar,


adicionamos um módulo relé ao esquema de ligação, dispositivo
amplamente conhecido por quem trabalha com eletrônica e que
possui a capacidade de controlar o fluxo da rede elétrica.

Através do Módulo Relé podemos controlar o liga e o desliga de


equipamentos como lâmpadas, ventiladores e equipamentos
eletrônicos diversos. A sua aplicação é amplamente desenvolvida e
por isto, se adapta facilmente em diversos projetos.

Montagem do Projeto
A ligação deste projeto não é complicada, porém existe um fato
muito importante nele que diz respeito à alimentação do Módulo
Infravermelho, como podemos ver no esquema de ligação, ele está
sendo alimentado separado junto ao pino 3,3V.
45

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

Esta alimentação separada deve ser feita devido ao excessivo


consumo de corrente do servo, que acaba por vezes interferindo no
funcionamento da comunicação infravermelha.
Os componentes necessários para o projeto são:
 1 x Controle IR e Receptor;
 1 x Módulo Relé;
 1 x Servo Motor SG90;
 1 x Arduino;
 1 x Protoboard;
 Alguns fios/jumpers.

No esquema de ligação abaixo, podemos observar todas as


conexões do projeto, porém lembre-se de que caso opte pela
utilização de outros pinos, que não os apontados no esquema, estes
devem ser alterados também no código utilizado.
O pino de Sinal do Receptor IR deve ser conectado ao pino 4 do
Arduino, o pino de sinal do Módulo relé no pino 5 e por fim, o pino de
sinal do Servo Motor deve ser conectado ao pino 9 do Arduino UNO.
46

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

Código Utilizado
Para o nosso projeto, iremos utilizar duas bibliotecas, uma delas
que é a biblioteca Servo.h é disponibilizada já quando instalamos
nossa IDE Arduino no computador, porém a biblioteca IRremote.h
precisa ser instalada para podermos utilizar o controle e o receptor
IR.
Para instalar a biblioteca siga os seguintes passos, já esmiuçados
no início deste manual através dos seguintes passos (pág.3):
 Ferramentas -> Gerencial bibliotecas -> Digite “IRremote”
Instale o seguinte item elencado na imagem abaixo:

Após a instalação, todos os exemplos e funções desta mesma


estarão disponíveis e operantes sempre que chamados através da
função “#include”.
Estando com todos os itens mencionados acima de acordo com as
especificações, chegou a hora de carregarmos o nosso código e
colocarmos o nosso projeto para funcionar.
Veja só:
47

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

#include <IRremote.h>
#include <Servo.h>

Servo servo;

int pinoreceptor = 4;
int rele = 5;
int servomotor = 9;
int angulo = 0;

float comando;

IRrecv receptor(pinoreceptor);
decode_results resultado;

void setup() {
Serial.begin(9600);
receptor.enableIRIn();
pinMode(rele, OUTPUT);

servo.attach(servomotor);

void loop() {
if (receptor.decode(&resultado)) {

Serial.print("0x");
Serial.println(resultado.value, HEX);
comando = (resultado.value);

if (comando == 0xFF6897) { // Botão “ * ”


digitalWrite(rele, HIGH);
}

if (comando == 0xFFB04F) { // Botão “ # ”


digitalWrite(rele, LOW);
}

if (comando == 0xFF18E7) { // Botão Cima


servo.write(0);
}

if (comando == 0xFF4AB5) { // Botão Baixo


servo.write(180);
}

receptor.resume();
}
delay(10);
}
48

Projeto 7 – Controle Infravermelho de


Servo Motor e Módulo Relé

O código está previamente configurado para trabalhar com os


botões elencados no mesmo, porém vale ressaltar que estes podem
ser trocados sempre que necessário, de acordo com as necessidades
individuais.
Todo botão quando pressionado gera um código específico que
pode ser visualizado através do monitor serial, para alterar ou incluir
qualquer elemento ao código basta copiar este código e utilizá-lo
onde desejar.

if (comando == 0xFFB04F) { // Botão “ # ”


digitalWrite(rele, LOW);
}

No código acima, “0x” representa o início do código IR e “FFB04F”


é o código que retiramos do monitor serial.

Outros usos para o projeto:


O projeto pode ser alterado para comportar um sistema de senha
para acionamento do módulo relé através do controle infravermelho,
por exemplo, e até mesmo ser utilizado com os mais diversos
modelos de controle infravermelho disponíveis.
49

Informações Finais

Após realizar os 7 projetos desenvolvidos neste guia, nós o


convidamos a adaptar os códigos e aplicá-los em projetos robóticos
simplificados ou automação residencial, já que não há limites para os
projetistas e hobbistas que trabalham com programação da
plataforma microcontroladora Arduino.

Além disso, nós indicamos a você acessar o site de Automação e


IOT do nosso parceiro Flávio Babos para mais projetos definitivos e
artigos completos sobre eletrônica, Arduino, IoT e sistemas
embarcados.

Ademais, quando se sentir pronto, convidamos você a conhecer


nossa categoria de Robótica com componentes incríveis esperando
por você para dar vida a projetos com diversas funcionalidades e tirar
suas ideias do papel de vez levando seus conhecimentos ao próximo
nível.

Continue aprimorando cada vez mais seus projetos de forma


profissional e de qualidade com produtos exclusivos que você
encontra só no site da loja online da UsinaInfo
(http://www.usinainfo.com.br), que conta ainda com a maior
diversidade de sensores e módulos para Arduino disponíveis no
Brasil.

Agradecemos pela preferência e convidamos a conhecer o Blog da


UsinaInfo (https://www.usinainfo.com.br/blog/), que semanalmente
tem conteúdo esperando por você.
50

Anotações
51

Anotações
USINA INDÚSTRIA, COMÉRCIO E IMPORTAÇÃO
DE PRODUTOS DE INFORMÁTICA LTDA
CNPJ: 07.182.837/0001-48

R. Marechal Floriano, 2183


CEP: 98802-275
Santo Ângelo/RS
Tel.: (55) 3313-2778
E-mail: contato@usinainfo.com.br
www.usinainfo.com.br

www.usinainfo.com.br

Você também pode gostar