Skip to main content

Raspberry Pi GPIO

i.AM tracker - Streetview (Może 2024)

i.AM tracker - Streetview (Może 2024)
Anonim
01 z 09

Wprowadzenie do szpilek Raspberry Pi

Termin "GPIO" (Wyjście wejścia ogólnego przeznaczenia) nie jest wyłączną własnością Raspberry Pi. Piny wejściowe i wyjściowe można znaleźć na większości mikrokontrolerów, takich jak Arduino, Beaglebone i inne.

Kiedy mówimy o GPIO z Raspberry Pi, odnosimy się do długiego bloku pinów w lewym górnym rogu planszy. Starsze modele miały 26 szpilek, jednak większość z nas będzie używać obecnego modelu z 40.

Do tych pinów możesz podłączyć komponenty i inne urządzenia sprzętowe, a także używać kodu do kontrolowania tego, co robią. To ważna część Raspberry Pi i doskonały sposób na poznanie elektroniki.

Po kilku projektach programistycznych będziesz prawdopodobnie eksperymentował z tymi pinami, chętnie miksujesz swój kod ze sprzętem, by wszystko działo się w "prawdziwym życiu".

Ten proces może być zastraszający, jeśli jesteś nowy na scenie i biorąc pod uwagę, że jeden fałszywy ruch może uszkodzić twoje Raspberry Pi, zrozumiałe jest, że jest to obszar nerwowy dla początkujących do odkrywania.

Ten artykuł wyjaśni, co robi każdy typ pinów GPIO i ich ograniczenia.

02 z 09

GPIO

Najpierw przyjrzyjmy się GPIO jako całości. Kołki mogą wyglądać tak samo, ale wszystkie mają różne funkcje. Powyższy obrazek pokazuje te funkcje w różnych kolorach, które wyjaśnimy w poniższych krokach.

Każdy pin jest ponumerowany od 1 do 40, zaczynając od lewego dolnego rogu. Są to fizyczne numery pinów, ale istnieją również konwencje numerowania / etykietowania, takie jak "BCM", które są używane podczas pisania kodu.

03 z 09

Moc i ziemia

Podświetlona na czerwono pinezki oznaczone "3" lub "5" dla 3.3 V lub 5V.

Te pinezki pozwalają bezpośrednio przesłać moc do urządzenia bez potrzeby stosowania żadnego kodu. Nie ma możliwości ich wyłączenia.

Dostępne są 2 szyny zasilające - 3,3 V i 5 V. Zgodnie z tym artykułem, szyna 3,3 V jest ograniczona do poboru prądu 50mA, podczas gdy szyna 5V może zapewnić dowolną bieżącą moc z twojego zasilacza po tym, jak Pi weźmie to, czego potrzebuje.

Wyróżnione brązowesą szpilki uziemienia (GND). Te szpilki to dokładnie to, co mówią - szpilki uziemienia - które są istotną częścią każdego projektu elektronicznego.

(Piny 5IO GPIO są numerami fizycznymi 2 i 4. 3.3 V Piny GPIO są numerami fizycznymi 1 i 17. Piny Ground GPIO są numerami fizycznymi 6, 9, 14, 20, 25, 30, 34 i 39)

04 z 09

Kołki wejściowe / wyjściowe

Zielone szpilki to tak zwane "generyczne" piny wejściowe / wyjściowe. Można je łatwo wykorzystać jako dane wejściowe lub wyjściowe bez obawy o zderzenie z innymi funkcjami, takimi jak I2C, SPI lub UART.

Są to piny, które mogą przesyłać moc do diody LED, brzęczyka lub innych komponentów lub mogą być używane jako wejście do odczytu czujników, przełączników lub innych urządzeń wejściowych.

Moc wyjściowa tych pinów wynosi 3,3V. Każda pinezka nie powinna przekraczać 16mA prądu, ani tonąć, ani pozyskać, a cały zestaw pinów GPIO nie powinien przekraczać więcej niż 50mA w tym samym czasie. Może to być restrykcyjne, więc w niektórych projektach może wystąpić potrzeba kreatywności.

(Ogólne piny GPIO to liczby fizyczne 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 i 40)

05 z 09

Piny I2C

W kolorze żółtym mamy szpilki I2C. I2C jest protokołem komunikacyjnym, który w prosty sposób pozwala urządzeniom komunikować się z Raspberry Pi. Piny te mogą również służyć jako "ogólne" piny GPIO.

Dobrym przykładem użycia I2C jest bardzo popularny układ ekspanderów portów MCP23017, który może zapewnić więcej pinów wejścia / wyjścia dzięki temu protokołowi I2C.

(Piny I2C GPIO to fizyczne numery PIN 3 i 5)

06 z 09

Piny UART (Serial)

Na szaro znajdują się kołki UART. Te piny są kolejnym protokołem komunikacyjnym, który oferuje połączenia szeregowe i mogą być również używane jako "ogólne" wejścia / wyjścia GPIO.

Moim ulubionym zastosowaniem UART jest umożliwienie połączenia szeregowego z mojego Pi do mojego laptopa przez USB. Można to osiągnąć za pomocą dodatkowych płyt lub prostych kabli i usuwa potrzebę ekranu lub połączenia internetowego, aby uzyskać dostęp do Pi.

(Piny UART GPIO to fizyczne numery pinu 8 i 10)

07 z 09

Kołki SPI

Różowy, mamy szpilki SPI. SPI to magistrala interfejsu, która przesyła dane między Pi a innym sprzętem / urządzeniami peryferyjnymi. Jest powszechnie używany do łączenia urządzeń takich jak matryca LED lub wyświetlacz.

Podobnie jak inne, te piny mogą być również używane jako "ogólne" wejścia / wyjścia GPIO.

(Piny SPIO GPIO to fizyczne numery pinu 19, 21, 23, 24 i 26)

08 09

Kołki DNC

Wreszcie są dwie szpilki na niebiesko, które obecnie są oznaczone jako DNC, co oznacza "Do Not Connect". Może się to zmienić w przyszłości, jeśli Fundacja Raspberry Pi zmieni płytki / oprogramowanie.

(Piny DNIO GPIO to fizyczne numery pinu 27 i 28)

09 09

Konwencje numeracji GPIO

Podczas kodowania za pomocą GPIO masz możliwość importowania biblioteki GPIO na dwa sposoby - BCM lub BOARD.

Preferuję opcję GPIO BCM. Jest to konwencja numerowania Broadcom i stwierdzam, że jest ona używana częściej w projektach i dodatkach sprzętowych.

Druga opcja to GPIO BOARD. Ta metoda używa zamiast tego fizycznego numeru PIN, który jest przydatny przy liczeniu szpilek, ale okaże się, że jest on mniej używany w przykładach projektów.

Tryb GPIO jest ustawiony podczas importowania biblioteki GPIO:

Aby zaimportować jako BCM:

importuj RPi.GPIO jako GPIO GPIO.setmode (GPIO.BCM)

Aby zaimportować jako BOARD:

importuj RPi.GPIO jako GPIO GPIO.setmode (GPIO.BOARD)

Obie te metody wykonują dokładnie to samo zadanie, to tylko kwestia preferencji numerowania.

Regularnie korzystam z poręcznych tabliczek z etykietami GPIO, takich jak RasPiO Portsplus (na zdjęciu), aby sprawdzić, które pinezki też łączę. Jedna strona pokazuje konwencję numerowania BCM, druga pokazuje BOARD - więc jesteś objęty jakimkolwiek projektem, który znajdziesz.