Botão

O botão é um componente que conecta dois pontos do circuito quando está pressionado. Neste exemplo quando o botão está pressionado o Led se acende.

Conectamos 3 fios à placa Arduino. O primeiro conecta uma das saídas do botão através do resistor pull-up (aqui 10 KOhms) até o suprimento de 5 volts. O segundo cabo conecta a correspondente saída do botão ao terra. O terceiro conecta ao pino digital e/s (aqui o pino 2) que faz a leitura do estado do botão.

Quando o botão está aberto (não pressionado) não há conexão entre as duas saídas do botão, então o pino está conectado aos 5 volts (através do resistor pull-up) e podemos ler um HIGH. Quando o botão está fechado (pressionado) faz a conexão entre as saídas do botão e fazendo a conexão terra, e com isso podemos ler LOW. (O pino ainda está conectado aos 5 volts, mas o resistor entre eles mostra que o pino está mais “próximo” ao terra).

Você também poderá fazer a instalação no sentido oposto com um resistor pull-down mantendo o input LOW e mudando para HIGH com o botão pressionado. Se fizer assim, o comportamento do projeto será invertido, com o Led normalmente aceso e apagando quando o botão for pressionado.

Se você desconectar o pino digital e/s de todo o resto, o Led poderá piscar com erro. Isso acontece porque o input está flutuante, isso é, ele vai mais ou menos aleatoriamente informar HIGH ou LOW. Por isso é necessário o resistor pull-up ou pull-down neste circuito.

 

Circuito

 

Code

int ledPin = 13; // choose the pin for the LED
int inPin = 2; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status

void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inPin, INPUT); // declare pushbutton as input
}

void loop(){
val = digitalRead(inPin); // read input value
if (val == HIGH) { // check if the input is HIGH (button released)
digitalWrite(ledPin, LOW); // turn LED OFF
} else {
digitalWrite(ledPin, HIGH); // turn LED ON
}
}

O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.

Esta obra está licenciada sob uma Licença Creative Commons.

Creative Commons License