Za pomocą przełącznika przycisku z Raspberry Pi

Using a Push Button Switch with the Raspberry Pi

 

Przełącznik przycisku jest prostym, ale skutecznym urządzeniem wejściowym często używanym w projektach, takich jak uruchamianie lub zatrzymywanie procesów, kontrolowanie diod LED lub zdarzenia wyzwalające. Ten samouczek poprowadzi Cię przez podłączenie przełącznika przycisku do Raspberry Pi, konfigurowanie okablowania i zapisanie skryptu Pythona w celu wykrycia naciśnięcia przycisku.


Czego będziesz potrzebować

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Przełącznik przycisku
  3. Druty chleba i skoczków
  4. Rezystor (10kΩ dla wyciągnięcia)
  5. Zainstalowany Python na twoim malinowym pi
  6. Biblioteka GPIO do kontrolowania pinów GPIO Raspberry Pi

Krok 1: Okablowanie przycisku do Raspberry Pi

Przełącznik przycisku działa albo podłączając pin GPIO do stanu wysokiego (3,3 V) po naciśnięciu lub pociągnięcie go do niskiego (0 V) po naciśnięciu. Użyjemy rezystora rozwijanego, aby upewnić się, że szpilka GPIO odczytuje nisko, gdy przycisk nie zostanie naciśnięty.

Okablowanie przycisku

Pin na przycisk Raspberry Pi GPIO
Jeden szpilka GPIO17 (PIN 11)
Inny pin Uziemienie (pin 6)
Jeden szpilka Rezystor 10kΩ na uziemienie

Oto konfiguracja okablowania:

  • Podłącz jeden terminal przycisku do GPIO17 (PIN 11).
  • Podłącz drugi terminal przycisku do Grunt (PIN 6).
  • Podłącz rezystor 10kΩ między GPIO17 I Grunt działać jak opornik rozciągnięty.

Zapewnia to, że po naciśnięciu przycisku GPIO17 odczytuje wysokie (3,3 V), a gdy nie jest naciśnięty, GPIO17 jest przyciągany do niskiego (0 V) przez rezystor.


Krok 2: Włącz szpilki GPIO w Python

  1. Najpierw zaktualizuj listę pakietów Raspberry Pi:

    sudo apt update
    sudo apt upgrade -y
    
  2. Zainstaluj wymaganą bibliotekę Python GPIO (jeśli jeszcze nie zainstalowano):

    sudo apt install python3-rpi.gpio
    
  3. Zaimportuj bibliotekę w skrypcie Python:

    import RPi.GPIO as GPIO
    import time
    

Krok 3: Pisanie kodu Pythona

Teraz napiszmy skrypt Pythona, aby wykryć, gdy przycisk zostanie naciśnięty i odpowiednio podejmij działania.

Przykład kodu Pythona

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

Objaśnienie kodu:

  • Gpio.setMode (gpio.bcm): Ustawia numerowanie pinów GPIO w trybie BCM (Broadcom).
  • Gpio.setUp (Button_pin, gpio.in, pull_up_down = gpio.pud_down): Konfiguruje pin przyciskowy jako wejście z rezystorem rozwijanym, co oznacza, że ​​odczytuje on niski poziom, gdy nie zostanie naciśnięty.
  • Gpio.add_event_detect (): Wykrywa rosnącą krawędź (naciśnij przycisk) pin GPIO i wyzwala funkcję wywołania zwrotnego button_callback Po naciśnięciu przycisku.
  • czas.sleep (0,1): Uruchamia skrypt, pozwalając mu czekać na naciśnięcie przycisku.
  • Gpio.cleanup (): Oczyszcza ustawienia GPIO po wychodzeniu skryptu.

Krok 4: Testowanie przycisku

  1. Uruchom skrypt Python:

    python3 button.py
    
  2. Naciśnij przycisk i obserwuj komunikat „Przycisk został naciśnięty!” w terminalu.


Krok 5: Zastosowania

Oto kilka pomysłów na użycie przycisku w twoich projektach:

  1. Kontrolować diodę LED: Użyj przycisku, aby włączyć i wyłączyć diodę LED.
  2. Wywołaj wydarzenie: Uruchom lub zatrzymaj proces (np. Uruchom silnik, włącz wentylator lub zainicjuj skrypt).
  3. Inteligentny dzwonek do drzwi: Użyj przycisku jako dzwonka do drzwi, aby wysłać powiadomienie do telefonu.
  4. Wejście użytkownika: Uzyskaj proste dane wejściowe użytkownika dla swoich projektów (jak odpowiedź „tak/nie”).

Rozwiązywanie problemów

  • Przycisk nie został wykryty:

    • Upewnij się, że przycisk jest prawidłowo podłączony do odpornego na rozkład.
    • Dokładnie sprawdź konfigurację pinu GPIO w kodzie.
  • Błąd GPIO:

    • Upewnij się, że biblioteka GPIO jest instalowana prawidłowo i że numery pin w skrypcie są prawidłowe.
  • Odbicie przycisku:

    • Jeśli zauważysz, że wykrywane jest wiele przycisków, możesz dodać czas na zadłużenie (bouncetime=300 w skrypcie), aby uniknąć fałszywych wykryć.

Wniosek

Korzystanie z przełącznika przycisku z Raspberry Pi to łatwy sposób na dodanie funkcji wejściowych do swoich projektów. Niezależnie od tego, czy chodzi o przełączanie diod LED, wyzwalanie zdarzeń, czy w interakcji z innym sprzętem, ta prosta konfiguracja może być podstawą wielu interesujących aplikacji. Eksperymentuj z różnymi szpilkami GPIO i ustawieniami debunacji, aby pasowały do ​​twoich potrzeb!

Zostaw komentarz

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.