Você está na página 1de 10

PUSH BUTTON

Introdução à Robótica
Ten Evelyn
PUSH BUTTON - entrada digital
Ao pressionar o botão, os polos A e B se conectam
ao C e D.
PUSH BUTTON
+
ARDUINO
=
DUAS
ALTERNATIVAS DE
MONTAGEM
1ª alternativa de montagem do circuito

A C
B D

Vamos garantir, por meio do código, que o pino 2 seja


uma entrada com nível lógico alto (5V, por default). Ao
pressionar o botão, os pontos A e C ficarão conectados.
Isso fará com que os 0V do ground (ponto C) sejam
levados ao ponto A e a leitura da entrada 2 passará ao
nível lógico baixo.
void setup() {
Serial.begin(9600);
//configura o pino 2 como entrada, com nível alto
pinMode(2, INPUT_PULLUP);
}

void loop() {
int leitura = digitalRead(2);
if (leitura == LOW) { //se o botão for apertado
Serial.println("Botao apertado");
}
}
Existe outra forma de usar o Push
Button sem o INPUT_PULLUP.
A primeira forma
que vimos (mais fácil) está no
Tinkercad com o nome "Entrada pull-up
serial".
A segunda forma está no Tinkercad com
o nome "Botão".
Vamos entender as diferenças.
2ª alternativa de
montagem do circuito

A C
B D

Quando o botão não está pressionado, os pontos B e D


não estão conectados. Assim, não há passagem de
corrente no resistor e o pino 2 recebe a voltagem 0V.
Quando o botão é pressionado, os pintos B e D se
conectam. Assim, há passagem de corrente no resistor e
o pino 2 recebe 5V.
int buttonState = 0;
void setup()
{
pinMode(2, INPUT);
pinMode(13, OUTPUT);
}
void loop()
{
buttonState = digitalRead(2);
//se o botão está em nível alto, ele foi pressionado
if (buttonState == HIGH) {
digitalWrite(13, HIGH);
} else {
//caso contrário,ele está em nível baixo e não foi pressionado
digitalWrite(13, LOW);
}
delay(10);
}
EXERCÍCIO

A partir do projeto "Botão" do Tinkercad, alterar o


código para ligar/desligar um LED com pushbutton,
como se fosse uma lâmpada ligada à tomada.
Quando o led estiver desligado e o pushbutton for
pressionado, o led deverá acender e permanecer
aceso.
Quando o led estiver ligado e o pushbutton for
pressionado, o led deverá apagar e permanecer
apagado.
Dicas: utilize uma variável global para guardar o
estado do led! Aumente o delay para que um clique
não seja "entendido" como dois cliques consecutivos.

Você também pode gostar