Você está na página 1de 51

O resultado para quem aprende Arduino

Prof. Dr. Rodrigo Galuzzi Garcia Piva


1
Arduino e Proteus
Lendo Sensores Digitais
ARDUINO E PROTEUS

• Eletrônica - Sensores
– Push-Button, Chave On/Off, Fim de Curso
– Ligação em Normal Aberto – NA
– Ligação em Normal Fechado - NF
– Resistores de Pull-up
– Resistores de Pull-down
• Arduino + Proteus
– Lendo sensores nas entradas digitais em
• NA com pull-up vs. NA com pull-down
• NF com pull-up vs. NF com pull-down
ELETRÔNICA
SENSORES
PUSH-Button
PUSH-BUTTON
 Sensor mecânico
 Detectar pressionamentos tipicamente
executados por operador
 Chave não retentiva
 Pressiona ela fecha e se soltar ela abre o circuito
No Proteus
CHAVE ON/OFF
CHAVE ON/OFF
 Sensor mecânico
 Detectar pressionamentos tipicamente
executados por operador
 Chave retentiva
 Pressiona ela fecha o circuito e fica fechada até
haver novo pressionamento
No Proteus
SENSOR de fim de curso
Sensor de fim de curso
 Sensor mecânico
 Detectar final de curso em abertura e/ou
fechamento de portas, identificar presença de
objetos etc
Por dentro...
NORMAL ABERTO - NA
vs.
NORMAL FECHADO - NF
Sensor de fim de curso
 Pode ser instalado em 2 modos:
 NORMAL ABERTO – NA

 Quando nenhuma interferência externa é


aplicada ao sensor o circuito encontra-se
ABERTO!
 NORMAL FECHADO – NF

 Quando nenhuma interferência externa é


aplicada ao sensor o circuito encontra-se
FECHADO!
Sensor de fim de curso
NA – Normal Aberto

+5VDC

Microcontrola
dor
Sensor de fim de curso
NA – Normal Aberto

+5VDC

Microcontrola
dor
Sensor de fim de curso
NA – Normal Aberto

 Sensor NÃO pressionado  Sensor pressionado


 Circuito ABERTO  Circuito FECHA
 mC lê 0 na entrada digital  mC lê 1 na entrada digital
Sensor de fim de curso
NF – Normal Fechado

+5VDC
Microcontrola
dor
Sensor de fim de curso
NF – Normal Fechado

+5VDC
Microcontrola
dor
Sensor de fim de curso
NA – Normal FECHADO

 Sensor NÃO pressionado  Sensor pressionado


 Circuito FECHADO  Circuito ABRE
 mC lê 1 na entrada digital  mC lê 0 na entrada digital
No proteus...
PROBLEMA DA
TENSÃO FLUTUANTE
• 7482 é a referência de um circuito integrado - CI
somador completo de 2 bits

C0
A2 A1
B2 B1
-----------------
C2 S2 S1
????
????
Problema da tensão flutuante

 No padrão TTL – Transistor Transistor Logic não


se pode deixar entradas com tensões flutuante
(que não estejam ligadas ao Vcc = 5V ou ao
GND=0V) sob pena do sistema não saber qual o
nível lógica da entrada e o valor poder flutuar
entre 0 e 1 aleatoriamente.
 Resistores de Pull-Down e Pull-Up resolvem
este problema!
RESISTORES DE
PULL-down e pull-up
Resistores de PULL-DOWN
Resistores de PULL-DOWN

 Chave ABERTA  Chave FECHADA


 Vout = GND = 0V  Vout = Vin = 5V
 mC lê 0 entrada  mC lê 1 entrada

Tipicamente valores altos


para drenar rapidamente
Ordem de 10kohm tipicamente
Resistores de PULL-UP
Resistores de PULL-UP

Tipicamente valores baixos


para não dar muita queda
de tensão
Ordem de 300ohm tipicamente

 Chave ABERTA  Chave FECHADA


 Vout = Vin = 5V  Vout = GND = 0V
 mC lê 1 entrada  mC lê 0 entrada
PODE SER FEITO SEM OS RESISTORES?
Resistores evitam o curto!!
Tutoriais
EXEMPLO button
Pull-down ou pull-up?
NO PROTEUS...
Botão
Leitura de Entrada Digital
Botão
Leitura de Entrada Digital
Botão
Leitura de Entrada Digital
• const int buttonPin = 2;
– Declara uma constante do tipo inteira com o nome
“ButtonPin” e atribue o valor inteiro 2 como conteúdo
da mesma.

– const int victory = 30


– const boolean verdade = true
• int buttonState = 0;
– Declara uma variável do tipo inteira com o nome
“ButtonState” e atribue o valor inteiro 0 como conteúdo
da mesma.

– const int victory = 30


– const boolean verdade = true
• value = digitalread(pin)
– Lê o nível lógico HIGH (alto) ou LOW (baixo) de um pino
de INPUT (entrada) e atribue o valor lido a variável
“value”.
• pin = Qualquer pino do microcontrolador
• value = HIGH (se pino em nivel Alto; 5V)
• value = LOW (se pino em nivel Baixo; 0V)
if (conditional){} else {}
Testa uma condição utilizando operadores de
comparação.
== testa se igual
!= testa se diferente
< testa se menor do que
> testa se maior do que
<= testa se menor ou igual
>= testa se maior ou igual
No protoboard...

Você também pode gostar