Button

Butonlar veya anahtarlar, bir düğmeye bastığınızda bir devreye iki nokta bağlar. Bu örnek, düğmeye bastığınızda pim 13'teki yerleşik LED'i açar.

Donanım

  • Arduino veya Genuino Kurulu
  • Anlık düğme veya Anahtar
  • 10K ohm direnç
  • bağlantı telleri
  • breadboard

Devre

Karta üç kablo bağlayın. İlk iki, kırmızı ve siyah, 5 voltluk besleme ve toprağa erişim sağlamak için breadboard'un yan tarafındaki iki uzun dikey sıraya bağlanır. Üçüncü tel, dijital pim 2'den düğmenin bir bacağına gider. Düğmenin aynı ayağı aşağı çekme direnci (burada 10K ohm) ile toprağa bağlanır. Düğmenin diğer ayağı 5 voltluk beslemeye bağlanır.

Buton açıkken (basılı değil), butonun iki ayağı arasında bağlantı yoktur, bu nedenle pim toprağa bağlanır (aşağı çekme direnci ile) ve DÜŞÜK okuruz. Düğme kapatıldığında (basıldığında), iki ayağı arasında bir bağlantı kurar, pimi 5 volta bağlar, böylece YÜKSEK okuruz.

Bu devreyi, girişi YÜKSEK tutan ve düğmeye basıldığında DÜŞÜK olacak bir çekme direnci ile ters yönde de bağlayabilirsiniz. Eğer öyleyse, eskiz davranışı tersine çevrilir, LED normalde yanar ve düğmeye bastığınızda söner.

Dijital I / O pimini her şeyden çıkarırsanız, LED düzensiz yanıp sönebilir. Bunun nedeni, girişin "yüzen" olmasıdır - yani rastgele YÜKSEK veya DÜŞÜK döner. Bu yüzden devrede bir çekme veya aşağı çekme direncine ihtiyacınız vardır.

Şematik

büyütmek için resme tıklayın

Kod


/*
  Button

  Turns on and off a light emitting diode(LED) connected to digital pin 13,
  when pressing a pushbutton attached to pin 2.

  The circuit:
  - LED attached from pin 13 to ground
  - pushbutton attached to pin 2 from +5V
  - 10K resistor attached to pin 2 from ground

  - Note: on most Arduinos there is already an LED on the board
    attached to pin 13.

  created 2005
  by DojoDave 
  modified 30 Aug 2011
  by Tom Igoe

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Button
*/

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}

See Also