O que são entradas digitais? Configurando o pino

Propaganda
O que são entradas digitais?
Cada pino do Arduino pode ter diversas funções. Na aula passada vimos como
é possível configurar um pino para saída e controlar seu estado lógico em 1
(5v) e 0 (gnd). Porém, os pinos digitais também podem ser setados como
entrada. Nesse modo, facilmente configurável, é possível ler o estado lógico de
um pino. Tal estado será determinado pela tensão presente no pino. Uma
tensão maior que 2.5V eleva o pino para estado lógico alto 1. Já, uma tensão
menor que 2.5V leva o pino a estado lógico baixo 0.
Na realidade, o limiar não é tão bem definido por uma tensão específica e
muda de CI para CI. Um pouco de histerese também poderá estar presente.
Para um melhor entendimento aconselho a leitura de um datasheet, no caso do
Arduino Mega o microcontrolador é o Atmega1280 ou Atmega2560.
Configurando o pino para entrada:
Configurar o pino para entrada é uma tarefa muito simples. Utilizaremos a
mesma função que usamos para setar como saída, porém com um argumento
diferente. Você provavelmente fará essa parte no setup.
pinMode(pino,INPUT);
Onde "pino" será o pino escolhido. Exemplo:
pinMode(10,INPUT);
pinMode(12,INPUT);
Lendo o estado de um pino:
Para ler uma entrada digital também usaremos uma função já disposta na
biblioteca padrão do Arduino, que é de fácil manuseio. A função retorna o
estado lógico do pino, que pode ser LOW ou HIGH, dependendo da tensão
presente na entrada.
digitalRead(pino);
Onde "pino" é o pino que queremos ler, veja exemplos a seguir. É
imprescindível, antes de utilizar tal função, setar o pino como entrada
com pinMode(...) como já foi visto.
char
var = digitalRead(13);
var;
Para ler o estado do pino 13 e salvar em uma variável. Ou:
if (digitalRead(6) == LOW) {
//executa ação
}
Para executar determinada ação quando o pino 6 estiver em nível lógico baixo.
Essa aula foi um oferecimento da CISTEK, líder em
instrumentos de medição para engenharia e
eletrônica.
Download