Utilizzo di un pulsante Push Switch con Raspberry Pi

Using a Push Button Switch with the Raspberry Pi

 

Un interruttore a pulsante è un dispositivo di input semplice ma efficace spesso utilizzato in progetti come l'avvio o l'arresto di processi, il controllo dei LED o il attivazione di eventi. Questo tutorial ti guiderà attraverso il collegamento di un pulsante Push Switch a Raspberry Pi, impostando il cablaggio e scrivendo uno script Python per rilevare il pulsante.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
  2. Interruttore del pulsante Push
  3. Breadboard e fili jumper
  4. Resistore (10kΩ per abbattimento)
  5. Python installato Sul tuo Raspberry Pi
  6. Biblioteca GPIO Per controllare i pin GPIO di Raspberry Pi

Passaggio 1: cablaggio Il pulsante per il Raspberry Pi

Un interruttore a pulsante funziona collegando il pin GPIO a uno stato alto (3.3V) quando viene premuto o tirandolo a basso (0 V) quando non pressato. Useremo una resistenza a discesa per garantire che il pin GPIO si legge in basso quando il pulsante non viene premuto.

Cablaggio del pulsante

Pin del pulsante Pin gpiio di lampone
Un perno GPIO17 (PIN 11)
Altro pin Terra (pin 6)
Un perno Resistore da 10kΩ a terra

Ecco la configurazione del cablaggio:

  • Collegare un terminale del pulsante a GPIO17 (PIN 11).
  • Collegare l'altro terminale del pulsante a Terra (PIN 6).
  • Collegare una resistenza da 10kΩ tra GPIO17 E Terra agire come resistenza a discesa.

Ciò garantisce che quando viene premuto il pulsante, GPIO17 legge in alto (3.3V) e quando non viene premuto, GPIO17 viene tirato a basso (0 V) dalla resistenza.


Passaggio 2: Abilita i pin GPIO in Python

  1. Innanzitutto, aggiorna l'elenco dei pacchetti di Raspberry Pi:

    sudo apt update
    sudo apt upgrade -y
    
  2. Installare la libreria Python GPIO richiesta (se non già installata):

    sudo apt install python3-rpi.gpio
    
  3. Importa la libreria nel tuo script Python:

    import RPi.GPIO as GPIO
    import time
    

Passaggio 3: scrivere il codice Python

Ora, scriviamo uno script Python per rilevare quando il pulsante viene premuto e agire di conseguenza.

Esempio di codice Python

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

Spiegazione del codice:

  • GPIO.setMode (GPIO.BCM): Imposta la numerazione del pin GPIO in modalità BCM (Broadcom).
  • Gpiio.setup (botton_pin, gpiio.in, pull_up_down = gpiio.pud_down): Configura il pin del pulsante come input con una resistenza a discesa, il che significa che leggerà basso quando non preme.
  • Gpiio.add_event_detect (): Rileva il bordo di salita (pressione del pulsante) del pin GPIO e innesca la funzione di callback button_callback Quando viene premuto il pulsante.
  • time.sleep (0.1): Mantieni lo script in esecuzione, permettendogli di attendere un pulsante Premere.
  • GPIO.CLEANUP (): Pulisce le impostazioni GPIO quando lo script viene uscito.

Passaggio 4: testare il pulsante

  1. Esegui il tuo script Python:

    python3 button.py
    
  2. Premere il pulsante e osservare il messaggio "È stato premuto il pulsante!" nel terminale.


Passaggio 5: applicazioni

Ecco alcune idee per l'utilizzo del pulsante nei tuoi progetti:

  1. Controlla un LED: Utilizzare il pulsante per attivare e disattivare un LED.
  2. Trigger un evento: Avviare o arrestare un processo (ad es. Avvia un motore, accendi una ventola o avvia uno script).
  3. Campanello intelligente: Usa il pulsante come campanello per inviare una notifica al telefono.
  4. Input dell'utente: Ottieni un semplice input utente per i tuoi progetti (come una risposta "Sì/No").

Risoluzione dei problemi

  • Pulsante non rilevato:

    • Assicurarsi che il pulsante sia correttamente cablato con il resistore a discesa.
    • Controllare due volte la configurazione del pin GPIO nel codice.
  • Errore GPIO:

    • Assicurati che la libreria GPIO sia installata correttamente e che i numeri PIN nello script siano corretti.
  • Button Bounce:

    • Se si noti che si rilevano più pulsanti, è possibile aggiungere un tempo di deboance (bouncetime=300 Nello script) per evitare falsi rilevamenti.

Conclusione

L'uso di un pulsante pulsante con Raspberry Pi è un modo semplice per aggiungere funzionalità di input ai tuoi progetti. Che si tratti di attivare LED, attivare eventi o interagire con altri hardware, questa semplice configurazione può essere la base per molte applicazioni interessanti. Sperimenta diversi pin GPIO e le impostazioni di debounzione per soddisfare le tue esigenze!

Lascia un commento

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.