Använda en push -knappbrytare med Raspberry Pi

Using a Push Button Switch with the Raspberry Pi

 

En push -knappomkopplare är en enkel men ändå effektiv ingångsenhet som ofta används i projekt som att starta eller stoppa processer, kontrollera lysdioder eller utlösa händelser. Denna handledning kommer att leda dig genom att ansluta en push -knappomkopplare till Raspberry Pi, ställa in ledningarna och skriva ett Python -skript för att upptäcka knapptryckningar.


Vad du behöver

  1. Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
  2. Tryckknappsbrytare
  3. Breadboard och jumpertrådar
  4. Motstånd (10kΩ för neddragning)
  5. Python installerad på din Raspberry Pi
  6. GPIO -bibliotek för att kontrollera Raspberry Pis GPIO -stift

Steg 1: Kopplar tryckknappen till Raspberry Pi

En push -knappomkopplare fungerar genom att antingen ansluta GPIO -stiftet till ett högt (3,3V) tillstånd när det pressas eller dras det till lågt (0V) när den inte trycks. Vi kommer att använda ett neddragningsmotstånd för att säkerställa att GPIO-stiftet läser lågt när knappen inte trycks in.

Koppla av tryckknappen

Tryckknappstift Hallon pi gpio stift
Enstift GPIO17 (stift 11)
Annan stift Mark (stift 6)
Enstift 10kΩ motstånd mot mark

Här är ledningsuppsättningen:

  • Anslut en terminal på tryckknappen till Gpio17 (Stift 11).
  • Anslut den andra terminalen på tryckknappen till Jord (Stift 6).
  • Anslut ett 10KΩ -motstånd mellan Gpio17 och Jord att fungera som ett neddragningsmotstånd.

Detta säkerställer att när knappen trycks in, läser GPIO17 högt (3.3V), och när den inte trycks, dras GPIO17 till låg (0V) av motståndet.


Steg 2: Aktivera GPIO -stift i Python

  1. Uppdatera först din Raspberry Pis paketlista:

    sudo apt update
    sudo apt upgrade -y
    
  2. Installera det nödvändiga Python GPIO -biblioteket (om inte redan installerat):

    sudo apt install python3-rpi.gpio
    
  3. Importera biblioteket i ditt Python -skript:

    import RPi.GPIO as GPIO
    import time
    

Steg 3: Skriva Python -koden

Låt oss nu skriva ett Python -skript för att upptäcka när knappen trycks in och vidta åtgärder i enlighet därmed.

Python -kodexempel

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

Kodförklaring:

  • Gpio.setMode (gpio.bcm): Ställer in GPIO -stiftnumret till BCM (Broadcom) -läget.
  • Gpio.setup (knapp_pin, gpio.in, pull_up_down = gpio.pud_down): Konfigurerar knappstiftet som en ingång med ett neddragningsmotstånd, vilket innebär att det kommer att läsa lågt när den inte trycks.
  • Gpio.add_event_detect (): Upptäcker GPIO -stiftets stigande kant (knapptryckning och utlöser återuppringningsfunktionen button_callback När knappen trycks in.
  • tid. sömn (0,1): Håller skriptet igång, så att det kan vänta på en knapptryckning.
  • Gpio.cleanup (): Rengör GPIO -inställningarna när skriptet är utövat.

Steg 4: Testa knappen

  1. Kör ditt Python -skript:

    python3 button.py
    
  2. Tryck på knappen Tryck och observera meddelandet "Knappen trycktes!" i terminalen.


Steg 5: Applikationer

Här är några idéer för att använda tryckknappen i dina projekt:

  1. Kontrollera en LED: Använd tryckknappen för att växla en LED på och av.
  2. Utlösa en händelse: Starta eller stoppa en process (t.ex. starta en motor, slå på en fläkt eller initiera ett skript).
  3. Smart dörrklocka: Använd knappen som en dörrklocka för att skicka ett meddelande till din telefon.
  4. Användaringång: Få enkel användarinmatning för dina projekt (som ett "Ja/Nej" -svar).

Felsökning

  • Knappen inte upptäckt:

    • Se till att knappen är korrekt kopplad med neddragningsmotståndet.
    • Kontrollera din GPIO-stiftinställning i koden.
  • GPIO -fel:

    • Se till att GPIO -biblioteket är korrekt installerat och att PIN -numren i ditt skript är korrekta.
  • Knappstopp:

    • Om du märker att flera knapptryckningar upptäcks kan du lägga till en avslagstid (bouncetime=300 i skriptet) för att undvika falska upptäckter.

Slutsats

Att använda en push -knappomkopplare med Raspberry Pi är ett enkelt sätt att lägga till inmatningsfunktionalitet till dina projekt. Oavsett om det är växlande lysdioder, utlösande händelser eller interagerar med annan hårdvara, kan denna enkla installation vara grunden för många intressanta applikationer. Experimentera med olika GPIO -stift och inställningar för avskaffande för att passa dina behov!

Lämna en kommentar

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.