Raspberry Pi ile bir push düğmesi anahtarı kullanma

Using a Push Button Switch with the Raspberry Pi

 

Push düğmesi anahtarı, işlemleri başlatma veya durdurma, LED'leri kontrol etme veya olayları tetikleme gibi projelerde sıklıkla kullanılan basit ama etkili bir giriş cihazıdır. Bu öğretici, Raspberry Pi'ye bir push düğmesi anahtarını bağlayarak, kabloları ayarlayarak ve düğmeye basmak için bir Python komut dosyası yazarak size yol gösterecektir.


Ne İhtiyacınız Olacak

  1. Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
  2. Push Düğme Anahtarı
  3. Breadboard ve jumper telleri
  4. Direnç (Aşağı çekme için 10kΩ)
  5. Python yüklü Raspberry Pi'nizde
  6. GPIO Kütüphanesi Raspberry Pi’nin GPIO pimlerini kontrol etmek için

1. Adım: Push düğmesini ahududu pi'ye bağlama

Bir push düğmesi anahtarı, GPIO pimini basıldığında yüksek (3.3V) duruma bağlayarak veya basılmadığında düşük (0V) 'e (0V) çekerek çalışır. Düğmeye basılmadığında GPIO PIN'in düşük okuduğundan emin olmak için bir aşağı iniş direnci kullanacağız.

Push düğmesini kablolama

Düğme pimi basma Raspberry Pi GPIO PIN
Tek pim GPIO17 (pim 11)
Diğer PIN Zemin (pim 6)
Tek pim Toprağa 10kΩ direnç

İşte kablolama kurulumu:

  • Push düğmesinin bir terminalini şuraya bağlayın GPIO17 (Pim 11).
  • Push düğmesinin diğer terminalini şuraya bağlayın Zemin (Pim 6).
  • 10kΩ direnç arasına bağlayın GPIO17 Ve Zemin bir çekme direnci olarak hareket etmek.

Bu, düğmeye basıldığında, GPIO17'nin yüksek (3.3V) okumasını ve basılmadığında GPIO17'nin direnç tarafından düşük (0V) 'e çekilmesini sağlar.


Adım 2: Python'da GPIO pimlerini etkinleştirin

  1. İlk olarak, Raspberry Pi’nin paket listesini güncelleyin:

    sudo apt update
    sudo apt upgrade -y
    
  2. Gerekli Python GPIO kitaplığını yükleyin (zaten yüklü değilse):

    sudo apt install python3-rpi.gpio
    
  3. Kütüphaneyi Python betiğinize aktarın:

    import RPi.GPIO as GPIO
    import time
    

Adım 3: Python kodunu yazmak

Şimdi, düğmeye ne zaman basıldığını tespit etmek için bir Python komut dosyası yazalım ve buna göre harekete geçelim.

Python kodu örneği

import RPi.GPIO as GPIO
import time

# Set up the GPIO mode and pin
GPIO.setmode(GPIO.BCM)        # Use BCM numbering
button_pin = 17               # GPIO pin connected to the button
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)  # Set up pin with pull-down resistor

# Function to detect button press
def button_callback(channel):
    print("Button was pressed!")

# Set up an event on the button pin
GPIO.add_event_detect(button_pin, GPIO.RISING, callback=button_callback, bouncetime=300)

try:
    print("Press the button...")
    while True:
        # Keep the program running to wait for button press
        time.sleep(0.1)
except KeyboardInterrupt:
    print("Program exited")
finally:
    GPIO.cleanup()  # Clean up GPIO to ensure a clean exit

Kod Açıklaması:

  • Gpio.setmode (gpio.bcm): GPIO PIN numarasını BCM (Broadcom) moduna ayarlar.
  • Gpio.setup (button_pin, gpio.in, pull_up_down = gpio.pud_down): Düğme pimini bir aşağı iniş direnci ile bir giriş olarak yapılandırır, yani basılmadığında düşük okunur.
  • Gpio.add_event_detect (): GPIO PIN'sinin yükselen kenarını (düğmeye basın) algılar ve geri arama işlevini tetikler button_callback Düğmeye basıldığında.
  • Time.sleep (0.1): Komut dosyasının çalışmasını sağlar ve bir düğmeye basmasını beklemesini sağlar.
  • Gpio.Cleanup (): Komut dosyası çıktığında GPIO ayarlarını temizler.

4. Adım: Düğmeyi test etmek

  1. Python betiğinizi çalıştırın:

    python3 button.py
    
  2. Push düğmesine basın ve “düğmesine basıldı!” İletisini gözlemleyin. terminalde.


Adım 5: Uygulamalar

Projelerinizdeki Push düğmesini kullanmak için birkaç fikir:

  1. Bir LED'i kontrol edin: Bir LED'i açıp kapatmak için Push düğmesini kullanın.
  2. Bir etkinliği tetikleyin: Bir işlemi başlatın veya durdurun (örneğin, bir motor başlatın, bir fanı açın veya bir komut dosyası başlatın).
  3. Akıllı kapı zili: Telefonunuza bir bildirim göndermek için düğmeyi kapı zili olarak kullanın.
  4. Kullanıcı girişi: Projeleriniz için basit kullanıcı girişi alın ("Evet/Hayır" cevap gibi).

Sorun giderme

  • Düğme algılanmadı:

    • Düğmenin aşağı çekme direnci ile doğru şekilde bağlandığından emin olun.
    • Koddaki GPIO PIN kurulumunuzu çift kontrol edin.
  • GPIO Hatası:

    • GPIO kitaplığının düzgün bir şekilde yüklendiğinden ve komut dosyanızdaki PIN numaralarının doğru olduğundan emin olun.
  • Düğme sıçraması:

    • Tespit edildiğini birden fazla düğme basıldığında fark ederseniz, bir debecouse süresi ekleyebilirsiniz (bouncetime=300 komut dosyasında) yanlış tespitlerden kaçınmak için.

Çözüm

Raspberry Pi ile bir push düğmesi anahtarı kullanmak, projelerinize giriş işlevselliği eklemenin kolay bir yoludur. İster LED'leri değiştiriyor, olayları tetikliyor veya diğer donanımlarla etkileşime giriyor olsun, bu basit kurulum birçok ilginç uygulamanın temeli olabilir. İhtiyaçlarınıza uyacak şekilde farklı GPIO pimleri ve debounce ayarları ile deney yapın!

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.