Gamit ang isang switch ng pindutan ng push gamit ang Raspberry Pi

Using a Push Button Switch with the Raspberry Pi

 

Ang isang switch ng pindutan ng push ay isang simple ngunit epektibong aparato ng pag -input na madalas na ginagamit sa mga proyekto tulad ng pagsisimula o paghinto ng mga proseso, pagkontrol sa mga LED, o pag -trigger ng mga kaganapan. Ang tutorial na ito ay lalakad sa iyo sa pamamagitan ng pagkonekta ng isang push button switch sa Raspberry Pi, pag -set up ng mga kable, at pagsulat ng isang script ng Python upang makita ang mga pindutan ng pindutan.


Ano ang kakailanganin mo

  1. Raspberry Pi (Anumang modelo na may suporta sa GPIO, hal., PI 3, PI 4)
  2. Switch ng pindutan ng push
  3. Mga wire ng tinapay at jumper
  4. Risistor (10kΩ para sa pull-down)
  5. Naka -install ang Python Sa iyong Raspberry Pi
  6. GPIO Library Para sa pagkontrol sa GPIO Pins ng Raspberry Pi

Hakbang 1: Ang mga kable ng pindutan ng push sa Raspberry Pi

Gumagana ang isang switch ng pindutan ng push sa alinman sa pagkonekta sa GPIO PIN sa isang mataas na (3.3V) na estado kapag pinindot o hinila ito sa mababang (0V) kapag hindi pinindot. Gumagamit kami ng isang pull-down risistor upang matiyak na mababa ang binabasa ng GPIO pin kapag hindi pinindot ang pindutan.

Ang mga kable ng pindutan ng push

Push button pin Raspberry pi gpio pin
Isang pin Gpio17 (pin 11)
Iba pang pin Ground (pin 6)
Isang pin 10kΩ risistor sa lupa

Narito ang pag -setup ng mga kable:

  • Ikonekta ang isang terminal ng pindutan ng push sa GPIO17 (Pin 11).
  • Ikonekta ang iba pang terminal ng pindutan ng push sa Lupa (Pin 6).
  • Ikonekta ang isang 10kΩ risistor sa pagitan GPIO17 at Lupa upang kumilos bilang isang pull-down risistor.

Tinitiyak nito na kapag ang pindutan ay pinindot, ang GPIO17 ay nagbabasa ng mataas (3.3V), at kapag hindi ito pinindot, ang GPIO17 ay hinila sa mababang (0V) ng risistor.


Hakbang 2: Paganahin ang mga GPIO pin sa Python

  1. Una, i -update ang listahan ng package ng Raspberry Pi:

    sudo apt update
    sudo apt upgrade -y
    
  2. I -install ang kinakailangang library ng Python GPIO (kung hindi pa naka -install):

    sudo apt install python3-rpi.gpio
    
  3. I -import ang library sa iyong script ng Python:

    import RPi.GPIO as GPIO
    import time
    

Hakbang 3: Pagsulat ng Python Code

Ngayon, sumulat tayo ng isang script ng Python upang makita kung ang pindutan ay pinindot at kumilos nang naaayon.

Halimbawa ng Python Code

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

Paliwanag ng Code:

  • Gpio.setmode (gpio.bcm): Itinatakda ang gpio pin na may numero sa mode na BCM (Broadcom).
  • Gpio.setup (button_pin, gpio.in, pull_up_down = gpio.pud_down): I-configure ang pindutan ng pin bilang isang input na may isang pull-down risistor, nangangahulugang babasahin ito nang mababa kapag hindi pinindot.
  • Gpio.add_event_detect (): Nakita ang tumataas na gilid (pindutan ng pindutin) ng GPIO pin at nag -trigger ng callback function button_callback Kapag pinindot ang pindutan.
  • oras.Pagtulog (0.1): Pinapanatili ang tumatakbo na script, na pinapayagan itong maghintay para sa isang pindutin ang pindutan.
  • Gpio.cleanup (): Linisin ang mga setting ng GPIO kapag lumabas ang script.

Hakbang 4: Pagsubok sa pindutan

  1. Patakbuhin ang iyong script ng Python:

    python3 button.py
    
  2. Pindutin ang pindutan ng push at obserbahan ang mensahe na "pindutan ay pinindot!" sa terminal.


Hakbang 5: Mga Aplikasyon

Narito ang ilang mga ideya para sa paggamit ng pindutan ng push sa iyong mga proyekto:

  1. Kontrolin ang isang LED: Gamitin ang pindutan ng push upang i -toggle ang isang LED on at off.
  2. Mag -trigger ng isang kaganapan: Simulan o itigil ang isang proseso (hal., Magsimula ng isang motor, i -on ang isang tagahanga, o magsimula ng isang script).
  3. Smart Doorbell: Gamitin ang pindutan bilang isang doorbell upang magpadala ng isang abiso sa iyong telepono.
  4. Input ng gumagamit: Kumuha ng simpleng input ng gumagamit para sa iyong mga proyekto (tulad ng isang "oo/hindi" sagot).

Pag -aayos

  • Hindi napansin ang pindutan:

    • Tiyakin na ang pindutan ay tama na naka-wire sa pull-down risistor.
    • I-double-check ang iyong pag-setup ng GPIO PIN sa code.
  • Error sa GPIO:

    • Tiyakin na ang GPIO library ay naka -install nang maayos at na ang mga numero ng PIN sa iyong script ay tama.
  • Button bounce:

    • Kung napansin mo ang maraming mga pindutan ng pindutan na napansin, maaari kang magdagdag ng isang oras ng debounce (bouncetime=300 sa script) upang maiwasan ang mga maling pagtuklas.

Konklusyon

Ang paggamit ng isang switch ng pindutan ng push kasama ang Raspberry Pi ay isang madaling paraan upang magdagdag ng pag -andar ng pag -input sa iyong mga proyekto. Kung ito ay toggling LEDs, pag -trigger ng mga kaganapan, o pakikipag -ugnay sa iba pang hardware, ang simpleng pag -setup na ito ay maaaring maging pundasyon para sa maraming mga kagiliw -giliw na aplikasyon. Eksperimento sa iba't ibang mga GPIO pin at mga setting ng debounce upang magkasya sa iyong mga pangangailangan!

Mag -iwan ng komento

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.