Käyttämällä painikekytkintä Raspberry Pi: n kanssa

Using a Push Button Switch with the Raspberry Pi

 

Painikekytkin on yksinkertainen, mutta tehokas syöttölaite, jota käytetään usein projekteissa, kuten käynnistys- tai pysäyttämisprosesseissa, LEDien hallinnassa tai tapahtumien käynnistämisessä. Tämä opetusohjelma opastaa sinut Pushon -kytkimen kytkemisen läpi Raspberry Pi: lle, johdotuksen asettamisen ja Python -komentosarjan kirjoittamisen painikkeen painikkeiden havaitsemiseksi.


Mitä tarvitset

  1. Raspberry Pi (Mikä tahansa malli, jolla on GPIO -tuki, esim. Pi 3, pi 4)
  2. Painaton kytkin
  3. Leipälevy- ja hyppyjohdot
  4. Vastus (10 kΩ vedonlyöntiä varten)
  5. Python asennettu vadelmapillä
  6. GPIO -kirjasto Raspberry Pi: n GPIO -nastajen hallitsemiseksi

Vaihe 1: Push -painikkeen johdotus Raspberry Pi

Painikekytkin toimii joko kytkemällä GPIO -nasta korkeaan (3,3 V) tilaan painettaessa tai vetämällä se matalaan (0 V), kun sitä ei paineta. Käytämme vetovastusta varmistaaksemme, että GPIO-nasta lukee matalaa, kun painiketta ei paineta.

Push -painikkeen johdotus

Painaa painiketta Raspberry Pi GPIO -tappi
Yksi nasta GPIO17 (nasta 11)
Muut Maa (nasta 6)
Yksi nasta 10 kΩ vastus maahan

Tässä on johdotusasetukset:

  • Kytke painikkeen yksi pääte GPIO17 (Tappi 11).
  • Kytke painikkeen toinen pääte Pohja (Tappi 6).
  • Kytke 10 kΩ: n vastus GPIO17 ja Pohja toimia vetävänä vastuksena.

Tämä varmistaa, että kun painiketta painetaan, GPIO17 lukee korkeaa (3,3 V) ja kun sitä ei paineta, vastus vedetään GPIO17: een matalaan (0 V).


Vaihe 2: Ota GPIO -nastat käyttöön pythonissa

  1. Päivitä ensin Raspberry Pi: n pakettiluettelo:

    sudo apt update
    sudo apt upgrade -y
    
  2. Asenna vaadittu Python GPIO -kirjasto (jos sitä ei ole vielä asennettu):

    sudo apt install python3-rpi.gpio
    
  3. Tuo kirjasto Python -komentosarjaan:

    import RPi.GPIO as GPIO
    import time
    

Vaihe 3: Python -koodin kirjoittaminen

Kirjoitetaan nyt Python -komentosarja, joka havaitaan, kun painiketta painetaan ja ryhdytään toimiin vastaavasti.

Python -koodiesimerkki

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

Koodin selitys:

  • GPIO.SETMODE (GPIO.BCM): Asettaa GPIO PIN -sovelluksen BCM (BroadCom) -tilaan.
  • GPIO.SETUP (Button_Pin, GPIO.IN, Pull_Up_down = GPIO.PUD_DOWN): Määrittää painikkeen PIN-koodin syöttönä vetävällä vastuksella, mikä tarkoittaa, että se lukee matalaa, kun sitä ei paineta.
  • Gpio.add_event_detect (): GPIO -nastan nouseva reuna (painike paina) ja laukaisee takaisinsoittotoiminnon button_callback Kun painiketta painetaan.
  • aika.Sleep (0,1): Pidä komentosarja käynnissä, jolloin se voi odottaa painiketta.
  • Gpio.cleanup (): Puhdistaa GPIO -asetukset, kun skripti on poistettu.

Vaihe 4: Painikkeen testaaminen

  1. Suorita python -komentosarja:

    python3 button.py
    
  2. Paina painiketta ja tarkkaile viestiä “painiketta painettiin!” terminaalissa.


Vaihe 5: Sovellukset

Tässä on muutamia ideoita Push -painikkeen käytöstä projektissasi:

  1. Hallitse LED: tä: Vaihda LED -levy päälle ja pois päältä.
  2. Laukaista tapahtuma: Käynnistä tai lopeta prosessi (esim. Käynnistä moottori, kytke tuuletin päälle tai aloita komentosarja).
  3. Älykäs ovikello: Lähetä ilmoituksen puhelimellesi painiketta ovikellona.
  4. Käyttäjän syöttö: Hanki yksinkertainen käyttäjän syöttö projektillesi (kuten "kyllä/ei" -vastaus).

Vianetsintä

  • Painiketta ei havaita:

    • Varmista, että painike on langallisesti oikein vetoa alas -vastuksella.
    • Tarkista GPIO-nastaasennus koodiin.
  • GPIO -virhe:

    • Varmista, että GPIO -kirjasto on asennettu oikein ja että skriptisi PIN -numerot ovat oikein.
  • Painike pomppia:

    • Jos huomaat useiden painikkeen painikkeiden havaitsemisen, voit lisätä dieto -ajan (bouncetime=300 komentosarjassa) väärien havaintojen välttämiseksi.

Johtopäätös

Raspberry Pi: n painikevaihdon käyttäminen on helppo tapa lisätä syöttötoimintoja projekteihisi. Tämä yksinkertainen asennus voi olla perusta perustana monille mielenkiintoisille sovelluksille riippumatta siitä, onko kyseessä tapahtumien kytkemistä tai vuorovaikutusta muiden laitteistojen kanssa. Kokeile erilaisia ​​GPIO -nastat ja debounce -asetukset tarpeisiisi!

Jätä kommentti

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.