Curso Arduino PDF

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 97

Informação e

Comunicação

Internet
das Coisas:
Arduino

1
Ficha Técnica

MINISTÉRIO DA ECONOMIA Realização Projeto Gráfico e Diagramação


Instituto de Artes (IDA-UnB), Sanny Caroline Saraiva Sousa
Ministro Instituto de Psicologia (IP-UnB), Patrícia Fernandes Faria
Paulo Guedes Instituto de Letras (LET-UnB), Nathalia Delgado Gomes
Departamento de Engenharia
Secretário Especial de Elétrica (ENE – UnB), Departamento Ilustradores
Produtividade, Emprego e de Geografia (GEA – UnB), Ana Maria Silva Sena Pereira
Competitividade Faculdade de Ciência da Informação Andresa Oliveira Augstroze Aguiar
Carlos Alexandre da Costa (FCI-UnB). Amanda Morais Silva
Camilla Santos Dantas
Secretário de Políticas Públicas de Apoio Eugênia Versiani Souza Carvalho
Emprego Secretaria de Educação Profissional Gabriel Victor Alves Meireles
Fernando de Holanda Barbosa Filho e Tecnológica (SETEC-MEC) João Victor Silva Araújo

Sub-secretário de Capital Humano Gestão de Negócios e Tecnologia Equipe de audiovisual


Rodrigo Zerbone Loureiro da Informação João Paulo Biage (Jornalista)
Loureine Rapôso Oliveira Garcez Ig Uractan (Produtor Audiovisual e
UNIVERSIDADE DE BRASÍLIA Wellington Lima de Jesus Filho Animador)
Maurício Neves (Produtor
Reitora Coordenação da Unidade de Audiovisual)
Márcia Abrahão Moura Pedagogia Bruno Lara (Jornalista)
Wilsa Maria Ramos Raíssa Ferreira (Animadora)
Vice-reitor Danielle Xabregas Pamplona Rodrigo Gomes (Fotógrafo e
Enrique Huelva Nogueira Videografista)
Lívia Veleda Sousa e Melo
Decana de Pesquisa e Inovação Desenvolvimento de Ambiente
Maria Emília Machado Telles Walter Coordenação do Núcleo de Virtual de Aprendizagem
Produção de Materiais Osvaldo Corrêa
Decana de Extensão Janaina Angelina Teixeira José Wilson
Olgamir Amancia Patrícia Fernandes Faria
Autor
Coordenação do Projeto Qualifica Izaías Lopes Cabral Filho
Brasil
Thérèse Hofmann Gatti Rodrigues Design Instrucional
da Costa (Coordenadora Geral) Danielle Xabregas Pamplona
Wilsa Maria Ramos Nogueira
Valdir Adilson Steinke Janaina Angelina Teixeira
Rafael Timóteo de Sousa Jr Lívia Veleda Sousa e Melo
Nina Cláudia de Assunção Mello
Instituto Brasileiro de Informação Marina Vianna de Souza
em Ciência e Tecnologia – IBICT
Cecília Leite - Diretora
Tiago Emmanuel Nunes Braga

2
Internet das Coisas: Arduíno

Descrição

A plataforma Arduino foi criada em 2005 como uma grande alternativa para o ensino
e aprendizagem de microcontroladores. De fácil utilização, é considerada uma grande
revolução na popularização da programação e no universo da IOT (internet das coisas).
É interessante aprender a utilizar essa plataforma, pois o mercado de trabalho está
cada dia mais interessado em profissionais com capacidade de compreensão do
funcionamento de dispositivos automatizados e interligados entre si. Esse curso tem
como objetivo apresentar a plataforma Arduino, propiciando subsídios para que, ao final
do curso, o profissional possa embarcar em novas áreas de tecnologia sem medo. Com
a plataforma Arduino é possível criar projetos completos de automação e produtos de
fácil utilização e baixo custo. Isso dará ao cursista a possibilidade de pesquisa e criação de
novos dispositivos para estudo ou comercialização.

Público-alvo

Público em geral, pessoas interessadas em conhecer a plataforma Arduino, com pouco


ou nenhum conhecimento em programação de microcontroladores.

Resultados do Aprendizado

• Adquirir conhecimentos básicos sobre a plataforma Arduino.


• Conhecer os comandos básicos da linguagem de programação da plataforma Arduino.
• Compreender o funcionamento de sensores.
• Compreender os fundamentos de automação.

Internet das Coisas: Arduíno


3
Internet das Coisas: Arduíno

Competências
Conheça as competências mobilizadas no curso:

• Dominar as características estruturais e de uso da placa


ARDUINO, visando sua utilização no desenvolvimento de
projetos adequados aos interesses do programador;
• Produzir projetos utilizando a placa ARDUINO, para
adequar os resultados aos diferentes recursos de
programação, testes e análise da placa;
• Criar um programa, respeitando e seguindo instruções de
programação da placa ARDUINO.

TEMA
Apresentação da Placa Arduino – 16h
01

TEMA
Uso de sensores analógicos – 8h
02

TEMA
TEMA
03
Uso de sensores digitais – 8h
01
03

TEMA
04
02
Fundamentos de automação – 8h
TEMA
04

TEMA Carga Horária da Unidade | 40 horas


03

TEMA
04
Internet das Coisas: Arduíno
4
Internet das Coisas: Arduíno

Materiais Necessários

• Plataforma Arduino Uno Rev3;


• Placa protoboard 830 pontos;
• Fios jumpers do tipo macho-macho, pelo menos 10 unidades;
• 9 leds de cores ( 3 vermelhos, 3 verdes , 3 amarelos);
• 3 resistores de 390 ohms;
• Potenciômetro de 10k;
• Sensor de temperatura LM35;
• Sensor Módulo sensor Ultrassônico HC-SR04;
• Fios jumpers do tipo macho-macho, pelo menos 10 unidades;
• Ponte H modelo L298N;
• Motor DC com redução e roda;
• Bateria de 9 V com clip;
• Sensor de umidade de solo.

Internet das Coisas: Arduíno


5
Tema 01
Apresentação da placa
ARDUINO

6
Internet das Coisas: Arduíno

Objetivos do Tema Anotações


Apresentar a plataforma Arduino.
Instalar a IDE da plataforma Arduino.
Apresentar a linguagem de programação.
Entender e fazer o primeiro programa na plataforma Arduino.

Materiais Necessários
Você precisará dos seguintes materiais para estudar o Tema 1:

Plataforma Arduino Uno Rev3

Placa protoboard 830 pontos

Internet das Coisas: Arduíno - Tema 1


7
Internet das Coisas: Arduíno

Anotações

9 leds de cores ( 3 vermelhos ,


, 3 verdes , 3 amarelos)

3 resistores de 390 ohms

Internet das Coisas: Arduíno - Tema 1


8
Internet das Coisas: Arduíno

O que é o ARDUINO?
O Arduino é uma plataforma eletrônica de código aberto
baseada em hardware e software fáceis de usar. É destinado a
qualquer pessoa que faça projetos interativos.
Existem muitos tipos de placas Arduino. Todas tem o mesmo
funcionamento. Veja os diversos modelos existentes. Arduino Uno Rev 3

Arduino Uno Rev 3 Arduino Nano Arduino Micro Arduino Due

Fique Atento
Para esse curso usaremos a placa padrão Arduino Uno
Rev3 por ser a mais comum nos dias atuais. Mas todas as
informações aqui apresentadas servem para as demais placas.
Quando você compreender a utilização da placa modelo
Arduino Uno, a utilização das demais ficará bem simples.

Internet das Coisas: Arduíno - Tema 1


9
Internet das Coisas: Arduíno

Características da placa ARDUINO Anotações


É uma placa de prototipagem.
O que significa isso?
Significa que é uma placa pronta para desenvolvimento de
projetos. Já vem preparada para ser usada diretamente nos pro-
jetos e com todos os recursos de programação e testes direta-
mente. Não há necessidade de nenhum outro equipamento para
que os projetos funcionem.
A placa do Arduino foi projetada por designers italianos em
2005 e desde sua concepção foi projetada com o objetivo de ser
muito simples a utilização por qualquer pessoa com muito ou um
pouquíssimo conhecimento nas áreas de eletrônica e programa-
ção. Não há uma limitação de faixa de idade para a utilização da
placa Arduino. Crianças utilizam sem dificuldades e pessoas com
idade avançada também.
A placa Arduino tem 14 pinos digitais para serem utilizados.
Contudo recomenda-se utilizar apenas 12 desses pinos.
Tem ainda 6 pinos de entradas analógicas com conversor ana-
lógico/digital de 10 bits, o que garante uma excelente precisão na
utilização de sensores.

Pinos
Pinos Pinos digitais
Analógicos
Analógicos

Internet das Coisas: Arduíno - Tema 1


10
Internet das Coisas: Arduíno

Atualmente existe uma enorme indústria em torno da placa


Arduino. Uma grande quantidade de sensores e equipamentos
projetados para serem utilizados exclusivamente com esta placa.
Toda essa indústria facilita ainda mais a utilização da placa
Arduino, para os menos experientes essa é a maior facilidade.
Sensores, placas de controle, atuadores, periféricos e vários
outros equipamentos já vem preparados para serem usados dire-
tamente sem a necessidade de ajustes ou adaptações.

Sensor de distância Sensor de gás Sensor de presença Sensor de chamas Sensor de Temperatura

A placa Arduino vem preparada para funcionar ligada ao compu-


tador ou a uma fonte externa. Essa fonte deve ser entre 7,5 V a 30V.
No entanto, os componentes da placa funcionam com 5V. A
placa Arduino tem um regulador de tensão para reduzir a tensão
de entrada para 5V e o restante será transformado em calor.
O que significa isso?
Significa que é importante utilizar uma fonte mais próxima de
5V. Como é muito difícil fontes de 7,5V recomenda-se fortemente
a utilização de fontes de 9V.
Quando utilizamos a placa Arduino ligada ao computador,
esta será alimentada por 5V da porta USB.

Internet das Coisas: Arduíno - Tema 1


11
Internet das Coisas: Arduíno

Anotações
Porta
Porta
USB
USB

Conexão
Conexão para
para
fonte de energia
fonte de energia

Quando utilizamos a placa Arduino ligada ao computador,


esta será alimentada por 5V da porta USB.

Fique Atento
Nunca devemos ligar uma placa fonte de
alimentação caso a placa esteja ligada ao
computador.

Para assistir ao vídeo, acesse o


Apresentação da Placa Arduino link: https://player.vimeo.com/
video/304214154

Internet das Coisas: Arduíno - Tema 1


12
Internet das Coisas: Arduíno

Alimentação
Vamos considerar que a parte de “cima” da placa é a late-
ral na qual podem ser conectados os cabos USB para ligar ao
computador ou a fonte de energia. Na parte esquerda da placa
Arduino temos os pinos responsáveis pela sua alimentação. Logo
no começo desse slot temos os pinos IOREF e RESET que não
serão muito utilizados na maioria dos projetos. O estudo deles IOREF
IOREF
EE
deve ocorrer somente nos projetos específicos. RESET
RESET

Os principais pinos desse slot são:


a) Pino 3.3V
Esse pino é utilizado por sensores e dispositivos que precisam
dessa voltagem para funcionar. Existe uma grande quantidade de
sensores que necessitam ser alimentados por 3.3V e não por 5V e Pinos IOREF e RESET
a cada dia o número de dispositivos que utilizam 3.3V tem aumen-
tado. Portanto, esse pino é de extrema necessidade. Considera-se
esse pino como sendo o positivo (+) da alimentação de 3.3V.

3.3
3.3 VV

b) Pino 5V
Imediatamente abaixo do pino 3.3V temos o pino de alimen-
tação de 5V. Esse pino é bastante usado nos projetos, serve para
alimentar os dispositivos que usam 5V. Da mesma forma como o
pino anterior, considera-se esse pino como sendo o positivo (+)
da alimentação de 5V.

Internet das Coisas: Arduíno - Tema 1


13
Internet das Coisas: Arduíno

Anotações

55 VV

c) Pino GND
Na sequência temos dois pinos GND que equivalem ao nega-
tivo (-) da alimentação. São exatamente iguais. A placa Arduino
possui 3 pinos GND: dois pinos nesse slot de alimentação e um
outro próximo ao pino digital 13. Todos esses pinos são iguais e
utilizados em conjunto com os pinos 3.3V e 5V.

GND

GND

d) Pino Vin
(a sigla ”Vin” significa voltagem de entrada) é um pino bas-
tante interessante. Esse pino tem a função de ser o positivo (+) da
alimentação de entrada, se a placa for alimentada por uma fonte
de 9V, o pino Vin terá o positivo de 9V, se a placa for alimentada

Internet das Coisas: Arduíno - Tema 1


14
Internet das Coisas: Arduíno

por fonte de 12V, esse pino será o positivo de 12V. Esse pino tem Anotações
a mesma voltagem de entrada da placa. É um pino pouco utiliza-
do. Deve-se ser tomado muito cuidado com seu uso: se a placa
estiver ligado a um computador (5V) e for usado para alimentar,
por exemplo, um sensor de 5V, e a alimentação da placa for alte-
rada para ser alimentada por uma fonte de 9V, poderá ocorrer um
problema. Então esse pino deve ser usado com bastante cuidado.
Aconselha-se que não seja utilizado.

VIN
VIN

Para compreender melhor a Alimentação, assista ao vídeo.

Para assistir ao vídeo, acesse o


link: https://player.vimeo.com/
Slot de Alimentação video/304214084

Internet das Coisas: Arduíno - Tema 1


15
Internet das Coisas: Arduíno

Pinos Digitais Anotações


A sua direita, a placa Arduino tem 14 pinos digitais numerados de 0 a 13.

Pinos digitais

Os dois primeiros pinos (0 e 1) são pinos usados pela placa


para a comunicação com o computador. O pino 0, chamado de
RX, é o que faz o recebimento dos dados enviados pelo compu-
tador durante a programação. De forma semelhante, o pino 1,
chamado de TX, faz o envio de dados da placa Arduino para o
computador. Esses dois pinos têm leds ligados a eles que indicam
quando a placa Arduino está recebendo ou enviando dados.
Por essa característica de envio e recebimento de dados, os
pinos 0 e 1 devem ser evitados nos projetos. O uso deles pode
causar erros nos projetos que podem ser de difícil percepção. O uso
deles deve ocorrer somente se for indispensável em um projeto.

PINO
PINO 11
EEPINO
PINO 00

Internet das Coisas: Arduíno - Tema 1


16
Internet das Coisas: Arduíno

Já os pinos numerados de 2 a 13 são pinos digitais que serão Anotações


largamente usados em todos os projetos. Podem ser usados
tanto como entrada ou saída. Veremos no decorrer do curso a
utilização desses pinos como entrada ou saída.
Observe que em alguns pinos tem um símbolo de (~).
Especificamente os pinos ~3, ~5, ~6, ~9, ~10 e ~11. Esse símbo-
lo indica que esses pinos possuem outra função chamada PWM
(pulse width modulation) que significa modulação por largura
de pulso. Essa função é bastante utilizada em projetos que usam
motores ou lâmpadas. É uma função que gera uma série de pulsos
digitais que são usados para controle de velocidade ou brilho de
lâmpadas. Durante o curso, essa função será utilizada e explicada
detalhadamente.

PINO 2
A 13
Exemplo
de pino
com
função
PWM (~)

Para compreender melhor os Pinos Digitais, assista ao vídeo.

Internet das Coisas: Arduíno - Tema 1


17
Internet das Coisas: Arduíno

Para assistir ao vídeo, acesse o


link: https://player.vimeo.com/
Slot de Pinos Digitais video/304214073

Pinos Analógicos
O último slot de pinos é o das portas analógicas. Ele encon-
tra-se à esquerda da placa Arduino. São 6 pinos analógicos que
são indicados com os símbolos A0, A1, A2, A3, A4 e A5. Eles fun-
cionarão como entradas analógicas. Nos projetos eles receberão
sensores. A placa Arduino tem um conversor digital /analógico de
10 bits. Isso garante uma alta precisão para a leitura de sensores.
Durante o tema sobre sensores essa precisão será explorada em
detalhes.

Pinos
Analógicos

Internet das Coisas: Arduíno - Tema 1


18
Internet das Coisas: Arduíno

Os pinos A4 e A5 tem outra função, a saída de protocolo I2C; Anotações


o pino A4 recebe também o nome de SDA e o pino A5 recebe o
nome de SCL. Esse protocolo é muito usado para receber dados
de sensores e controlar outros dispositivos como um LCD. Essa
função também será bastante explorada no estudo de sensores.

PINO A4
E PINO A5

Para compreender melhor os Pinos Digitais, assista ao vídeo.

Para assistir ao vídeo, acesse o


link: https://player.vimeo.com/
Slot de Pinos Analógicos video/304213920

Internet das Coisas: Arduíno - Tema 1


19
Internet das Coisas: Arduíno

Utilização da Ide do Arduino Anotações


O programa utilizado para a programação da placa Arduino é
o IDE e pode ser baixado gratuitamente no site www.arduino.cc.
Nesse site, você pode apenas baixá-lo ou, caso queira, pode fazer
uma doação para os criadores da placa Arduino.

Dica
Depois de fazer o download como arquivo zipado, a
melhor alternativa é colocar esse arquivo na área de
trabalho, clicar na opção “Extrair aqui”. Esse procedimento
garante que seja criada uma pasta com todos os arquivos
necessários e de fácil acesso. Não se deve criar uma pasta
dentro de outras para depois descompactar os arquivos.
Esse procedimento pode causar erros quando for utilizar
bibliotecas na programação. A facilidade de acesso ao
programa utilizado pela placa Arduino na área de trabalho
é a alternativa mais apropriada para os iniciantes.

Explorar
O vídeo a seguir mostra a sequência usada para
usuários da plataforma Windows, por ser a mais
comum. Para uso das demais plataformas, é
aconselhável assistir algum vídeo sobre o assunto.
No site www.youtube.com encontram-se diversos
vídeos explicativos sobre as demais plataformas.

Internet das Coisas: Arduíno - Tema 1


20
Internet das Coisas: Arduíno

Para assistir ao vídeo, acesse o


Instalação do Programa Arduino link: https://player.vimeo.com/
video/306807429

Explorar
Como atividade de pesquisa, busque vídeos na internet
sobre a instalação do programa da plataforma Arduino.
Essa atividade o ajudará a compreender as diversas
possibilidades desta plataforma.
Não tenha receio da pesquisa, existem milhares de
bons exemplos desse procedimento. Ao realizar essa
atividade você ampliará o seu aprendizado sobre a
plataforma Arduino.
Siga em frente!

Depois da instalação do programa da plataforma Arduino,


vamos aprender sobre o uso e a programação da plataforma.

Pinos Digitais
Conforme visto anteriormente, a placa Arduino tem 14 pinos
digitais numerados de 0 a 13, dos quais devemos evitar o uso dos
pinos 0 e 1 por serem utilizados pela placa para a comunicação
com o computador. Os demais pinos, numerados de 2 a 13, podem
ser usados tanto como pinos de entrada como de saída. Nesses

Internet das Coisas: Arduíno - Tema 1


21
Internet das Coisas: Arduíno

pinos, serão ligados sensores digitais, outros dispositivos para Anotações


controlar motores, lâmpadas, servos e vários outros atuadores.

Pinos digitais

Como pino de entrada para a leitura de sensores, deve ser res-


peitada a tensão máxima de 5V. Então, toda vez que for usado um
pino como entrada deve-se ter a certeza que não há possibilidade
de chegar mais de 5V nesses pinos. Isso normalmente é tranquilo
quando se utiliza sensores destinados a placa Arduino.
Como pinos de saída, serão utilizados para controlar os dispo-
sitivos como lâmpadas, motores, servos e outras placas. Cada pino
tem a capacidade de fornecer 5V com corrente máxima de 40mA.
Essa tensão e corrente é bastante alta para o controle de um led por
exemplo. Contudo muito pequena para o controle de um motor.
Normalmente, os pinos digitais são conectados a outros dispositi-
vos que farão o controle de motores, por exemplo. Veremos muito
em breve como fazer isso. Para o controle de um led é recomen-
dável a utilização de um resistor de 220 ohms para que o led não
queime. A corrente de 40 mA é bastante alta para um led.

Explorar
Pesquise vídeos ou artigos sobre leds. O estudo aprofundado
de componentes não será explorado nesse curso. É
importante realizar essa pesquisa para compreender que os
materiais usados para o desenvolvimento dos projetos na
plataforma Arduino são bem simples. Isso é uma das bases
dessa plataforma: a simplicidade.

Internet das Coisas: Arduíno - Tema 1


22
Internet das Coisas: Arduíno

A definição para que um pino digital seja de entrada ou saída


é feita na hora da programação utilizando-se a função: pinMode -
define um pino com OUTPUT (saída) ou INPUT (entrada).

Primeiro Programa
Vamos então ao nosso primeiro programa. Esse deve ser
sempre o primeiro programa que fazemos quando estamos
usando a placa Arduino. É um programa que nos ensina muito Para obter o programa Arduino
sobre a programação e, principalmente, o formato de todos os e mais informações acesse o
demais programas que faremos. link: https://www.arduino.cc/

Para esse primeiro programa utilizaremos um led de qualquer


cor, no caso, será apresentado um led vermelho.

Dica
É sempre recomendado fazer as ligações ou
montagens sempre com a Plataforma Arduino
desligada. Isso evita possíveis curtos circuitos e
eventual queima de algum componente.

O que queremos é fazer um simples pisca pisca com um led.


Veja o vídeo.

Para assistir ao vídeo, acesse o


Primeiro Programa link: https://player.vimeo.com/
video/304214143

Internet das Coisas: Arduíno - Tema 1


23
Internet das Coisas: Arduíno

A placa Arduino foi tão bem planejada que ao lado do pino Anotações
13 temos uma saída de GND. Isso facilita muito a montagem.
Devemos colocar o terminal maior do led no furo equivalente
marcado com o número 13 e o terminal menor no furo com a sigla
GND.
Todos os programas usados na placa Arduino tem sempre as
duas estruturas obrigatórias “void setup()” e “void loop()”.
Quando abrimos a IDE já aparece um programa parcialmen-
te preenchido com as estruturas obrigatórias. Isso facilita ainda
mais a programação, pois nos ajuda a não esquecer de nenhuma
informação.
Na estrutura “void setup()” devem ser colocadas todas as
informações referentes aos pinos e todos os comandos serão
executados apenas uma vez. No decorrer do curso, explicaremos
com mais detalhes todas as informações que poderemos colocar
na estrutura “void setup()”.
Nesse primeiro programa colocaremos a definição do pino 13
como saída.
Na estrutura “void loop()” é que realmente ocorre o que que-
remos no programa. Nessa estrutura todos os comandos ficaram
se repetindo indefinitivamente, um após o outro até o final e vol-
tando ao primeiro. Daí o nome “loop”.
Digite o seguinte programa exatamente como mostrado na
Figura, mas antes apague as frases:
“// put your setup code here, to run once:”
// put your main code here, to run repeatedly:

Internet das Coisas: Arduíno - Tema 1


24
Internet das Coisas: Arduíno

Podemos comparar um programa para a placa Arduino com Anotações


uma receita de bolo em que temos duas partes: ingredientes e
modo de fazer. Podemos comparar o “void setup()” com os “ingre-
dientes” e o “void loop()” com o “modo de fazer”.
Receita de Bolo
Ingredientes:
1 lata de milho verde com água e tudo
1/2 lata da mesma de óleo
1 lata da mesma de açúcar
1/2 lata da mesma de fubá
4 ovos
2 colheres bem cheias de farinha de trigo
2 colheres de coco ralado
1 colher e 1/2 de chá bem cheia de fermento em pó
Modo de fazer:
Bata bastante todos os ingredientes no liquidificador, depois bem
batido acrescente o coco ralado e o fermento e misture, coloque para assar
Fonte da receita de bolo: http://
Pode colocar na forma redonda de buraco e na quadrada, a gshow.globo.com/receitas-gshow/
forma deverá ser untada e enfarinhada receita/bolo-cremoso-de-milho-
55c2ce3f4d38853ede000047.
Leve ao forno preaquecido a 180ºC por, aproximadamente, 40 minutos. html

Programa para a placa Arduino


void setup() {
pinMode (13,OUTOUT);
}
void loop () {
digitalWrite (13, HIGH);
delay(1000);
digitalWrite (13, LOW);
delay(1000);
}

Internet das Coisas: Arduíno - Tema 1


25
Internet das Coisas: Arduíno

Começaremos com a estrutura “void setup()”. Aqui colocare-


mos os “ingredientes” que usaremos no programa. É o momento
Anotações
de listar os pinos que serão usados e informar se serão pinos com
a função de “saída” ou “entrada”. Serão de “saída” se forem con-
trolar algo e de “entrada” se forem receber dados de um sensor
por exemplo.

Vamos listar os comandos que estamos usando:


pinMode (13, OUTPUT);
Esse primeiro comando deve ser digitado exatamente dessa
forma. Todo comando usado na programação tem uma forma
específica de ser escrito. Observe a forma de escrever os coman-
dos: a primeira palavra é toda escrita em letras minúsculas e
somente a primeira letra da segunda palavra é escrita com letra
maiúscula. A palavra OUTPUT é toda escrita em maiúscula.
Sempre que digitamos um comando que estiver correto a
cor das letras muda, mostrando que está corretamente digitado.
No primeiro comando (pinMode) fica na cor laranja e o segundo
comando (OUTPUT) fica todo em azul. Um detalhe super impor-
tante: cada linha de comando tem, obrigatoriamente, que termi-
nar com um ponto e virgula (;). Essa é uma exigência da lingua-
gem “C” na qual a programação da placa Arduino é baseada.

Internet das Coisas: Arduíno - Tema 1


26
Internet das Coisas: Arduíno

Anotações

Nosso comando pinMode pode ser traduzido como modo do pino.


Esse comando será usado em todos os programas, pois é
necessário dizer se os pinos usados serão de entradas ou saídas.
No nosso primeiro exemplo o pino 13 será usado como saída, pois
iremos controlar um led ligado nele. A estrutura “void setup()”
terá apenas essa linha de comando, já que usaremos apenas um
pino, portanto não há necessidade de mais nenhuma informação.
Caso fossem utilizados mais pinos, seria necessário digitar,
para cada pino, o mesmo comando para indicar se será utilizado
como um pino de entrada ou de saída.
digitalWrite(13, HIGH);
Esse também é um comando bastante utilizado na progra-
mação. Traduzindo seria: escreva alto no pino. Esse comando
faz com que o pino 13, no qual está ligado o led, fique com uma
tensão de 5V. Isso faz com que o led acenda. Em outras palavras
nosso comando acenderá o led.
Novamente observe a forma de escrever os comandos. A
primeira palavra é toda escrita em letras minúsculas. Somente a
primeira letra da segunda palavra é escrita com letra maiúscula.
E a palavra HIGH toda escrita em maiúscula. Novamente quando
os comandos são escritos corretamente a cor muda. O primeiro
comando (digitalWrite) fica na cor laranja e o segundo comando
(HIGH) fica todo em azul.

Internet das Coisas: Arduíno - Tema 1


27
Internet das Coisas: Arduíno

Anotações

delay (1000);
Esse comando também é bastante utilizado nos programas
da placa Arduino. A função aqui é esperar pelo tempo definido
dentro dos parênteses. Esse tempo é medido em milissegundos,
portanto o comando acima significa que haverá uma espera de 1
segundo até que o próximo comando seja executado.

digitalWrite(13, LOW);
Novamente, aparece o comando digitalWrite. Mas, dessa vez
o parâmetro é LOW, que significa baixo. Em outras palavras, com
esse comando o pino 13 ficará com a tensão de 0V. E isso fará com
que o led ligado a esse pino apague.

delay (1000);
Por último, novamente o comando que faz com que seja
gerado uma espera de 1 segundo. Esse último comando é funda-
mental, pois, após sua execução o programa recomeça. Se esse
comando não for colocado, logo após o comando de apagar o led,
seria seguido novamente pelo comando ligar o led. Isso resultaria
em uma confusão e não seria possível verificar o led piscando.

Internet das Coisas: Arduíno - Tema 1


28
Internet das Coisas: Arduíno

Anotações

Resumo do programa:
liga o led, espera por 1 segundo, desliga o led, espera 1 segun-
do e volta ao início, liga o led, espera 1 segundo, desliga o led,
espera um segundo...
E assim indefinitivamente.
Para que o programa seja gravado na placa Arduino é neces-
sário que primeiro seja salvo com um nome que desejar e logo
depois enviá-lo para a placa através do botão Carregar. Veja a
figura:

Internet das Coisas: Arduíno - Tema 1


29
Internet das Coisas: Arduíno

Fique Atento Anotações


Caso receba a mensagem “avrdude: ser_open():
can’t open device “\\.\COM1”: O sistema não pode
encontrar o arquivo especificado. Ou a mensagem
Problema ao carregar para a placa. Veja http://www.
arduino.cc/en/Guide/Troubleshooting#upload para
sugestões.

Se tudo estiver correto e não houver nenhum erro de digita-


ção, o programa será carregado na placa Arduino. Imediatamente
após o carregamento, começará a executar.

Parabéns!
Você acaba de fazer o seu primeiro programa!

Todos os demais programas seguirão essa lógica. Você digi-


tará o programa e em seguida salvará com um nome qualquer
e fará o upload desse programa para a placa Arduino. Todas as
vezes que for feito o upload de um novo programa, o anterior
será substituído. Não interessa o seu tamanho, sempre o último
programa carregado substituirá o anterior.
Esse processo pode ser realizado por mais de 10 mil vezes sem
nenhum prejuízo para a placa. Essa é uma característica bastante
interessante da placa Arduino. Os programas poderão ser criados
e substituídos por milhares de vezes, garantindo ao projetista/
hobbysta a possibilidade de testar sempre, o que facilita o apren- Para ter acesso às Atividades de
dizado. A versatilidade da placa Arduino é o que lhe garante o Estudo, veja as telas interativas
grande sucesso. do curso.

Concluída esta primeira etapa do curso, na qual estudamos e


praticamos a instalação do programa da plataforma Arduino, o
uso e a programação da plataforma, continuaremos explorando
as funcionalidades desta ferramenta no Tema 2. Vamos conhecer
sobre o uso dos sensores analógicos.

Internet das Coisas: Arduíno - Tema 1


30
Tema 02
Uso de Sensores
Analógicos

1
Internet das Coisas: Arduíno

Objetivos do Tema
• Entender o funcionamento dos pinos analógicos. Verifique o significado no
Glossário ao final do curso.
• Utilizar e compreender o funcionamento de sensores
analógicos.
• Apresentar a utilização prática da plataforma Arduino no
controle de temperatura de dispositivos.

Materiais Necessários
Você precisará dos seguintes materiais para estudar o Tema 2:

Plataforma Arduino Uno Rev3.

Placa protoboard 830 pontos.

Internet das Coisas: Arduíno - Tema 2


2
Internet das Coisas: Arduíno

Anotações
Fios jumpers do tipo macho-
macho, pelo menos 10 unidades.

3 leds de cores (vermelho,


verde e amarelo).

3 resistores de 390 ohms.

Potenciômetro de 10k.

Internet das Coisas: Arduíno - Tema 2


3
Internet das Coisas: Arduíno

Anotações
Sensor de temperatura LM35.

Pinos Analógicos
A placa Arduino tem 6 (seis) pinos analógicos, identificados
pelos símbolos A0, A1, A2, A3, A4 e A5. Esses pinos estão ligados
Verifique o significado no
internamente a um circuito conversor analógico/digital. O que
Glossário ao final do curso.
isso significa? Esse circuito faz a conversão entre tensão e valores
digitais. Em outras palavras esse circuito “lê” a tensão colocada
em um pino analógico e retorna para o processador da placa
Arduino um valor entre 0 e 1.023. A tensão de entrada nos pinos
analógicos não pode ser superior a 5V.

Pinos
Pinos
Analógicos
Analógicos

Para uma melhor compreensão de como esse conversor fun-


ciona vamos exemplificar. Imagine dois conjuntos, um com todas
as possibilidades de valores entre 0 e 5 e outro conjunto somente
com valores inteiros de 0 a 1.023. No primeiro conjunto temos
um número infinito de possibilidades. No segundo as possibilida-

Internet das Coisas: Arduíno - Tema 2


4
Internet das Coisas: Arduíno

des são 1.024. O que o conversor analógico digital faz é associar Anotações
esses dois conjuntos.

Conjunto 1 Conjunto 2
0,00000 0
0,00001 1
0,00002 2
0,00003 ...
0,00004 512
0,00005 513
.. ...
2,49998 1.021
2,49999 1.022
2,50000 1.023
2,50001
2,50002
...
4,99998
4,99999
5,00000

Possíveis Possíveis
valores valores
Infinitos 1.024

Para o valor 0 no primeiro conjunto associa-se o valor 0 no


segundo conjunto. Para o valor 5 no primeiro conjunto associa-se
o valor 1.023 no segundo conjunto.

Conjunto 1 Conjunto 2
Analógico Digital
0,00000 0
0,00001 1
0,00002 2
0,00003 ...
0,00004 512
0,00005 513
.. Conversor ...
2,49998 analógico digital 1.021
2,49999 1.022
2,50000 1.023
2,50001
2,50002
...
4,99998
4,99999
5,00000

Possíveis Possíveis
valores valores
Infinitos 1.024

Internet das Coisas: Arduíno - Tema 2


5
Internet das Coisas: Arduíno

Para qualquer outro valor no primeiro conjunto, entre 0 e 5, Anotações


associa-se no segundo conjunto um valor inteiro entre 0 e 1.023,
mantendo a proporcionalidade.
Com uma regra de três simples é possível calcular o valor
convertido.

Conjunto 1 Conjunto 2
Analógico Digital
0,00000 0
0,00001 1
0,00002 2
0,00003 ...
0,00004 512
0,00005 513
.. Conversor ...
2,49998 analógico 1.021
2,49999 digital 1.022
2,50000 1.023
2,50001
2,50002
...
4,99998
4,99999
5,00000

Possíveis Possíveis
valores valores
Infinitos 1.024

Os pinos analógicos servirão para receber sensores analógicos


ligados a eles. Nunca usaremos esses pinos como saída,
sempre como pinos de entrada. Os sensores projetados para
a placa Arduino normalmente já vem preparados para serem
ligados diretamente aos pinos analógicos. Essa é uma grande
facilidade da placa Arduino. Verificaremos no decorrer do
curso que o uso de sensores é uma tarefa bastante simples.

Dois pinos analógicos (A4 e A5) tem uma outra função espe-
cial. São pinos que podem ser usados com o protocolo I2C. Esse
protocolo está sendo muito utilizado nos dias de hoje pela facili-
dade e versatilidade. Com esse protocolo é possível, por exem-
plo, ligar um sensor e um display LCD nos mesmos pinos.
Essa funcionalidade será explorada no Tema 4.

Internet das Coisas: Arduíno - Tema 2


6
Internet das Coisas: Arduíno

Anotações

PINO A4
E PINO A5

Programa de Utilização das


Portas Analógicas
Esse exemplo é uma forma de entender de maneira bem sim-
ples a utilização das portas analógicas.
Precisaremos dos seguintes componentes:
Verifique o significado no
a) Potenciômetro 10k. Glossário ao final do curso.
b) Protoboard.
c) Fios jumpers do tipo macho-macho.
d) Placa Arduino.

Internet das Coisas: Arduíno - Tema 2


7
Internet das Coisas: Arduíno

Explorar Anotações

Para compreender mais sobre a protoboard, faça


uma pesquisa na internet. No site www.youtube.com.
br você poderá encontrar diversos vídeos explicativos
sobre protoboard. A plataforma Arduino tem uma vasta
comunidade mundial que está sempre compartilhando
conhecimentos. A realização dessa pesquisa ampliará seus
conhecimentos e abrirá caminhos para novos aprendizados.

Faça a montagem conforme a Figura:

Ponto
Ponto
Ponto 30
30 Ponto
Ponto 34
34

Ponto 32
Ponto 32

Internet das Coisas: Arduíno - Tema 2


8
Internet das Coisas: Arduíno

Insira os três pinos do potenciômetro na protoboard, cada um Anotações


em uma das fileiras numerada da protoboard com 5 pontos. Pode
ser em qualquer fileira desde que use três fileiras diferentes.
Na figura ao lado os pinos do potenciômetro foram ligados
em pontos das fileiras 30, 32 e 34. Alguns modelos de potenciô-
metro tem espaço entre os pinos diferente do que está na figura.
Não se preocupe se isso acontecer com o que você tem.
Agora que o potenciômetro está na protoboard vamos ao pró-
ximo passo: ligá-lo ao Arduino usando fios jumpers macho-macho.
Faça a montagem conforme a Figura:

Pino A0 Pino 5v

Pino GND

Com a placa Arduino desligada do computador, conecte a


ponta de um fio jumper em outro dos pontos da fileira da proto-
board na qual está ligado um dos pinos laterais do potenciômetro
(no exemplo, 30) e outra no pino negativo (GND) da placa Arduino.
Ligue outro fio jumper entre o outro pino lateral do potenciôme-
tro e o pino positivo (5V) da placa Arduino. O pino central deve ser
ligado ao pino analógico (A0) da placa Arduino.

Internet das Coisas: Arduíno - Tema 2


9
Internet das Coisas: Arduíno

O Programa Anotações
Depois de efetuar a montagem, ligue a placa ao computador
utilizando um cabo USB.
Vamos analisar de forma detalhada cada linha de comando
desse programa:

Análise do Programa
int valor;
Esse é um recurso bastante usado na programação da placa
Arduino. O uso de variáveis. Uma variável é um nome escolhido
pelo programador que irá receber valores durante o programa;
no nosso caso o nome é valor.
Esse recurso é muito útil uma vez que o nome usado pela vari-
ável ajuda a mostrar os valores que nos interessa e o entendimen-
to do que está acontecendo fica bem mais claro.

Internet das Coisas: Arduíno - Tema 2


10
Internet das Coisas: Arduíno

Anotações

Os nomes das variáveis não podem ser nomes já usados


pelo programa. Por exemplo: não se pode utilizar o nome
“digitalRead” para ser o nome de uma variável, pois ele é
usado pelo programa para designar um comando.
Você poderá criar mais de uma variável no mesmo programa
com o comando int, desde que os nomes sejam diferentes.
No programa essa linha de comando criará uma variável que
guardará os valores convertidos pela placa Arduino após a leitura
do potenciômetro.
Os comandos de criação das variáveis podem ser colocados
em qualquer lugar no programa. Normalmente são colocados
antes do comando void setup() pois faz com que essa variá-
vel assuma uma função de variável global que tem uma amplitu-
de maior de uso. Programadores experientes as vezes utilizam o
recurso de criação de variáveis locais. Mas, para quem está come-
çando, sempre que for necessário o uso de variáveis, é aconse-
lhável o uso de variáveis globais. Para tanto, todas devem ser
listadas antes do comando void setup().
#define potenciometro A0
Aqui o comando “#define” faz com que o nome “poten-
ciometro” seja associado a sigla “A0”. Isso significa que os
dois serão interpretados pelo programa como sendo a mesma
coisa. A qualquer momento pode ser usado a sigla “A0” que

Internet das Coisas: Arduíno - Tema 2


11
Internet das Coisas: Arduíno

representa o pino analógico ou o nome “potenciometro”. Anotações


Esse recurso é muito utilizado na programação para facilitar o
entendimento futuro de um programa. Dessa forma ao se ler
“potenciometro” já saberemos que na porta A0 está ligado
um potenciômetro.

#define potenciometro A0
Observe duas características interessantes nesse ponto do
programa. Não há necessidade de colocar o sinal “=” após a pala-
vra “potenciomentro” para associá-la a sigla “A0”. O coman-
do #define já faz essa associação sem o símbolo de “=”. Ao fim
dessa linha também não há necessidade de se colocar ponto e
vírgula (;) como fazemos normalmente. Essas duas característi-
cas são importantes, pois podem causar erro no programa se não
forem observadas.

Fique Atento
• Na programação da placa Arduino não se utiliza
acentos ou símbolos especiais para designar
nomes de variáveis.
• Essas definições devem ser colocadas antes da
estrutura void setup().

Internet das Coisas: Arduíno - Tema 2


12
Internet das Coisas: Arduíno

Serial.begin(9600); Anotações
Esse comando é usado para estabelecer a comunicação entre
a placa Arduino e o computador. Usaremos nesse momento a tela
do computador como um monitor para mostrar os valores lidos
do potenciômetro.
O valor de 9600 entre parênteses define a velocidade de
comunicação entre a placa e o computador. A velocidade 9600
é padrão. Com a evolução das placas Arduino e a atualizações da
IDE, a velocidade mais utilizada tem sido 115200. Para esse nosso
exemplo isso não é importante.

Para esse programa não há necessidade de mais nada na


estrutura void setup(). Lembrando que essa estrutura
pode ser comparada aos “ingredientes” de uma receita de bolo.
Você poderá perguntar se não há a necessidade de colocar
que o pino analógico A0 deveria ser definido como entrada.
A resposta é que não há necessidade dessa definição, pois
o entendimento é que todos os pinos analógicos da placa
Arduino já são definidas como entradas.

Internet das Coisas: Arduíno - Tema 2


13
Internet das Coisas: Arduíno

valor = analogRead(potenciometro); Anotações


Esse é um dos comandos mais importantes desse
programa. Aqui a variável “valor” receberá o valor definido
pelo conversor analógico/digital após a leitura do pino
A0. O comando “analogRead” pode ser traduzido como
leitura analógica do pino que está entre parênteses. Esse pino
foi definido pelo nome “potenciometro”. Internamente, o
processador da placa Arduino lê o valor da tensão aplicada ao
pino A0 e converte esse valor em outro valor que é um número
entre 0 e 1.023. É interessante verificar que essa linha de comando
poderia ser escrita também como:

valor = analogRead(A0);
O resultado seria exatamente o mesmo. Optei pela primeira
opção por ser a forma de entender o uso de variáveis e definições.
Serial.print(“leitura =”);
Esse comando é responsável pela escrita dos valores
lidos na tela do computador. Essa tela é acionada através do
comando “serial monitor” na IDE da plataforma Arduino.
O interessante nesse comando é que ele “escreve” na tela
do computador o que está entre parênteses (no caso o texto
entre aspas “leitura =”) e fica na mesma linha na tela do
computador, esperando o próximo comando para escrever logo
após o que já “escreveu”.

Internet das Coisas: Arduíno - Tema 2


14
Internet das Coisas: Arduíno

Serial.println(valor); Anotações
Esse comando é quase idêntico ao primeiro, com a pequena
diferença de que o ”ln” ao final do comando indica que a variável
valor terá o seu valor escrito (logo após a expressão “leitura
=”). Em seguida, passa para a próxima linha. Isso é importante,
pois assim fica organizado. Temos então o seguinte efeito:
leitura =200
leitura =230
leitura =250
leitura =200

Caso o comando Serial.println(valor); não fosse


usado e no lugar desse comando fosse colocado Serial.
print(valor); o resultado seria o seguinte:
leitura = 200leitura =230leitura=250leitura=200
Veja que nesse caso ficou desorganizado. Sugiro, que você
mude o comando Serial.println(valor); por Serial.
print(valor); para que esse aprendizado fique claro nesse
momento.
delay(300);
Esse comando tem apenas a função de deixar mais lento a

Internet das Coisas: Arduíno - Tema 2


15
Internet das Coisas: Arduíno

apresentação dos valores na tela do computador. Caso não seja Anotações


colocado esse comando, os valores serão apresentados muito
rapidamente. Nesse momento sugiro que seja retirado esse
comando para a verificação do que foi exposto.

Explorar
A programação da plataforma Arduino é bem simples e não
requer praticamente nenhum conhecimento anterior para
que seja compreendida. Não tenha receio de pesquisar,
testar, modificar a programação! Isso fará com que você
aprenda mito mais sobre as possibilidades da plataforma.

Assista ao vídeo seguinte para que você possa compreender


ainda mais essa atividade. A compreensão do uso das portas ana-
lógicas é a base para os projetos envolvendo sensores analógicos.

Para assistir ao vídeo, acesse o


Funcionamento das portas link: https://player.vimeo.com/
analógicas video/304214089

Curso
Curso
Internet das
Internet dascoisas:
coisas:

ARDUINO

Praticar
Realizaremos 3 (três) montagens, a partir de agora, visando
praticar, compreender e explorar as potencialidades da
plataforma Arduino. Pratique os comandos estudados e
repita quantas vezes achar necessário.

Internet das Coisas: Arduíno - Tema 2


16
Internet das Coisas: Arduíno

Montagem 01 - Sensor De Temperatura


Anotações
O sensor LM 35 é um sensor bastante interessante e versátil
e muito simples para o uso com a plataforma Arduino. Ele servirá
de base para diversos outros projetos.

Explorar
Pesquise e tente reproduzir alguns dos diversos projetos
que existem disponíveis na internet usando esse sensor.

Assista primeiro ao vídeo introdutório sobre o sensor de tempe-


ratura LM35. Esse vídeo ajudará a compreender essa montagem.

Para assistir ao vídeo, acesse o


Apresentação dos link: https://player.vimeo.com/
Sensores analógicos video/304214056

Curso
Curso
Internet das coisas:
Internet das coisas:

O sensor LM35 é bem simples de ser utilizado. Ele tem três pinos que
devem ser ligados a alimentação de 5V e a uma das portas analógicas.

Internet das Coisas: Arduíno - Tema 2


17
Internet das Coisas: Arduíno

Observe a Figura. Esse sensor é muito usado em montagens Anotações


da plataforma Arduino. Tem uma excelente precisão.
Segundo o seu datasheet (veja a explicação mais à frente
sobre o que isso significa) esse componente consegue medir tem-
peraturas entre -55 a +150 graus Celsius.
Esse componente funciona de forma bem simples. Recebe 5V
através dos seus pinos V+ e GND. Conforme a temperatura que
o sensor está, um valor entre 0V e 5V aparece no pino OUT. Isso
pode ser usado por uma porta analógica e com uma simples fór-
mula apresentar a temperatura medida.
Esse sensor é um exemplo de sensor analógico e o seu funcio-
namento é idêntico a outros sensores analógicos.

Ampliar conhecimentos
Com esse exemplo, você poderá montar diversos
outros projetos e descobrir muitas utilizações para esse
componente e de vários outros sensores analógicos.
Faça uma pesquisa e descubra projetos utilizando
esses versáteis sensores. Um dos objetivos desse curso
é apresentar possibilidades para que você possa criar
produtos simples e úteis, possa comercializar e aumentar
sua renda mensal. Não tenha receio de montar e testar
projetos novos! A plataforma Arduino foi criada com o
objetivo de incentivar a criação de produtos por pessoas
com pouquíssimo conhecimento.

A ligação desse sensor deve obedecer a seguinte indicação:


o pino V+ ligado ao pino 5V no slot de alimentação da
plataforma Arduino; o pino GND do sensor a algum GND da
plataforma Arduino. No nosso caso, vamos ligar o pino OUT
ao pino analógico A0. Bastante atenção nessa montagem.
A posição dos pinos não pode ser modificada sob pena de
queima do componente.

Internet das Coisas: Arduíno - Tema 2


18
Internet das Coisas: Arduíno

Ampliar conhecimentos Anotações


Na explicação sobre o sensor LM 35 foi dito: “(...)
segundo o seu Datasheet”. Datasheet é um documento
no qual o fabricante do componente fornece todas as
características técnicas do mesmo. Esse documento é
importante para todos os que queiram projetar algum
produto. O datasheet de qualquer componente é um
documento bem fácil de ser encontrado na internet.
Todos os fabricantes disponibilizam esses documentos de
forma gratuita. Aproveite para aprender um pouco sobre
algum componente. Basta digitar no Google o nome do
componente seguido da palavra datasheet e você terá
diversos documentos de todos os fabricantes daquele
componente. Abra algum deles e se familiarize sobre essa
importante fonte de informação.

Observe a Figura com os detalhes da montagem.

Internet das Coisas: Arduíno - Tema 2


19
Internet das Coisas: Arduíno

Assista ao vídeo com o passo a passo da montagem.

Montagem usando Para assistir ao vídeo, acesse o


link: https://player.vimeo.com/
Sensores analógicos video/304214117

Curso
Internet das coisas:

ARDUINO

Fique Atento
O programa para essa montagem segue abaixo. Observe que
todas as linhas estão comentadas. Fique muito atento para não
digitar nenhuma palavra errada. Isso causará problemas durante
a compilação.

Internet das Coisas: Arduíno - Tema 2


20
Internet das Coisas: Arduíno

Analisaremos cada linha desse programa agora. Verifique Anotações


que cada uma delas já está comentada. O símbolo “//” serve
para comentários e não será considerado pelo programa. Serve
apenas para que ajude a interpretação do programa. O uso de
comentários é essencial, altere com suas próprias palavras para
que você aprenda a sempre colocá-los em seus programas. Os
comentários não precisam estar logo após a linha de comando,
podem ser localizados, por exemplo, acima da linha de comando.
Nas figuras que serão usadas para a análise do progra-
ma alguns comentários não estão visíveis, pois são somente
ilustrativos.
int valor=0;
Esse comando cria uma variável do tipo inteira com o nome
de “valor”. Uma variável pode ter qualquer nome, desde que
não seja um nome usado pelo programa. Exemplo: Não podemos
usar como nome de variável a palavra pinMode, pois essa palavra
é um comando usado pelo programa. O nome da variável deve
representar o que ela será no programa, visto que uma excelen-
te maneira de lembrar os nomes das variáveis no programa, e
principalmente para a compreensão desse programa por outras
pessoas.

Internet das Coisas: Arduíno - Tema 2


21
Internet das Coisas: Arduíno

int temperatura; Anotações


O comado cria uma variável inteira com o nome “tempera-
tura”, seguindo as mesmas orientações em relação a criação de
nome de varáveis apresentadas anteriormente. A variável “tem-
peratura” armazenará o valor da temperatura medida pela
leitura do sensor. Portanto, nada mais apropriado do que usar o
nome “temperatura” na variável.

Serial.begin(9600);
Esse comando já foi usado na montagem anterior. Ele serve
para estabelecer a comunicação entre a placa Arduino e o com-
putador. Usaremos nesse momento a tela do computador como
um monitor para mostrar os valores da temperatura medida por
meio do sensor LM35.
Conforme foi mostrado no vídeo, sempre que você quiser
verificar os valores enviados para a tela do computador, basta
clicar no comando.

Internet das Coisas: Arduíno - Tema 2


22
Internet das Coisas: Arduíno

Observe a Figura a seguir. Anotações


A seta indica o local do comando Serial Monitor.

O valor de 9600 entre parênteses define a velocidade de


comunicação entre a placa e o computador. A velocidade 9600 é
padrão. Atualmente, com a evolução das placas Arduino e a atua-
lizações da IDE, a velocidade mais utilizada tem sido 115200. Para
esse nosso exemplo isso não é importante. Contudo, você pode
modificá-lo para esse novo valor com parte do aprendizado.
valor = analogRead(A0);
Esse comando foi comentado no programa anterior. Aqui
a variável “valor” receberá o valor definido pelo conversor
analógico/digital após a leitura do pino A0. O comando
“analogRead” pode ser traduzido como leitura analógica do
pino que está entre parênteses. Internamente, o que acontece é
que o processador da placa Arduino lê o valor da tensão aplicada
ao pino A0 pelo pino OUT do sensor LM35 e converte esse valor
em outro valor, um número entre 0 e 1023.

Internet das Coisas: Arduíno - Tema 2


23
Internet das Coisas: Arduíno

Anotações

temperatura= ( 5 * valor * 100) / 1024 ;


Essa linha de comando é a que transforma o valor lido na porta
analógica A0 em um valor de temperatura em graus Celsius.
Como visto anteriormente, o sensor LM35 “converte” tempera-
tura em tensão. Essa tensão é aplicada ao pino A0. O intervalo de
medida do sensor é de -55 a +150 graus Celsius. Isso significa que,
se a temperatura estiver em -55 graus, a tensão aplicada ao pino
A0 será de 0V. Mas, se a temperatura for de +150 graus, a tensão
será de 5V. Qualquer outro valor de temperatura será um valor
de tensão entre 0V e 5V. Isso faz com que seja usada a fórmula
5*valor*100/1024.
temperatura= ( 5 * valor * 100) / 1024 ;
Os símbolos “ * “ e “ / “ significam respectivamente multi-
plicação e divisão.
Essa fórmula foi pensada para esse tipo de aplicação onde o
componente LM35 é ligado diretamente a entrada analógica A0.

Internet das Coisas: Arduíno - Tema 2


24
Internet das Coisas: Arduíno

Ampliar conhecimentos Anotações


Raramente teremos projetos que utilizem o intervalo total
de funcionamento do sensor LM35, que é de -55 graus a
+150 graus. Esses são valores extremos do sensor. Para
aplicações usuais, podemos trabalhar com um intervalo de
valores menor que o intervalo extremo do componente. No
datasheet do lM35 existe diferentes formas de ligação do
componente para obter outros intervalos dependendo do
objetivo que deseja alcançar.
Com a ligação utilizada nessa montagem, o intervalo de
medição do sensor não é de -55 graus a +150 graus. Verificou-
se por experimentação que esse tipo de montagem consegue
valores entre 0 graus e 60 graus o que mais do que suficiente
para uma grande maioria de aplicações. Nesse caso, a fórmula
“5*valor*100/1024” é bastante precisa para a maioria das
aplicações. Para obter outros intervalos de medição, aconselha-
se uma pesquisa no datasheet do LM35. Faça experiências.

Serial.print(“Temperatura = “);
Esse comando já foi usado na montagem anterior e escre-
verá na tela a expressão Temperatura =. Tudo que estiver
entre aspas será escrito na tela e continuará na mesma linha para
receber o próximo comando. Como visto no exemplo anterior, o
comando “print” escreve e permanece na mesma linha.

Internet das Coisas: Arduíno - Tema 2


25
Internet das Coisas: Arduíno

Serial.print(temperatura); Anotações
Aqui tem uma situação bem interessante, esse comando é
praticamente igual ao comando anterior com a exceção dos sím-
bolos de aspas “ ”. Isso mostra que os detalhes fazem diferença na
programação. O que será escrito neste caso é o valor da variável
temperatura e não a palavra Temperatura. Verifique que
no comando anterior a palavra Temperatura mudou de cor e
isso aconteceu porque a palavra está entre aspas. Novamente,
nesse comando o valor da variável temperatura será escrito e
permanecerá na mesma linha continuando o que já estava escrito
anteriormente.

Serial.println(“ graus Celsius”);


Este comando executa de forma bem semelhante o que o
comando Serial.print(“Temperatura = “); com a dife-
rença de que nesse caso, após escrever a expressão graus
Celsius, ocorre um salto para a linha seguinte. Verifique a dife-
rença entre os comandos Serial.print e Serial.prinln.

Internet das Coisas: Arduíno - Tema 2


26
Internet das Coisas: Arduíno

Dica Anotações
Observe os detalhes dos comandos.
A linguagem usada na programação da plataforma Arduino é
bem simples. No entanto, deve-se estar atento aos detalhes.
Mude os comandos Serial.print e Serial.prinln
para entender melhor o que ocorre. Lembre-se: sempre faça
testes e modifique alguns comandos. Isso ajudará muito na
compreensão da linguagem.

delay(1000);
Esse comando já foi bastante usado e nesse programa sim-
plesmente é uma forma de fazer com que a escrita dos valores na
tela fique mais lenta, facilitando a leitura. Modifique o valor 1000
e verifique o que acontece.
Esse programa mostra como usar sensores analógicos. O
funcionamento de todos é sempre da mesma forma. Converte
alguma medida em tensão e essa tensão é lida por alguma porta
analógica e transformada em um valor entre 0 e 1023. Daí basta
entender o que se quer medir e usar uma fórmula que fará a
transformação.

Internet das Coisas: Arduíno - Tema 2


27
Internet das Coisas: Arduíno

Explorar
Realize pesquisas sobre outros sensores analógicos e
faça montagens com esses sensores, têm centenas
de exemplos na internet.

Exploramos neste tema o uso dos sensores analógicos. Para ter acesso às Atividades de
Estudo, veja as telas interativas
Continuaremos estudando a plataforma Arduino, compreen- do curso.
dendo e testando o uso dos sensores digitais.

Internet das Coisas: Arduíno - Tema 2


28
Tema 03
Uso de Sensores
Digitais

1
Internet das Coisas: Arduíno

Objetivos do Tema Anotações


• Utilizar e compreender o funcionamento de sensores
digitais.
• Apresentar a utilização prática da plataforma Arduino no
controle de sensores digitais.

Materiais Necessários
Você precisará dos seguintes materiais para estudar o Tema 3:

Plataforma Arduino Uno Rev3

Placa protoboard 830 pontos

Módulo
Módulosensor
sensorUltrassônico HC-SR04.
Ultrassônico HC-SR04

Internet das Coisas: Arduíno - Tema 3


2
Internet das Coisas: Arduíno

Fios
Anotações
Fiosjumpers
jumpersdo
dotipo
tipo macho-macho,
macho-macho, pelo
pelo menosmenos
10 unidades.
10 unidades.

3 leds de cores (vermelho, verde e


3 leds de cores (vermelho,
amarelo).verde e amarelo).

33resistores
resistores de
de 390 ohms.
ohms.

Internet das Coisas: Arduíno - Tema 3


3
Internet das Coisas: Arduíno

Uso de Sensores Digitais


Na seção anterior, trabalhamos o uso de sensores analógicos
e, para tanto, usamos as portas analógicas localizadas ao lado do
slot de alimentação. Nessa seção, trabalharemos com os senso- Verifique o significado no
res digitais e para isso usaremos os pinos digitais que estão loca- Glossário ao final do curso.
lizados em dois slots e são numerados de 0 a 13.
Observe a figura:

Sensores digitais são aqueles em que só existem duas


possibilidades de sinal. Positivo ou negativo, 0 ou 1, desligado
ou ligado. Sensores digitais são bastante úteis e muito usados.
Devem ser ligados aos pinos digitais que trabalham com
aquelas duas possibilidades. Mas, existem sensores digitais
que trabalham como se fossem analógicos. Isso ocorre
pelo fato de que a frequência de trabalho desses sensores
é muito alta e isso faz com que o comportamento dele seja
semelhante a sensores analógicos.

Internet das Coisas: Arduíno - Tema 3


4
Internet das Coisas: Arduíno

Um exemplo de sensor digital bem interessante é o sensor de Anotações


ultrassom. Esse sensor tem o seguinte aspecto:

Esse sensor é composto por um circuito eletrônico que emite


um som em uma frequência muito alta, tão alta que os huma-
nos não conseguem ouvir. O sensor tem um alto falante capaz de
emitir ondas sonoras de alta frequência e também um microfone
capaz de receber ondas sonoras naquelas frequências. Uma onda
de som viaja a uma velocidade de aproximadamente 340 metros
por segundo no ar e quando ela bate em algum obstáculo é refle-
tida, volta para o sensor e é captada pelo microfone. O tempo
que a onda demora para ir e voltar até o sensor multiplicada pela
velocidade do som no ar será igual a distância do sensor até o
obstáculo.
Esse recurso é usado por esse sensor para projetos que neces-
sitem calcular a distância até algum obstáculo.

Internet das Coisas: Arduíno - Tema 3


5
Internet das Coisas: Arduíno

Assista ao vídeo e verifique a montagem proposta para essa


seção.

Para assistir ao vídeo, acesse o


Apresentação dos link: https://player.vimeo.com/
Sensores Digitais video/304214006

Curso
Internet das coisas:

ARDUINO

Como visto no vídeo, esse sensor é bem simples de ser


utilizado, necessitando de apenas dois pinos digitais do
Arduino. Podem ser usados quaisquer pinos digitais. Os pinos
utilizados serão determinados durante a programação.

Um fato que simplifica muito a utilização da plataforma


Arduino é o uso de bibliotecas. Esse fato é tão importante que
separaremos uma boa parte dessa seção para a explicação do
uso de bibliotecas.

Uso de Bibliotecas
Uma biblioteca é um pequeno programa que já faz grande
parte das ações necessárias para serem usadas em outros pro-
gramas. As bibliotecas podem ser comparadas a ferramentas.
São usadas para tornar mais simples o uso de sensores e outros
dispositivos usados na plataforma Arduino. Sempre que surge
um novo sensor ou dispositivo, ele vem acompanhado de uma
biblioteca que simplifica o seu uso.
Vamos entender melhor o que é uma biblioteca no caso da
plataforma Arduino, usando o exemplo desse sensor ultrassônico.

Internet das Coisas: Arduíno - Tema 3


6
Internet das Coisas: Arduíno

O programa para o cálculo da distância deve enviar um sinal


para o sensor emitir uma onda de som. Imediatamente começa a Anotações
medir o tempo e aguardar o sinal que o microfone receberá após
a onda ter batido no obstáculo e retornado. Em seguida verifi-
ca o tempo que a onda de som gastou para sair do sensor, bater
no obstáculo e retornar ao sensor. Sabendo que a velocidade de
propagação do som no ar é de aproximadamente 340 metros por
segundo, usam-se as fórmulas:
velocidade = espaço ÷ tempo e
espaço = velocidade x tempo.
Lembrando que o espaço a ser considerado é duas vezes a distância
(ida e volta até o obstáculo). Então, o resultado final seria dividido por dois.
Você percebe que não é tão complexo fazer um programa
que utilize o sensor. Talvez, seria algo trabalhoso, principalmente
para os menos experientes.
Bom, a grande vantagem de usar uma biblioteca é que todo
esse trabalho já foi feito por alguém que fez a biblioteca. Desse
modo, basta utilizar os comandos que a biblioteca disponibili-
za. No caso de sensor ultrassônico o comando “ultrasonic.
Ranging(CM)”. E ainda mais simples é o detalhe de que o
parâmetro (CM) entre parênteses já indica que a medida está em
centímetros. Isso torna a programação tão simples com o uso de
bibliotecas que sobra muito tempo para usar a criatividade para
construir produtos muito úteis.
Praticamente todos os sensores mais complexos têm biblio-
tecas específicas para facilitar o seu uso. O número de bibliotecas
para a plataforma Arduino cresce a cada dia. É uma prática entre
os desenvolvedores que todas as bibliotecas devem ser comparti-
lhadas por todos os interessados, isso é muito bom, pois os even-
tuais erros podem ser descobertos e corrigidos.

Explorar
Pesquise sobre sensores e as bibliotecas que os acompanham.
Contudo, para se utilizar as bibliotecas, é necessário primeiro
fazer a instalação dessa biblioteca na IDE da Plataforma Arduino.
Esse procedimento não é complexo. A partir da versão 1.6.0, a
instalação das bibliotecas é feita diretamente na IDE. Veremos os
passos para a instalação da biblioteca “Ultrasonic.h” que
será utilizada no programa de medição de distância.

Internet das Coisas: Arduíno - Tema 3


7
Internet das Coisas: Arduíno

Passo 1: Anotações
Acesse o gerenciador de bibliotecas.

Passo 2:

No gerenciador de bibliotecas você verá o local para digitar


a biblioteca que deseja instalar. Digite Ultrasonic. Depois use a
barra de rolagem para encontrar a biblioteca ultrasonic-library-
-master e clique para fazer a instalação.

Internet das Coisas: Arduíno - Tema 3


8
Internet das Coisas: Arduíno

Fique Atento Anotações


Algumas versões da IDE da Plataforma Arduino podem não
aparecer na biblioteca Ultrasonic-library-master. Nesse caso,
como sugestão, você pode optar por instalar a biblioteca
Ultrasonic. A única diferença é que o comando “ultrasonic.
Ranging(CM)” será substituído pelo comando “ultrasonic.
read()” e as demais observações no programa serão exatamente
as mesmas. Verifique outras bibliotecas e compare as mudanças
nos comandos. Você observará que são bem semelhantes.

Dica
A IDE da plataforma Arduino já tem um número significativo
de bibliotecas testadas e algumas com várias versões. Toda
vez que você abrir a plataforma Arduino e estiver conectado
à internet, o programa de atualização verificará a existência
de novas bibliotecas que já foram largamente testadas e
podem fazer parte da plataforma Arduino, bastando para isso
instalar e começar a usar. Lembre-se que para a utilização da
biblioteca é necessário seguir os passos anteriores para que a
biblioteca seja instalada.
Obs: Como sugestão, você deve fazer uma pesquisa sobre
outras formas de instalação de bibliotecas na plataforma
Arduino.

Explorar
Feita a instalação da biblioteca Ultrasonic, automaticamente
aparecem mais opções de comandos que fazem parte da
biblioteca. Uma forma de verificar esses novos comandos é
realizar uma pesquisa sobre a biblioteca no Google.
Outra forma é pesquisar no endereço https://www.arduino.cc/
en/Reference/Libraries. Neste link, você encontrará todas as
informações sobre os comandos de inúmeras bibliotecas e com
muitos exemplos.
Explore esses novos comandos e faça pesquisas sobre outras
bibliotecas.

Internet das Coisas: Arduíno - Tema 3


9
Internet das Coisas: Arduíno

Vamos à montagem! Anotações


Observe agora a Figura.

Assista ao vídeo e use os detalhes da figura para que não


cometa erros durante a montagem.

Para assistir ao vídeo, acesse o


Montagem usando link: https://player.vimeo.com/
Sensores Digitais video/304213991

Curso
Internet das coisas:

ARDUINO

Internet das Coisas: Arduíno - Tema 3


10
Internet das Coisas: Arduíno

Observe que alguns dos sensores usados pela plataforma


Anotações
Arduino já vem quase prontos para a utilização. Sempre
tem nesses sensores a indicação VCC e GND. Isso é quase
um padrão. VCC significa +5V e deve ser ligado no pino
correspondente. Para a ligação GND existem três pinos que
podem ser usados. Para cada tipo de sensor, existirá um ou
mais pinos que tem a função de enviar o sinal correspondente.

Feita a montagem basta digitar o seguinte programa:

Vamos analisar cada linha de comando para compreender


integralmente o programa.
#include “Ultrasonic.h”
O comando #include faz a inclusão da biblioteca ultraso-
nic.h no nosso programa. Deve ser o primeiro comando quando
formos utilizar uma biblioteca específica. Em alguns exemplos de
programas será necessário incluir outras bibliotecas. Para cada
uma delas é necessário o comando #include.
int distancia;
O comado int já foi usado em exemplos anteriores e é sim-
plesmente a criação de uma variável do tipo inteira para armaze-
nar o valor da distância calculada pelo sensor durante a execução
do programa.

Internet das Coisas: Arduíno - Tema 3


11
Internet das Coisas: Arduíno

Anotações

Ultrasonic ultrasonic(11,12);
Esse é um dos comandos mais importantes desse programa.
Esse comando diz para o compilador quais pinos serão usados
pelo sensor e em que ordem. O primeiro parâmetro é o pino
usado para ser ligado ao pino Trig do sensor; o segundo é o pino
usado para ser ligado ao pino Echo do sensor. Esse comando
facilita muito o uso do sensor com a biblioteca. Se você desejar
poderá mudar os números 11 e 12 por quaisquer outros pinos do
Arduino, desde que sejam pinos digitais. Lembrando sempre da
sequência: primeiro Trig e depois Echo. Um outro detalhe muito
importante desse comando é o nome que você pode escolher no
seu programa. A primeira palavra Ultrasonic (a que inicia com
letra maiúscula) faz parte da biblioteca, mas a segunda palavra
pode ser qualquer palavra que você quiser, desde que não utilize
palavras que são comandos de programação.

Internet das Coisas: Arduíno - Tema 3


12
Internet das Coisas: Arduíno

Exemplo Anotações
Poderíamos usar Ultrasonic metros(11,12);

Não poderíamos usar Ultrasonic pinMode(11,12);

Uma grande vantagem do uso das bibliotecas é que não há


necessidade de indicar no programa que os pinos 11 e 12 são
entradas ou saídas. Isso tudo já foi feito através do comando
Ultrasonic ultrasonic (11,12);

Serial.begin(9600);
Esse comando já foi usado no programa anterior, ele simples-
mente abre a comunicação entre o computador e a Plataforma
Arduino e assim poderemos ver os valores calculados no
programa.

Internet das Coisas: Arduíno - Tema 3


13
Internet das Coisas: Arduíno

distancia= ( ultrasonic.Ranging(CM));
Anotações
Esse é o mais importante dos comandos do programa, pois
grava na variável distancia o valor já calculado em cm. É
muito interessante saber que por trás desse comando tem uma
sequência de ações que é mais ou menos a seguinte: enviar um
comando através do pino 11 ao sensor para que um som de altís-
sima frequência seja enviado para que ele atinja um obstáculo e
seja refletido; captar através do microfone do sensor o som emi-
tido e enviar pelo pino 12; calcular o tempo que demorou entre
enviar o som e receber de volta; fazer os cálculos para determinar
a distância em cm. Nesse momento, percebemos o quanto o uso
de uma biblioteca facilita o uso de sensores.
Essa biblioteca é tão versátil que se utilizássemos o comando
distancia= ( ultrasonic.Ranging(INC));
Trocando CM por INC o resultado será a medida da distância
em polegadas.

Internet das Coisas: Arduíno - Tema 3


14
Internet das Coisas: Arduíno

Serial.print(“Distância = “); Anotações


Esse comando escreverá na tela do monitor a expressão
Distância =. Como o comando foi print o cursor continua na
mesma linha aguardando o próximo comando de escrita.
Serial.print(distancia);
Aqui o que será escrito é o valor da variável distancia.
Note que há uma diferença importante em relação ao comando
anterior: naquele caso a expressão Distância = estava entre
aspas e aqui a palavra distancia é exatamente igual ao nome da
variável. Portanto, será escrito o valor atual que essa variável tem.
Novamente o comando usado é print, fazendo com que o cursor
permaneça na mesma linha e o próximo comando de escrita con-
tinuará logo após o valor da variável distancia.

Serial.println(“ cm”);
Nesse comando, apenas a palavra cm será escrita e, como
foi usado o comando println, será finalizada a linha e inicia-
da uma nova linha. O próximo comando de escrita será então na
próxima linha.

Internet das Coisas: Arduíno - Tema 3


15
Internet das Coisas: Arduíno

delay(500); Anotações
Esse comado define uma pausa de 500 milissegundos, ou 0,5
segundo, para o próximo comando. Isso para que a escrita dos
valores no serial monitor não fique muito rápida, facilitando a lei-
tura dos valores.
Veja que o programa é bem simples com o uso da biblioteca.
Isso será bastante comum na Plataforma Arduino. Releia o pro-
grama para fixar.

Sensores ultrassônicos são muito usados atualmente em


muitos produtos que vemos no dia a dia. Eis alguns exemplos:
• Sensores de estacionamento nos carros que auxiliam o
motorista na hora de estacionar.
• Aparelho para auxílio de deficientes visuais, pois esses
aparelhos ajudam a detectar obstáculos.
• Em alguns shopping centers existe uma forma de geren-
ciamento automático de disponibilidade de vagas. Em

Internet das Coisas: Arduíno - Tema 3


16
Internet das Coisas: Arduíno

cada vaga do estacionamento foi instalado um equipa- Anotações


mento que detecta quando não há carro estacionado na
vaga e aciona uma luz verde, visível de longe, indicando a
outros motoristas que a vaga não está ocupada. Caso haja
carro estacionado na vaga, uma luz vermelha fica acesa
indicando que a vaga está ocupada.
Esses equipamentos usados em shopping centers utilizam
dois sensores como os que estudamos nessa seção. Ele fica ins-
talado no teto da vaga de estacionamento e fica o tempo todo
medindo a distância entre o teto e o que tem abaixo dele. Quando
um carro é colocado na vaga, os sensores detectam que houve a
mudança da distância e informam ao equipamento que muda a
cor da luz.
Agora, é interessante entender o motivo pelo qual esse equi-
pamento usa dois sensores em cada vaga. Os sensores são ins-
talados com uma distância entre si e com ângulo tal que só será
acionado se os dois sensores detectarem um objeto ao mesmo
tempo. Assim, ele detecta quando é teto de um carro, mas ignora
a presença de uma pessoa na vaga. Isso é importante para que o
equipamento possa ser preciso e eficiente.
Sensores de ultrassom são muito versáteis e podem ser a base
de muitos projetos e equipamentos que você poderá construir.
Faça algumas pesquisas na internet e descubra projetos sobre
esse sensor. Todos os projetos envolvendo sensor ultrassônico
tem na sua base o programa que usamos nessa seção. Seja auda-
cioso e tente construir equipamentos baseados nele.
Outros sensores digitais têm o seu funcionamento bem pare-
cido. A base de todos é sempre a mesma. Você encontrará os
pinos de alimentação VCC e GND. Dependendo do sensor, 1 ou 2
pinos de sinal podem ser necessários.

Dica
Para ter acesso às Atividades
Na internet, os projetos são muito bem documentados, de Estudo, veja as telas
existem muitos vídeos e fóruns de discussões. Aproveite interativas do curso.
essas oportunidades para melhorar o seu aprendizado.

Internet das Coisas: Arduíno - Tema 3


17
Internet das Coisas: Arduíno

Concluímos o Tema 3, no qual experimentamos conceitos e


Anotações
comandos relativos aos sensores digitais. Vamos estudar, na
próxima seção, o último conteúdo proposto para este curso:
os fundamentos de automação. Com este conhecimento,
associado aos dos demais temas estudados, será possível
desenvolver diversos projetos com a placa de Arduino,
contando com sua ousadia e criatividade!

Internet das Coisas: Arduíno - Tema 3


18
Tema 04
Fundamentos de
Automação com
a Plataforma Arduino

1
Internet das Coisas: Arduíno

Objetivos do Tema
Anotações
• Compreender os fundamentos da automação usando a
plataforma Arduino.
• Utilizar e compreender o funcionamento de pinos especiais
da plataforma Arduino.
• Montar um exemplo de uma simples automação com motores.
• Apresentar exemplos mais complexos do uso da plataforma
Arduino em projetos de automação.

Materiais Necessários
Você precisará dos seguintes materiais para estudar o Tema 4:

Plataforma Arduino Uno Rev3

Placa protoboard 830 pontos

Ponte H modelo L298N

Internet das Coisas: Arduíno - Tema 4


2
Internet das Coisas: Arduíno

3 leds
Fios de cores
jumpers do tipo(vermelho,
macho-machoverde e
e fêmea-
Anotações
amarelo).
fêmea pelo menos 5 unidades de cada

Potenciômetro de 10k

3 leds de cores
Motor DC com(vermelho,
redução e rodaverde e
Bateria de 9 V e clip
amarelo).

Internet das Coisas: Arduíno - Tema 4


3
Internet das Coisas: Arduíno

Sensor de umidade de solo Anotações

Fundamentos de Automação com a


Plataforma Arduino
A automação é uma área da engenharia que se dedica a tornar
processos e equipamentos capazes de efetuar atividades com a
mínima ou sem nenhuma interferência humana.
Automatizar é tornar algo capaz de fazer uma atividade ou
processo de forma autônoma.
Essa é uma tendência nos dias atuais, pois, com o avanço da
tecnologia, a automatização ficou mais simples e acessível a um
grande número de pessoas.
Um dos objetivos dos criadores da Plataforma Arduino é
aproximar a automação e as pessoas. Existem muitos projetos na
internet de automação utilizando a Plataforma Arduino.
Alguns exemplos de automação:
Monitoramento de ambientes:
• Movimentos.
• Presença de gases.

Automação residencial:
• Controle de temperatura.
• Irrigação automática de um jardim.
• Alimentação de animais.

Internet das Coisas: Arduíno - Tema 4


4
Internet das Coisas: Arduíno

Automação comercial : Anotações


• Controle de acesso.
• Controle de iluminação com movimentos.
Neste Tema, aprenderemos fundamentos da automação
e mostraremos exemplo de uma montagem que o auxiliará a
entender como controlar um motor DC (Direct Current ou corren-
te contínua).
E mais: essa montagem poderá ser adaptada para outros tipos
de automação. O princípio é o mesmo. Você poderá desenvolver
seus próprios projetos com os conhecimentos adquiridos ao estu-
dar este Tema.
Todo sistema de automação é composto com pelo menos três
elementos: sensor, controlador e atuador.
Os sensores são responsáveis por levarem ao controlador as
informações externas importantes ao sistema de automação.
O controlador fará a interpretação dos sensores e tomará a
decisão programada para aquela situação naquele sistema.
Após a leitura dos sensores e a tomada de decisão, o contro-
lador enviará ao atuador informações para que ele possa agir e
executar a ação para a qual foi projetado.
Um exemplo para esclarecer a respeito de um sistema de auto-
mação: um equipamento que faz a irrigação automática de uma
horta. São usados sensores de umidade de solo para identificar a
quantidade de água em determinado local. Os sensores enviam
essas informações para o controlador que processa os dados
recebidos e toma a decisão de irrigar ou não determinada área.
Ao decidir por irrigar, envia ao atuador, que nesse caso pode
ser uma bomba de água, um comando para que seja realizada a
irrigação.
Podemos comparar os elementos de um sistema de automa-
ção com um ser humano. Os sensores fazem o papel dos sentidos:
audição, olfato, tato, visão e paladar. O controlador é o cérebro,
que recebe as informações dos sentidos e decide o que fazer. Os
atuadores são os membros do corpo: braços e pernas.
Observe que em um sistema de automação é comum existirem
vários sensores e vários atuadores, mas apenas um controlador.

Internet das Coisas: Arduíno - Tema 4


5
Internet das Coisas: Arduíno

Nada impede que tenha também vários controladores, mas assim


mesmo terá um controlador que fará o gerenciamento dos demais. Anotações
Você já deve ter percebido que a Plataforma Arduino fará o
papel de controlador. Os sensores poderão ser do tipo analógicos
ou digitais, conforme visto anteriormente. A Plataforma Arduino
é um equipamento capaz de receber informações de sensores
e enviar comandos para atuadores. Desenvolver um sistema de
automação é fazer a escolha apropriada de sensores e de atuado-
res. O sistema fará a leitura dos sensores e decidirá o que fazer e
indicar como os atuadores agirão.
Existe um detalhe importantíssimo para desenvolver um sis-
tema de automação: a Plataforma Arduino não tem capacidade
de controlar diretamente alguns atuadores, um motor por exem-
plo. Motores DC exigem tensões e correntes bem superiores as
que os pinos da Plataforma Arduino podem fornecer. Os pinos da
Plataforma Arduino fornecem no máximo 5V por 40mA. Isso é
muito pouco para qualquer motor DC.

Explorar
Faça uma pesquisa sobre motores DC, procure entender os tipos, as
tensões, as correntes que utilizam e onde são usados. Essa pesquisa
será bastante útil para o seu aprendizado sobre sistema de automação.

O que fazer, então, para que a Plataforma Arduino possa con-


trolar um motor? Para isso existem outros dispositivos que auxi-
liam a Plataforma Arduino a controlar motores ou outros atuado-
res como, por exemplo, relés.

Explorar
Um desses dispositivos é a ponte H. Esse dispositivo é largamente usado
em montagens com a Plataforma Arduino. Existe diversos modelos de
pontes H. Um dos modelos mais usados é o da figura ao lado.

Esse modelo é capaz de controlar até dois motores DC e tra-


balham com tensão máxima de 36V e corrente máxima de 2A.
Esses parâmetros são muito bons para serem usados em um
grande número de projetos de automação.
No nosso caso mostraremos como usar esse modelo e como
controlar essa ponte H com a Plataforma Arduino.

Internet das Coisas: Arduíno - Tema 4


6
Internet das Coisas: Arduíno

Observe a figura. Vamos aprender sobre a função de todos os Anotações


pinos dessa ponte H.

Motor 1 e Motor 2: Esses pinos são para encaixar as conexões


dos motores a serem controlados. A ponte da ilustração pode
controlar até dois motores de forma independente. Ela pode
também controlar um motor de passo. Motor de passo é um tipo
especial de motor DC. São usados em projetos que necessitem de
precisão, como por exemplo impressoras 3D (três dimensões) ou
máquinas do tipo CNC (Computer Numeric Control ou Comando
numérico computadorizado). Nesse curso, não trabalharemos
com motores de passo. Mas, isso não impede que você pesquise
para aprender como é feito o controle desse interessante motor.
6-35v: Esse pino é a entrada de voltagem para alimentação
dos motores. Observe que o intervalo de valores é bem extenso:
de 6 a 35 volts. Isso é uma ótima característica, pois permite que
possam ser usados vários tipos de motores. Essa entrada repre-
senta o positivo da alimentação que será usada.
GND: Esse é o negativo para alimentação.

Internet das Coisas: Arduíno - Tema 4


7
Internet das Coisas: Arduíno

5V: Esse é um pino de saída de alimentação. Pode ser usado


para alimentar o controlador e com ela não é necessário usar
Jumper plástico ligando
outra fonte de alimentação. Para que esse pino possa ser usado é os dois pinos
necessário que seja ativado o pino Ativa 5V.
Ativa 5V: Essa ponte H utiliza um circuito integrado que tem
internamente um regulador de 5 V, o que garante essa voltagem
no pino 5V. Um jumper ligando os dois pinos ativa a voltagem do
pino 5V. Jumper é uma ligação móvel entre dois pinos ou partes
de um circuito eletrônico; pode ser uma peça plástica que conduz
eletricidade entre dois pinos, como exemplificado na figura ao
lado, ou os fios com conectores que já usamos antes no curso.
Abaixo do pino 5V, existem 8 pinos que servirão para o con-
trole efetivo dos motores, sendo que dois estão alinhados mais
atrás do que os demais.
Para cada motor é necessário usar três pinos, dois para o contro-
le do sentido do motor e um pino para o controle da sua velocidade.
Para o controle de velocidade usaremos uma função especial da
Plataforma Arduino, chamado de PWM (Pulse Width Modulation)
sobre a qual já falamos na primeira parte do curso. Mas, as carac-
terísticas dessa função especial serão detalhadas em breve.

Pino alinhado atrás

Pino alinhado atrás

Internet das Coisas: Arduíno - Tema 4


8
Internet das Coisas: Arduíno

Ativa Motor 1: Serve para o controle de velocidade do motor


servindo também para garantir que o motor fique parado quando
Anotações
for necessário e é identificado como ENA. Esse pino da ponte H
deve ser ligado aos pinos especiais da Plataforma Arduino, que
são marcados com um “ ~ “, indicando que são os pinos PWM: 3,
5, 6, 9, 10 e 11. Caso seja usado um jumper nesse pino da ponte H
ligando ao pino que está atrás dele, o motor funcionará somente
com a velocidade máxima.
Ativa Motor 2: Função idêntica a Ativa Motor 1, identificado
com a sigla ENB.

Jumper

Jumper

Entrada: Esses quatro pinos são para o controle de sentido de


rotação dos motores, dois pinos para cada motor. São identifica-
dos como IN1, IN2, IN3 e IN4. Eles podem ser ligados a qualquer
um dos pinos da Plataforma Arduino. Falaremos como fazer o
controle do sentido de rotação do motor no momento da análise
do programa.
Sempre que for preciso o controle de um motor pela
Plataforma Arduino será necessário o uso da ponte H. Como o
próprio nome diz esse dispositivo é uma ponte que serve de liga-
ção entre o motor e a Plataforma Arduino.

Internet das Coisas: Arduíno - Tema 4


9
Internet das Coisas: Arduíno

Pinos Especiais de Controle da Anotações


Plataforma Arduino
Na primeira parte do curso, apresentamos os pinos digitais da
Plataforma Arduino.
Naquela ocasião, foi mostrado que havia seis pinos com mais
de uma função. É a função PWM, cuja sigla vem do inglês e signi-
fica Pulse Width Modulation, que tem como tradução Modulação
por Largura de Pulso.
Esse método é uma forma de fazer com que um pino digital
alterne os valores de 0V e 5V muito rapidamente. Isso cria uma
chamada onda quadrada, onde a parte de cima da onda seja o
equivalente a 5V e a parte debaixo a 0V. Veja a figura a seguir.

Variando-se os tempos em que a saída fica com 5V ou com 0V


é possível simular um sinal analógico. Esse sinal serve muito bem
para controlar a velocidade de um motor ou o brilho de um led.
Compreenda assim: se eu ficar ligando e desligando um motor
bem rapidamente ele não vai parar nunca, pois não dará tempo
de parar completamente antes de ele ser ligado novamente.
Agora, se o tempo em que eu deixar o motor ligado for menor
que o tempo que ele fica desligado, mesmo não parando, a sua
velocidade será menor. Acontece justamente o oposto se o
tempo em que ficar ligado for maior que o tempo em que estiver
desligado, a sua velocidade será maior.
Por isso, esse método é chamado de modulação por largura
de pulso. Quanto maior a largura do pulso em que a saída fica
ligada, maior a velocidade de um motor ou o brilho de um led.

Internet das Coisas: Arduíno - Tema 4


10
Internet das Coisas: Arduíno

No caso da Plataforma Arduino seu processador funciona com Anotações


8 bits, o que significa dizer que é possível fazer até um número de
256 variações de largura de pulso. O que dá uma variação de até
256 velocidades diferentes ou brilhos diferentes. Obviamente não
será fácil a percepção da mudança para valores muito próximos.
O comando que aciona a função PWM é o analogWrite(pi-
no,valor). Onde o nome “pino” deve ser trocado pelo número
do pino que deseja usar. Aqui cabe a importante observação que
a Plataforma Arduino tem seis pinos capazes de receber esse
comando. Somente esses pinos deverão ser usados para esse
comando. São eles: 3, 5, 6, 9, 10 e 11. Na Plataforma Arduino
observa-se o sinal “ ~ ” na numeração desses pinos. O nome
“valor” deve ser substituído por um número inteiro entre 0 e 255.
Vamos a alguns exemplos:
Exemplos válidos para o comando analogWrite
(pino,valor):
analogWrite(3,126);
analogWrite(5,222);
analogWrite(11,0);
analogWrite(9,50);
Exemplos não válidos para o comando analogWrite
(pino,valor):
analogWrite(4,200); o número de pino precisa indicar
um que seja PWM .
analogWrite(5, 10,5); só pode existir um número
para o valor.
analogWrite(6,1200); valor deve ser menor do que o
limite máximo que é 255.
analogWrite(9, -125); valor deve positivo.
Uma forma bem simples de verificar o funcionamento do
comando analogWrite é realizando a montagem conforme a
figura a seguir.

Internet das Coisas: Arduíno - Tema 4


11
Internet das Coisas: Arduíno

Anotações

E depois digite o seguinte programa na IDE da Plataforma


Arduino:

Observe que esse programa é bem simples. Você poderá


observar durante execução que o brilho do led varia de três
formas, apagado, com brilho médio e brilho total. Você poderá
aumentar o número de variações e verificar a mudança no brilho
do led conforme muda os valores entre 0 e 255. E como última
atividade usando a mesma montagem abra o programa exemplo
“Fade” que é encontrado logo depois da aba “Basics”.

Internet das Coisas: Arduíno - Tema 4


12
Internet das Coisas: Arduíno

Anotações

Esse programa “Fade” apresenta o efeito usado em árvores de


natal. O brilho da lâmpada varia de apagada até ao brilho máximo,
retorna ao brilho mínimo até apagar e aí recomeça a aumentar o
brilho. É um efeito bem interessante para decorações.
Veja a listagem do programa e procure compreender o que
o programa faz. Existem dois comandos que fazem com que o
valor do brilho do led seja aumentado a cada 30 milissegundos
até chegar ao valor máximo, e depois é diminuído a cada 30 milis-
segundos até chegar a um valor mínimo. Com isso é conseguido o
efeito “Fade” que faz o led ficar “pulsando” o seu brilho. Observe
que o uso do comando analogWrite é bem simples, mas traz
excelentes possibilidades para a automação.

Montagem de uma Automação Simples


Usando Motores DC
Agora faremos uma montagem utilizando um motor DC,
a ponte H e a Plataforma Arduino para mostrar como fazer a
ligação do motor e como é um programa para o controle de
motor DC. Assista ao vídeo para você saber o que faremos nessa
montagem.

Internet das Coisas: Arduíno - Tema 4


13
Internet das Coisas: Arduíno

Para assistir ao vídeo, acesse o


Controle de motores DC link: https://player.vimeo.com/
video/304213933

Os detalhes da montagem estão na figura ao lado. Observe


com bastante cuidado para não cometer erros, pois a troca de
algum fio pode ocasionar problemas e consequentemente o não
funcionamento da montagem. Esse deve ser um hábito a ser cul-
tivado. A conferência minuciosa de qualquer montagem é fun-
damental. Em automação usamos o ditado, “a perda de alguns
minutos na conferência, pode gerar o ganho de muitas horas de
sossego ou vice-versa”.
Observe que na montagem usamos dois tipos de jumpers:
macho-macho e o do tipo fêmea-fêmea. Isso é necessário, pois
para a ligação com a ponte H precisamos de jumper do tipo fêmea
e para ligar a Plataforma Arduino precisamos de jumpers do tipo
macho.
Segue abaixo a listagem do programa.

Internet das Coisas: Arduíno - Tema 4


14
Internet das Coisas: Arduíno

Esse programa é semelhante ao primeiro que fizemos nessa Anotações


seção. Só que aqui estamos controlando a velocidade de rota-
ção de um motor. Vamos ao detalhe de cada comando desse
programa.
int velocidade=255;
Esse comando já é bem conhecido. Ele define uma variável
chamada velocidade para armazenar o valor da velocidade na
qual o motor irá girar. O valor guardado na variável velocidade
será passado através do comando analogWrite. No nosso
caso o valor da variável é o valor máximo, 255. Para compreender
melhor o funcionamento desse programa, você deverá mudar
esse valor e recarregar o programa para que a nova velocidade
faça efeito. Caso coloque o valor 0, o motor ficará parado, se colo-
car o valor 150, o motor deverá ter uma rotação mediana, e assim
por diante.

pinMode (2,OUTPUT);
pinMode (3,OUTPUT);
pinMode (4,OUTPUT);
Esses três comandos são iguais e são bastante comuns em
todos os programas. Os três pinos são definidos como saídas.
Nesse programa estamos explorando a função PWM e usaremos
o pino 3 que tem essa função para o controle de velocidade do
motor.
digitalWrite (2,LOW);
analogWrite(3,velocidade);
digitalWrite(4,HIGH);

Internet das Coisas: Arduíno - Tema 4


15
Internet das Coisas: Arduíno

Esses três comandos trabalham juntos. O comando digi- Anotações


talWrite já foi usado em programas anteriores. A novidade é
o comando analogWrite que aciona a função PWM no pino 3.
Nesse caso, essa sequência de comandos faz com que o motor
gire para um determinado sentido e com a velocidade definida
pelo valor da variável velocidade. Faça a seguinte inversão dos
valores dos comandos: digitalWrite(2,HIGH) e digi-
talWrite(4,LOW). Isso fará com que a rotação do motor seja
invertida.
Observe que o controle de um motor DC com a Plataforma
Arduino e uma ponte H é feita com apenas três comandos. É, por-
tanto uma atividade bem simples.
Caso você queira fazer o controle de outro motor DC, basta
replicar esses comandos, escolher um novo pino PWM para o
controle da velocidade e outros dois pinos que não precisam ser
PWM para o controle do sentido da rotação. Os motores podem
ser controlados de formas independentes.

Motor 1

Motor 2

Experimente fazer modificações nesse programa para com-


preender bem como o controle de um motor DC é feito. Entenda
também que no lugar desse motor DC poderia ser colocado, por
exemplo, uma bomba de água para criar um sistema de irrigação
para uma horta. Faça uma pesquisa na internet sobre outros siste-
mas de automação. O princípio será sempre o mesmo. A Plataforma
Arduino servirá como o cérebro para esse sistema e deverá ser ligado
a outros dispositivos que servirão para controlar os atuadores.
No caso realizado, para controlar o motor DC não foi usado nenhum
sensor, mas nada impede que algum tipo de sensor seja usado. Para ter acesso às Atividades
de Estudo, veja as telas
Vamos à prática! interativas do curso.

Internet das Coisas: Arduíno - Tema 4


16
Internet das Coisas: Arduíno

Automação Mais Complexa com a Anotações


Plataforma Arduino
Na automação é talvez onde encontraremos os maiores
exemplos de utilização da Plataforma Arduino em projetos de
ordem prática. Na internet, existem milhares de exemplos de
dispositivos que usam essa fabulosa plataforma como base.
Apresentaremos, a seguir, algumas aplicações mostrando o
quanto é importante o aprendizado da Plataforma Arduino.

Automação Residencial

A automação residencial é um ramo em pleno


desenvolvimento. Antes restrito a um número muito pequeno
de pessoas devido ao alto custo, hoje bastante acessivo
principalmente pelo aparecimento da Plataforma Arduino.
Aparelhos que controlam luzes da casa através do celular, ou
de forma autônomas são facilmente desenvolvidos com o
uso de relés e lâmpadas.

Para assistir ao vídeo, acesse o


Controle de motores DC link: https://www.youtube.com/
watch?v=nSOSvIElKdU

Internet das Coisas: Arduíno - Tema 4


17
Internet das Coisas: Arduíno

Decorações em Geral

Um dispositivo que faz muito sucesso entre os usuários


da Plataforma Arduino é o cubo de led. Um aparelho de
decoração composto por muitos leds. Temos exemplos
de cubos formados por 64 leds, 256 leds e até 512 leds.
Esses cubos fazem desenhos diversos acendendo os leds
de forma organizada e independente. Existem centenas
de projetos bem detalhados de como fazer e mostram o
programa pronto. Não necessitando de muita experiência.
Veja a figura ao lado que mostra um cubo com 512 leds.

Cubo decorativo.
Brinquedos Muito Divertidos

Depois do aparecimento da Plataforma Arduino, os usuários


e hobbystas inventaram muitos tipos de brinquedos.
Insetos, robôs autônomos e drones são os preferidos.
Alguns microempreendedores tem comercializado
kits de brinquedos baseados na Plataforma Arduino. O
mercado de brinquedos eletrônicos tem crescido bastante
e impulsionado uma área da educação que é a robótica.
Profissionais capacitados nessa área estão sendo muito
disputados por escolas. Veja alguns exemplos ao lado de
brinquedos que ajudam a entender a área da robótica.

Exemplos TOP 10 PROJETOS


Anualmente é uma prática dos usuários da Plataforma Arduino
a divulgação dos projetos que mais se destacaram no ano.

Ampliar conhecimentos
Veja o vídeo a seguir e alimente ao máximo suas ideias.
Seja audacioso, se aventure no universo da Plataforma
Arduino! Tenha plena convicção de que é possível fazer
cada um dos exemplos apresentados, bastando um pouco
de dedicação.
Brinquedos feitos com Arduino.

Internet das Coisas: Arduíno - Tema 4


18
Internet das Coisas: Arduíno

Para assistir ao vídeo, acesse o


link: https://www.youtube.com/
watch?v=QUQta4f_87E

Veja que existe atualmente uma imensa indústria voltada para


a Plataforma Arduino. Aplicativos, dispositivos e muitas pessoas
interessadas em aprender e a utilizar os equipamentos baseados
nessa plataforma. Ter o conhecimento sobre essa plataforma é
uma vantagem que vai diferenciá-lo no mercado de trabalho.
Aproveite cada informação desse curso e use para se destacar em
sua profissão.

Para assistir ao vídeo, acesse o


Considerações Finais link: https://player.vimeo.com/
video/304213959

Internet das Coisas: Arduíno - Tema 4


19
Referências

MCROBERTS, Michael. Arduino Básico; [tradução Rafael


Zanolli]. -- São Paulo : Novatec Editora, 2011.

PLATT, Charles. Eletrônica para Makers; Tradução: Cláudio José


Aas –São Paulo. NOVATEC Editora, 2016

MONK, Simon. Programação com Arduino II. Porto Alegre,


Bookman Editora, 2015.

Glossário

• Analógico: referente a analogia. Sinais analógicos são


sinais contínuos cuja variação em relação ao tempo é a
representação proporcional de outra variável temporal.
Um velocímetro analógico de ponteiro, um termômetro
analógico de mercúrio e uma balança analógica de mola são
exemplos de dispositivos que contêm sinais analógicos.
• Atuador: é um elemento que produz movimento, atendendo
a comandos que podem ser manuais, elétricos ou mecânicos.
• Bit: é a menor unidade de informação que pode ser
armazenada ou transmitida, usada na Computação e na
Teoria da Informação. Um bit pode assumir somente
2 valores: 0 ou 1, corte ou passagem de energia,
respectivamente.
• Conversor: circuito que se destina a transformar sinais de um
formato para outro formato.
• Digital: que trabalha exclusivamente com valores binários (0 e 1).
• Dispositivo: conjunto de componentes físicos ou lógicos que
integram ou estão conectados , e que constituem um ente
capaz de transferir, armazenar ou processar dados.
• Fios Jumpers: Fios já preparados para fazer a ligação entre
os componentes e a plataforma Arduino.
• Led: O diodo emissor de luz, também conhecido pela sigla
em inglês LED (Light Emitting Diode),
• Modulação: processo que envolve dois sinais ondulatórios,
no qual uma variação na amplitude, frequência, intensidade
ou fase de um deles implica uma mudança correspondente
no outro sinal.
• Plataforma: padrão de um processo operacional ou de um
computador; a tecnologia fundamental em que se assenta
um sistema de computador.

20
Glossário

• Analógico: referente a analogia. Sinais analógicos são


sinais contínuos cuja variação em relação ao tempo é a
representação proporcional de outra variável temporal.
Um velocímetro analógico de ponteiro, um termômetro
analógico de mercúrio e uma balança analógica de mola são
exemplos de dispositivos que contêm sinais analógicos.
• Dispositivo: conjunto de componentes físicos ou lógicos que
integram ou estão conectados , e que constituem um ente
capaz de transferir, armazenar ou processar dados.
• Plataforma: padrão de um processo operacional ou de um
computador; a tecnologia fundamental em que se assenta
um sistema de computado.
• Conversor: circuito que se destina a transformar sinais de um
formato para outro formato.
• Digital: que trabalha exclusivamente com valores binários (0 e 1).
• Fios Jumpers: Fios já preparados para fazer a ligação entre os
componentes e a plataforma Arduino.
• Led: O diodo emissor de luz, também conhecido pela sigla
em inglês LED (Light Emitting Diode).
• Potenciômetro: resistor regulável como divisor de tensão.
• Protocolo: conjunto de características usadas para
comunicar entre dois dispositivos.
• Prototipagem: ato de fazer testes e experimentos, montar
protótipos.
• Resistor: dispositivo dotado de resistência, usado em circuitos
elétricos para proteção, operação ou controle do circuito.
• Serial: disposto em série; seriado. No caso da Plataforma
Arduino os dados serão enviados um após outro através dos
pinos RX e TX.
• Slot: conjunto de pinos dispostos lado a lado.
• Variáveis: Função atribuída a nomes na programação da
Plataforma Arduino para guardar valores.
• Versatilidade: capacidade de ser diverso nas suas habilidades,
saberes, empregos, aproveitamento.

21

Você também pode gostar