Você está na página 1de 44

UNIDADE II

Ciência da Computação
Integrada

Prof. Msc. Álvaro Prado


Agenda

 Bloco I – Sensores digitais e Analógicos: definição e uso com a Arduino.


 Bloco II – Fazendo simulações com sensores no TinkerCad.
O que são sensores?

 Sensores são dispositivos que tem a capacidade de responder a um estímulo específico (luz,
vibração, temperatura, movimento, etc.) e convertê-lo em um valor de grandeza,
notadamente um sinal elétrico.

 Tal sinal elétrico pode ser utilizado para fins de medição, monitoramento ou também para
acionamento de vários dispositivos.
Sensores digitais

 Um sensor digital é um sensor eletrônico ou eletromecânico, onde os dados são lidos e


transmitidos a placa controladora, através de apenas dois níveis de tensão: alto (1)
ou baixo (0).
 Um exemplo prático é o de um simples interruptor eletromecânico, que abre e fecha seus
contatos consoante seu acionamento, mudando assim de estado.

Uma chave de final-de-curso é um


interruptor mecânico com uma alavanca que,
ao ser pressionada, fecha seus contatos. →
Fonte: autoria própria.

← Uma ampola Reed é um tipo de sensor que


fecha seus contatos na presença de um imã.
Fonte: autoria própria.
Sensores digitais

 Outros tipos de sensores digitais são capazes de ler grandezas, convertendo-as e


transmitindo-as digitalmente a placa. Esses sensores possuem dentro de si um ADC (analog-
to-digital converter), que viabilizam a saída dos dados no formato digital.

Um sensor digital tipo DHT11, capaz de →


medir temperatura e umidade.

Fonte: autoria própria.

← Sensor de presença com elemento PIR, que


comunica-se direto com a Arduino via porta digital.

Fonte: autoria própria.


Ligando sensores digitais na Arduino

 As placas Arduino possuem um conjunto de pinos digitais, que podem ser configurados tanto
para serem utilizados como entrada ou saída.
 A quantidade varia consoante o modelo da placa: a Arduino UNO possui 14 pinos digitais.
Pinos digitais: ↓

Fonte: autoria própria.


Ligando sensores digitais na Arduino

 Todos os pinos digitais são bidirecionais, ou seja, podem ser usados tanto como
entradas quanto como saídas.

 Apenas faz-se necessário que na programação esteja explícita a sua função.

 Assim, a placa pode adaptar-se com grande versatilidade a uma grande variedade de
projetos, com diferentes quantidades de sensores e atuadores.
Ligando sensores digitais na Arduino

 Os pinos de número 0 e 1 devem ser usados com cautela, pois também carregam os sinais
de TX / RX da comunicação serial do microcontrolador.
 Caso venham a ser utilizados para funções como o Serial Monitor, devem-se evitar ligações
nos mesmos.

Fonte: autoria própria. Pino 0: RX


serial
Pino 1: TX
serial
Ruído: um inimigo (nem sempre) silencioso

 Circuitos digitais tendem a oferecer certa imunidade a ruídos do ambiente (descargas


atmosféricas, “hum” de 60Hz da rede elétrica, etc.)
 Contudo, as portas do ATMEGA328 possuem grande sensibilidade, e volta e meia tais ruídos
podem induzir instabilidades nas leituras das referidas portas.
 Uma forma de eliminar tais ruídos em entradas digitais é fornecendo uma “referência” de
terra para a porta do microcontrolador.
 Isso se consegue mediante a um resistor de 10K ligado entre a mesma e o terra. Chama-se
a esse resistor “Pull-Down”.
Arranjo sem resistor “Pull-Down” Arranjo com resistor “Pull-Down”
(propenso a ruídos)
5V

5V Push-Button
Resistor -
série
Push-Button (dispensável)
Resistor - ARDUINO
série Resistor -
(dispensável) “Pull-down”
ARDUINO 10K

Fonte: autoria própria.


Sensores Analógicos

 Sensores analógicos são aqueles que permitem transformar diretamente o valor de uma
grandeza qualquer em uma variável elétrica, possibilitando a integração do valor lido a um
sistema de controle.

 Assim, eles trabalham com múltiplos valores, entre zero e um limite superior, determinado
pela tensão da fonte ou pelo quanto que o sensor pode gerar. Também podem ser
chamados transdutores.
Sensores Analógicos

 Um dos componentes mais utilizados como sensor analógico é o potenciômetro.


 Configurado como divisor de tensão ajustável, ele permite que se obtenha um valor qualquer
de tensão e seu cursor – entre zero e a tensão máxima da fonte.
Terminais

← Um potenciômetro possui três terminais;


Cursor dois fixos e um móvel, denominado cursor.

Fonte: autoria própria.


Cursor
Pista
Resistiva

← Se ligado entre uma fonte e a massa,


poderá fornecer em seu cursor qualquer
valor entre zero e a tensão da fonte.

Fonte: autoria própria.


Sensores Analógicos

 Outros tipos de sensores analógicos podem ser os termístores (resistores térmicos),


fototransistores, LDRs (resistores dependentes de luz), sensores de pressão, cápsulas
piezoelétricas, dentre outros.
 Sua utilização dependerá da aplicação e do tipo de dados que quer-se capturar do
mundo externo.
← Os termístores são componentes Fotorresistores, ou LDRs, são →
cuja resistência elétrica varia de Componentes cuja resistência varia
acordo com a temperatura. conforme a luz incidente.
Fonte: autoria própria. Fonte: autoria própria.

Sensor piezoelétrico tipo


“Moeda”.
↓ Fonte: autoria própria.
Fototransistores são componentes→
que, similarmente aos LDRs, passam
a conduzir na presença de luz.

Fonte: autoria própria.


Ligando sensores analógicos na Arduino

 As placas Arduino possuem um conjunto de pinos de entrada analógicos, com conversor


analógico-digital, já incorporado no próprio microcontrolador.
 A quantidade varia consoante o modelo da placa: a UNO possui 6 pinos analógicos.

Pinos: A0 – A5
Fonte: autoria própria.
Ligando sensores analógicos na Arduino

 Todos os pinos analógicos comportam apenas a entrada de sinais nesse modo; faz-se
necessário que na programação esteja também explícita a sua função.
 Os pinos analógicos também podem ser utilizados como entradas/saídas digitais em casos
especiais, e mediante alterações no código.
Ligando sensores analógicos na Arduino

 Os pinos A4 e A5 devem ser utilizados com certa cautela, haja visto que eles também se
destinam as conexões SDA e SCL do protocolo I2C, que permite a conexão de displays LCD,
leitores RFID, dentre outros dispositivos, através de módulos especiais.
 Em casos em que esses dispositivos forem utilizados com o I2C, recomenda-se que não se
liguem também sensores a estas portas.
Ruído: um inimigo (nem sempre) silencioso

 Circuitos analógicos tendem a sofrer grande influência de ruídos do ambiente (descargas


atmosféricas e especialmente o “hum” de 60Hz da rede elétrica, etc.)
 As portas analógicas do ATMEGA328 possuem grande sensibilidade, e volta e meia tais
ruídos podem induzir instabilidades nas leituras das referidas portas.
 Para a prevenção contra ruídos nas portas analógicas, recomenda-se o uso de fiação mais
curta possível, e quando isto não for possível, o uso de cabeamento blindado.

POS.

NEG.

GND

Cabo blindado: a malha (GND) vai ao terra, envolvendo


e protegendo o fio positivo contra ruídos do ambiente.
Fonte: avdesignguide.com
Interatividade

Marque a alternativa que corresponda a um sensor que não é analógico:

a) Potenciômetro.
b) Fototransistor.
c) LDR.
d) Chave fim-de-curso.
e) Cápsula piezoelétrica.
Resposta

Marque a alternativa que corresponda a um sensor que não é analógico:

a) Potenciômetro.
b) Fototransistor.
c) LDR.
d) Chave fim-de-curso.
e) Cápsula piezoelétrica.
Simulando no TinkerCad

 No TinkerCad, vamos criar um novo circuito.

Criar novo Circuito

Circuitos
Simulando no TinkerCad

 Antes de mais nada, vamos apanhar uma Arduino e posicionar na tela:

Bateria 1.5V Placa de ensaio


pequena

micro:bit Arduíno Uno R3

Motor de vibração Motor CC


Simulando no TinkerCad

 Da paleta dos componentes, vamos pegar um resistor e um LED. Defina o valor do resistor
para 300Ω.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Vamos efetuar as ligações como na imagem: do pino 12 da Arduino ao resistor e anodo do


LED, e do catodo ao GND.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Da paleta, insira um botão e um resistor, definindo seu valor para 10K; este será o “pull-
down”. Atenção a posição do botão.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Ligue a um dos extremos do botão um fio com os 5V da Arduino, e no outro extremo, um fio
ao pino 4. O resistor “Pull-down” vai ligado do pino 4 ao mesmo GND do LED.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Vamos a programação da placa. Na opção “código”, apanhe na aba “controlar”, um bloco


“SE, ENTÃO, OUTRO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Na opção “matemática”, apanhe um bloco de comparação – ele é o que tem formato


hexagonal – e encaixe-o na condicional do bloco “SE/ENTÃO/OUTRO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Ajuste o sinal do bloco de comparação para igualdade, e na da aba “Entrada”, adicione um


bloco “Ler pino digital” conforme imagem. Ajuste seu valor para que possa receber sinais do
pino 4.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Da aba “Saída”, apanhe um bloco “Definir pino como” e adicione-o ao espaço superior do
bloco condicional. Ajuste-o para os valores: “Definir pino 12 e como ALTO”. Da mesma
forma, insira outro bloco igual no espaço inferior da condicional, ajustando seus valores como
“Definir pino 12 como BAIXO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Clicando em “iniciar simulação”, vamos observar os resultados. Temos na programação uma


estrutura condicional que, ao reconhecer um nível alto no pino 2, aciona o LED no pino 12.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Vamos simular agora o funcionamento de um sensor analógico com a Arduino.


 Para isso, manteremos apenas o LED e o resistor de 300Ω, ligado ao pino 12,
conforme figura:
Simulando no TinkerCad

 Na aba de componentes, apanhe um potenciômetro. Em suas propriedades, defina seu valor


como 10KΩ e gire-o para ficar na posição da imagem.

Nome

Resistência

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Vamos fazer as conexões ao potenciômetro: o terminal da esquerda aos 5V da Arduino, e o


da direita, ao GND.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Simulando no TinkerCad

 Na sequência, vamos cuidar da ligação do cursor: conecte-o a entrada A0 da Arduino.


Simulando no TinkerCad

 Vamos a programação da placa. Na opção “código”, apanhe na aba “controlar”, um bloco


“SE, ENTÃO, OUTRO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Na opção “matemática”, apanhe um bloco de comparação – ele é o que tem formato


hexagonal – e encaixe-o na condicional do bloco “SE/ENTÃO/OUTRO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Na aba “Entrada”, pegue um bloco “Ler pino analógico”, conforme imagem e encaixe-o na
esquerda da condicional. Ajuste seu valor para que possa receber sinais do A0. Defina para
500 o valor na direita da condicional.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Da aba “Saída”, apanhe um bloco “Definir pino como” e adicione-o ao espaço superior do
bloco condicional. Ajuste-o para os valores: “Definir pino 12 como BAIXO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Da mesma forma, insira outro bloco igual no espaço inferior da condicional, ajustando seus
valores como “Definir pino 6 como ALTO”.

Saída Controlar
Entrada Matemática
Notação Variáveis
Simulando no TinkerCad

 Na Arduino, os valores obtidos dos pinos analógicos são convertidos para um número inteiro
entre 0 e 1024.
 Na estrutura condicional, determinamos que, para qualquer valor abaixo de 500 lido do
potenciômetro, o LED deverá permanecer apagado; e acima, aceso.
 Isso determina que, movendo o potenciômetro, o estado do LED deverá mudar
aproximadamente na metade do caminho do cursor.
Simulando no TinkerCad

 Observe que o LED deverá acender-se aproximadamente na metade do cursor.

Resistor LED

Botão Potenciômetro

Capacitor Interruptor
deslizante
Interatividade

Com o último circuito construído, experimente alterar o sinal do bloco de comparação de “<”
(menor que) para “>” (maior que). Descreva o que acontece com a simulação e justifique
o porquê.
Resposta

Com o último circuito construído, experimente alterar o sinal do bloco de comparação de “<”
(menor que) para “>” (maior que). Descreva o que acontece com a simulação e justifique
o porquê.

 A troca do símbolo “<” (menor que) para “>” (maior que) irá inverter a lógica de operação do
programa, que passará a ter o LED aceso com valores do potenciômetro menores que 500, e
apagado quando maiores.
Referências

 OLIVEIRA, C. L. V. ;ZANETTI,H. A. P. Arduino Descomplicado - Como Elaborar Projetos de


Eletrônica. Disponível em: Minha Biblioteca, Editora Saraiva, 2015.
 MONK, S. Programação com Arduino. Disponível em: Minha Biblioteca, (2nd edição). Grupo
A, 2017.
 MONK, S. Programação com Arduino II. Disponível em: Minha Biblioteca, Grupo A, 2015.
 MONK, S. 30 Projetos com Arduino. Disponível em: Minha Biblioteca, (2nd edição). Grupo A,
2014.
ATÉ A PRÓXIMA!

Você também pode gostar