Arduino ile bir push düğmesi anahtarı nasıl kullanılır

How to Use a Push Button Switch with the Arduino

Push düğmesi anahtarları, cihazları kontrol etmek veya belirli eylemleri tetiklemek için elektronikte yaygın olarak kullanılır. Bir Arduino ile bir push düğmesinin durumunu kolayca okuyabilir ve projelerinizde kullanabilirsiniz. Bu öğretici, Arduino ile bir push düğmesi anahtarı ayarlama ve kullanarak, kodunuza nasıl dahil edileceğine dair örnekler size rehberlik edecektir.


Ne İhtiyacınız Olacak

  1. Arduino Kurulu (örn. UNO, Mega, Nano)
  2. Push Düğme Anahtarı
  3. 10k-OHM direnç (aşağı çekme yapılandırması için)
  4. Breadboard ve jumper telleri
  5. Arduino IDE kurulu bir bilgisayar

1. Adım: Push düğmesi anahtarlarını anlama

Push düğmesi anahtarı, basıldığında bir devreyi bağlayan veya bağlantısı kesen basit bir cihazdır. Tipik olarak, ikisi dahili olarak bağlı olan dört pine sahiptir, tek bir anahtar oluşturur.

Ortak yapılandırmalar

  • Aşağı Direnç: Düğmeye basılmadığında giriş piminin düşük okumasını sağlar.
  • Çekme direnci: Düğmeye basılmadığında giriş piminin yüksek okumasını sağlar (Arduino’nun dahili çekme direnci kullanabilir).

2. Adım: Push düğmesini Arduino'ya bağlama

Çıkış Direnç Yapılandırması

Düğme pimi Bağlantı
Bir taraf Arduino Pin 2
Diğer taraf 5V
Direnç (10k) Arduino Pin 2 ila GND

Adım 3: Düğme durumunu okumak

Kullanın digitalRead() Düğmeye basılıp basıldığını (düşük) (düşük) belirlemek için işlev.

Örnek Kodu: Temel Düğme Oku

#define buttonPin 2 // Button connected to pin 2

void setup() {
  pinMode(buttonPin, INPUT); // Set pin 2 as input
  Serial.begin(9600);
  Serial.println("Button Test");
}

void loop() {
  int buttonState = digitalRead(buttonPin); // Read the button state

  if (buttonState == HIGH) {
    Serial.println("Button Pressed");
  } else {
    Serial.println("Button Released");
  }

  delay(100); // Small delay for readability
}

Adım 4: Dahili çekme direnci kullanma

Arduino, harici bir direnç ihtiyacını ortadan kaldırarak kablolamayı basitleştirebilen yerleşik çekme dirençlerine sahiptir.

Dahili çekme için kablolama

Düğme pimi Bağlantı
Bir taraf Arduino Pin 2
Diğer taraf Gnd

Örnek Kodu: Dahili Pull-up'ı kullanma

#define buttonPin 2 // Button connected to pin 2

void setup() {
  pinMode(buttonPin, INPUT_PULLUP); // Enable internal pull-up resistor
  Serial.begin(9600);
  Serial.println("Button Test with Pull-Up");
}

void loop() {
  int buttonState = digitalRead(buttonPin); // Read the button state

  if (buttonState == LOW) { // LOW means button is pressed
    Serial.println("Button Pressed");
  } else {
    Serial.println("Button Released");
  }

  delay(100); // Small delay for readability
}

Adım 5: Düğmeyi Çıkarma

Mekanik düğmeler genellikle basıldığında gürültü veya "zıplayan" üretir ve birden fazla okumaya neden olur. Çarşamba, istikrarlı okumalar sağlar.

Örnek Kodu: Bir Düğmeyi Çıkarma

#define buttonPin 2 // Button connected to pin 2

unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50; // 50ms debounce time
int lastButtonState = HIGH;
int buttonState;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(buttonPin);

  // If the button state has changed, reset the debounce timer
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  // Check if the debounce time has passed
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;

      if (buttonState == LOW) {
        Serial.println("Button Pressed");
      }
    }
  }

  lastButtonState = reading;
}

Adım 6: Bir LED'i düğmeyle kontrol etmek

Bir LED'i kontrol etmek için düğmeyi kullanabilirsiniz. Örneğin, LED durumu her düğmeye basarak değiştirin.

Örnek Kodu: Düğme Geçiş LED

#define buttonPin 2 // Button connected to pin 2
#define ledPin 13   // LED connected to pin 13

bool ledState = false;
bool lastButtonState = HIGH;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}

void loop() {
  int buttonState = digitalRead(buttonPin);

  if (buttonState == LOW && lastButtonState == HIGH) {
    ledState = !ledState; // Toggle LED state
    digitalWrite(ledPin, ledState ? HIGH : LOW);
    delay(200); // Debounce delay
  }

  lastButtonState = buttonState;
}

Push düğmelerinin uygulamaları

  1. Başlat/Stop Anahtarları
  2. Modları seçmek için kullanıcı girişi
  3. Devrelerdeki düğmeleri sıfırla
  4. Kontrol Aydınlatma veya Aletler

Sorun giderme

  • Düğme yanıt vermiyor: Kabloları kontrol edin ve doğru pinmode kullanıldığından emin olun.
  • Kararsız okumalar: Debounce mantığı ekleyin veya bir çekme/çekme direnci kullanın.
  • LED Aydınlatma: LED yönünü onaylayın ve akımı sınırlamak için bir direnç kullanın.

Çözüm

Arduino ile durumunu okumak, debouning ve LED'ler gibi cihazları kontrol etmek de dahil olmak üzere bir push düğmesi anahtarını nasıl kullanacağınızı öğrendiniz. Push düğmeleri elektronikte temel bir bileşendir ve kullanımlarına hakim olmak sonsuz PO'yu açacaktır

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.