Bem vindo ao Multilógica Shop, o primeiro site a comercializar os produtos Arduino e artigos de Open Source Hardware no Brasil. Aqui você vai encontrar toda a referência de instalação e programação da plataforma Arduino traduzida para o nosso português, bem como tutoriais e exemplos. Encontre mais informações sobre como comprar clicando aqui.
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.


