Entradas Digitais

Download Report

Transcript Entradas Digitais

ARDUINO E PROTEUS
Lendo Sensores Digitais
professor
Victory Fernandes
www.tkssoftware.com/victory
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
 NA
sensores nas entradas digitais em
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
Circuito ABERTO
mC lê 0 na entrada digital



Sensor pressionado
Circuito FECHA
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
Circuito FECHADO
mC lê 1 na entrada digital



Sensor pressionado
Circuito ABRE
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
Vout = GND = 0V
mC lê 0 entrada
Tipicamente valores altos
para drenar rapidamente
Ordem de 10kohm tipicamente



Chave FECHADA
Vout = Vin = 5V
mC lê 1 entrada
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
Vout = Vin = 5V
mC lê 1 entrada



Chave FECHADA
Vout = GND = 0V
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...
professor
Victory Fernandes
www.tkssoftware.com/victory