Raspberry Pi to wszechstronny komputer jednorazowy, który stał się ulubieńcem zarówno hobbystów, nauczycieli i profesjonalistów. Jedną z jego najpotężniejszych cech jest zdolność do interakcji ze światem fizycznym poprzez jego ogólne styki wejściowe/wyjściowe (GPIO). Wykorzystując Python, przyjazny dla początkujących i potężny język programowania, możesz kontrolować te piny GPIO w celu zbudowania szerokiej gamy projektów, od prostych mrugnięć LED po złożone systemy automatyki domowej. W tym poście na blogu przeprowadzimy Cię przez podstawy używania Raspberry Pi do kontrolowania GPIO z Pythonem.
Zrozumienie pinów GPIO
Piny GPIO to wszechstronne interfejsy na Raspberry Pi, które pozwalają łączyć i kontrolować urządzenia zewnętrzne, takie jak diody LED, czujniki, silniki i wiele innych. W zależności od modelu Raspberry Pi znajdziesz różną liczbę pinów GPIO ułożonych w określonym wzorze. Te piny można skonfigurować jako dane wejściowe lub wyjścia:
- Wejście: Odczytaj sygnały z urządzeń zewnętrznych (np. Przyciski, czujniki).
- Wyjście: Wyślij sygnały do urządzeń zewnętrznych (np. LED, przekaźniki).
Przed zanurzeniem się w aspekcie programowania konieczne jest zrozumienie układu pinu Raspberry Pi. Dokładne informacje specyficzne dla twojego modelu można znaleźć w oficjalnym schemacie pinout Raspberry PI GPIO.
Konfigurowanie Raspberry Pi
Aby rozpocząć kontrolowanie pinów GPIO z Pythonem, upewnij się, że Raspberry Pi jest prawidłowo skonfigurowany:
- Zainstaluj najnowszy system Raspberry Pi: Upewnij się, że Raspberry Pi działa najnowsza wersja Raspberry Pi OS. Możesz pobrać go z oficjalnej witryny Raspberry Pi i użyć narzędzi takich jak Raspberry Pi Imager, aby sflashować go na karcie SD.
- Zaktualizuj swój system: Otwórz terminal i uruchom następujące polecenia, aby zaktualizować pakiety systemowe:
Pisanie pierwszego skryptu GPIO Python
Zacznijmy od prostego projektu: migania diody LED. Będziesz potrzebować następujących elementów:
- Raspberry Pi
- PROWADZONY
- Rezystor 220-OHM
- Druty chleba i skorupy
Okablowanie diody LED:
- Podłącz długą nogę (anodę) LED do pinu GPIO 17 przez rezystor.
- Podłącz krótką nogę (katodę) diody LED do gruntu (GND) na Raspberry Pi.
Teraz napiszmy skrypt Pythona, aby kontrolować diodę LED.
Mruganie diody LED z Pythonem
Wyjaśnienie:
-
import RPi.GPIO as GPIO
: Importuje bibliotekę RPI.GPIO. -
import time
: Importuje moduł czasowy dla funkcji snu. -
GPIO.setmode(GPIO.BCM)
: Ustawia schemat numeracji pinów GPIO na BCM (kanał Broadcom SOC). -
GPIO.setup(LED_PIN, GPIO.OUT)
: Konfiguruje pin GPIO 17 jako pin wyjściowy. - .
try
Block zawiera nieskończoną pętlę, która włącza i wyłącza diodę LED co sekundę. -
GPIO.cleanup()
: Oczyszcza ustawienia GPIO, aby zapewnić czyste wyjście.
Uruchamianie twojego skryptu
Zapisz swój skrypt jako blink_led.py
i uruchom go za pomocą następującego polecenia:
Powinieneś zobaczyć diodę LED podłączoną do GPIO PIN 17 migającą i wyłączoną co sekundę. Aby zatrzymać skrypt, naciśnij Ctrl + C
.
Rozszerzanie projektu
Po opanowaniu migania diody LED możesz odkrywać bardziej złożone projekty, łącząc różne czujniki i siłowniki. Oto kilka pomysłów na początek:
- Interakcja przycisku: Kontroluj diodę LED za pomocą przycisku fizycznego. Obejmuje to konfigurowanie styku GPIO jako wejścia i odczyt jego stanu w skrypcie Python.
- Rejestrowanie danych czujnika: Użyj czujników takich jak wykrywacze temperatury lub ruchu, aby zbierać dane i zalogować je do analizy.
- Automatyzacja domu: Urządzenia kontrolne zdalnie poprzez integrację sterowania GPIO z interfejsami internetowymi lub aplikacjami mobilnymi.
Kontrolowanie przycisku
Rozszerzmy nasz poprzedni przykład, dodając przycisk do kontrolowania diody LED. Będziesz potrzebować:
- Przycisk
- Rezystor 10K-OHM
- Dodatkowe przewody zworki
Okablowanie przycisku:
- Podłącz jedną nogę przycisku do pinu GPIO 27.
- Podłącz drugą nogę do naziemnego (GND) szpilką przez rezystor 10k-ohm.
Oto skrypt Python do kontrolowania diody LED przyciskiem:
Wyjaśnienie:
- GPIO Pin 27 jest konfigurowany jako wejście z rezystorem rozciągniętym, aby zapewnić stabilny stan, gdy przycisk nie zostanie naciśnięty.
- Skrypt w sposób ciągły odczytuje stan przycisku i włącza LED po naciśnięciu przycisku.
Najlepsze praktyki i wskazówki dotyczące bezpieczeństwa
Podczas pracy z szpilkami GPIO kluczowe jest przestrzeganie najlepszych praktyk, aby uniknąć uszkodzenia Raspberry Pi lub połączonych komponentów:
- Wyłącz podczas łączenia sprzętu: Zawsze wyłącz swoje Raspberry Pi przed podłączeniem lub odłączeniem sprzętu, aby zapobiec krótkim obwodom.
- Użyj rezystorów ograniczających prąd: Chroń swoje komponenty za pomocą odpowiednich rezystorów, szczególnie podczas pracy z diodami LED.
- Okablowanie dwukrotnie: Upewnij się, że wszystkie połączenia są prawidłowe, aby zapobiec przypadkowemu uszkodzeniu pinów GPIO.
- Radzenie sobie z ostrożnością: Unikaj statycznego rozładowania poprzez ostrożne obsługę Raspberry Pi i komponentów.
Wniosek
Kontrolowanie pinów GPIO z Pythonem na Raspberry Pi otwiera świat możliwości tworzenia interaktywnych i zautomatyzowanych projektów. Od prostych zadań, takich jak miganie diod LED po bardziej złożone systemy obejmujące wiele czujników i siłowników, opanowanie GPIO Control jest podstawową umiejętnością dla każdego entuzjasty Raspberry PI. Postępując zgodnie z krokami przedstawionymi w tym przewodniku i przestrzegając najlepszych praktyk, będziesz na dobrej drodze do budowania ekscytujących i innowacyjnych projektów.
Szczęśliwy majsterkowanie!