Você está na página 1de 4

2.

4 ENTRADAS DIGITAIS

Assim como eu expliquei no capítulo anterior, um pino


pode se comportar como saída, ou como entrada digital. Tudo
depende da maneira como você o configura usando o pinMode().

Uma entrada digital, tem o intuito de ler um sinal vindo de


um periférico externo; por exemplo: Imagine que você deseja
acionar uma lâmpada (saída digital), toda vez que escurecer.
Para saber quando escureceu, você pode usar um sensor digital,
e interliga-o no Arduíno. Então toda vez que o sensor enviar um
sinal digital para o Arduino, ele irá acionar a saída digital da
lâmpada.

Para lermos esse sinal vindo do sensor de luminosidade,


precisamos determinar um pino do Arduíno como uma INPUT,
dentro do pinMode.

Para se ler um sinal digital com um pino configurado como


entrada, basta usar o comando digitalRead(pino).

SINTAXE:

digitalRead(pino) // Onde pino, é a variável que contém o


número do pino, ou o número em si.

63
PROJETO#2 – Controlando um LED com um
botão:

Usando um Pushbutton para controlar o acionamento de


um LED.

O LED está conectado ao pino digital 13 do Arduíno e


acende quando o Pushbutton conectado ao pino 2 é pressionado.

* Nota: A maioria dos Arduínos já possui um LED integrado que


acende com o acionamento do pino 13.

Componentes:
• 1 - Arduino Uno
• 1 - Protoboard
• 1 - LED 5mm
• 1 - 220 Ω Resistor
• 1 - 10K Ω Resistor
• 1 - Pushbutton
• Jumpers

Diagrama:

64
/* Constantes não mudam. Elas são usadas para setar os
números dos pinos*/
const int buttonPin = 2; // Pino do Pushbutton
const int ledPin = 13; // Pino do LED

// Variáveis que vão mudar:


int buttonState = 0; // Status do Pushbutton

void setup() {

// Inicializa o pino do LED como SAÍDA:


pinMode(ledPin, OUTPUT);

// Inicializa o pino do Pushbutton como ENTRADA:


pinMode(buttonPin, INPUT);
}

void loop() {
// Lê o status do Pushbutton
buttonState = digitalRead(buttonPin);

// Checa se o Pushbutton foi pressionado


// Se pressionado a variável buttonState muda para HIGH:

if (buttonState == HIGH) {
// Liga o LED:
digitalWrite(ledPin, HIGH);
} else {
// Desliga o LED:
digitalWrite(ledPin, LOW);
}
}

65
EXERCÍCIO 6

Execute novamente o Projeto#2.

Dessa vez, invertendo a lógica, fazendo com que o LED


fique aceso quando o botão está livre, e apague quando o botão
for pressionado.

OBS: Você precisa mudar a comparação dentro do laço if()

Clique AQUI para ter acesso ao exercício resolvido.

66

Você também pode gostar