Wszystko, co musisz wiedzieć o pinach GPIO Raspberry Pi
Od grania w gry po uruchamianie systemu rozrywki Kodi – Raspberry Pi oferuje wiele możliwości. Ale możesz zrobić jeszcze więcej rzeczy, jeśli znasz sposób na wejście-wyjście ogólnego przeznaczenia (GPIO). Oto przewodnik, który pomoże Ci rozpocząć pracę z pinami GPIO Raspberry Pi!
Jakie są piny GPIO Raspberry Pi?
Styki GPIO Raspberry Pi to metalowe styki wystające z jednej strony, naprzeciwko złącza HDMI i zasilania.
Jednak nie wszystkie z tych pinów liczą się jako „GPIO”. Spośród nich 26 można ustawić jako piny logiczne wejściowe i wyjściowe. To są piny GPIO. Reszta to piny zasilające.
Programując je na pinach wejściowych lub wyjściowych, można przekształcić je w komputer logiczny, który może odczytywać dane wejściowe i wyświetlać dane wyjściowe. Można na przykład podłączyć pin wejściowy do obwodu przycisku , a pin wyjściowy do diody LED, tak aby świeciła po każdym naciśnięciu przycisku.
Pinout Raspberry Pi
Zanim będziesz mógł zaprogramować każdy pin jako wejście i wyjście, musisz najpierw wiedzieć, które piny są które.
Każdy pin Raspberry Pi jest ponumerowany od 1 do 40. Jeśli spojrzysz na Raspberry Pi w taki sposób, że porty USB są skierowane w stronę podłogi, pin w lewym górnym rogu powinien być pinem 1. Pin po jego prawej stronie to pin pin 2, a liczenie będzie kontynuowane, aż dojdziesz do pinu 40 w prawym dolnym rogu.
Teraz następujące piny nie są GPIO – są to piny zasilania, które albo są stale ładowane, aby wyprowadzić napięcie (3v3 i 5V), albo mają odbierać napięcie (masa).
- 1 i 17 (3 na 3)
- 2 i 4 (5 V)
- 6, 9, 14, 20, 25, 30, 34, 39 (masa)
Zwykle możesz nazwać te szpilki ich nazwami. Jeśli więc miałeś na myśli pin 7 jako GPIO, możesz po prostu nazwać go pinem 7. Nazywa się to numeracją PŁYTY .
Z drugiej strony można je również nazwać po indywidualnej numeracji opartej na chipie procesora urządzenia peryferyjnego. Nazywa się to numeracją BCM i nosi taką nazwę, ponieważ układ obsługujący te styki należy do rodziny procesorów BCM.
Ustaw piny wejściowe i wyjściowe
Możesz zaprogramować piny GPIO Raspberry Pi za pomocą Thonny, który jest domyślnym edytorem Pythona dostarczanym z systemem operacyjnym Raspberry Pi.
Poniższy kod ustawia pin 7 (GPIO 4) jako pin wyjściowy i pin 8 (GPIO 14) jako pin wejściowy przy użyciu numeracji PŁYTKI.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.
GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.
Wyjaśnienie kodu
Aby pracować z pinami GPIO, musisz zaimportować bibliotekę GPIO Raspberry Pi. Dokonuje się tego poprzez wpisanie import RPi.GPIO as GPIO
.
Następnie musisz ustawić tryb. Użyj GPIO.setmode(GPIO.BOARD)
, aby poinformować interpreter MicroPython o czytaniu w trybie BOARD. Lub użyj GPIO.setmode(GPIO.BCM)
do odczytu w trybie BCM.
Aby ustawić piny, musisz użyć GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>)
funkcji. Wymaga dwóch argumentów. Pierwszy z nich to numer PIN na podstawie wybranego wcześniej trybu numeracji. Drugi to stan, czy chcesz ustawić go jako pin wyjściowy za pomocą, GPIO.OUT
czy jako pin wejściowy za pomocą GPIO.IN
.
Następnie za pomocą pinów wyjściowych możesz ustawić je na wysoki lub niski za pomocą GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>)
. Ustawienie pinu wyjściowego na WYSOKI powoduje jego ładowanie do 3 woltów. W logice komputera liczy się to jako „tak” lub „1”. LOW działa odwrotnie, ładując go do poziomu bliskiego 0 woltów.
Z drugiej strony można odczytać wartości pinów wejściowych. Jeśli otrzymają 3 wolty, zarejestrują się jako WYSOKIE i zwrócą wartość logiczną za pomocą GPIO.input(<pin>)
. Wartości logiczne to wartości True lub False. Możesz używać tych wartości w pętlach while i instrukcjach if, aby tworzyć z nimi jeszcze głębsze logiczne rzeczy.
Podłączanie GPIO i pinów zasilania do komponentów peryferyjnych
Piny GPIO w Raspberry Pi nazywane są pinami męskimi. Dzieje się tak dlatego, że mają wystające metalowe kawałki zamiast półki na szpilki, jak w Arduino Uno.
Większość komponentów do prototypowania jest wyposażona w wtyki męskie, które ułatwiają umieszczenie ich na płytce prototypowej. Można użyć przewodów połączeniowych typu męsko-żeńskiego, aby podłączyć je na płycie prototypowej, lub przewodów połączeniowych typu żeńskiego do żeńskiego, aby podłączyć je bezpośrednio do samych komponentów.
Ponadto w większości komponentów czasami można znaleźć oznaczenia „S”, „IN” lub „OUT” bezpośrednio na ich stykach. Oznacza to, że pin znajdujący się bezpośrednio obok nich powinien łączyć się z pinami GPIO. Oznaczenia zależą od komponentu – wiele komponentów nawet nie nazywa ich w ten sposób, ponieważ mają one na płytce około 3 do 9 pinów sygnałowych, wejściowych i wyjściowych.
Aby dowiedzieć się, który pin gdzie powinien zostać podłączony, możesz zajrzeć do ich „datasheet”, czyli porad producenta dotyczących sposobu użytkowania komponentu i jego oczekiwanego zachowania. Są one specyficzne dla modelu lub marki, zwłaszcza jeśli chodzi o moduły, które mieszczą w środku mnóstwo innych komponentów.
Dbanie o piny GPIO Raspberry Pi
Piny GPIO to delikatne elementy. Łatwo je złamać, jeśli nie będziesz ostrożny.
Po pierwsze, musisz upewnić się, że do tych urządzeń podłączane są wyłącznie źródła prądu zasilane napięciem 3 V. Jednym ze sposobów ich złamania jest podanie napięcia 5 V na dowolny pin GPIO.
Inną rzeczą, która może je uszkodzić, jest podłączenie pinu wyjściowego bezpośrednio do pinu wejściowego, bez żadnego rezystora lub elementu pomiędzy nimi. Podczas gdy napięcie pozostaje takie samo, prąd płynący z pinu wyjściowego może potencjalnie uszkodzić pin wejściowy.
Gdy tylko nauczysz się, jak prawidłowo z nich korzystać, będziesz mógł zrobić wiele rzeczy za pomocą Raspberry Pi. Po pierwsze, można podłączyć do jednego silnik prądu stałego i sprawić, by poruszał się na kołach lub działał jak mały wentylator elektryczny. A jeśli dodasz koła, możesz nawet sterować robotem Raspberry Pi bezprzewodowo przez SSH w banku mocy ! Te piny GPIO rozszerzają możliwości Raspberry Pi o znacznie większe możliwości, niż byłoby to możliwe bez nich.
Źródło obrazu: Unsplash
Dodaj komentarz