Екскурсія по Raspberry Pi GPIO

Що робить кожен тип GPIO Pin

Вступ до шпильки Малини Пі

Raspberry Pi GPIO.

Річард Савіл

Термін "GPIO" (вхідний вихід загального призначення) не є винятковим для Raspberry Pi. Вхідні та вихідні штифти можна знайти на більшості мікроконтролерів, таких як Arduino, Beaglebone тощо.

Коли ми говоримо про GPIO з Raspberry Pi, ми маємо на увазі довгий блок штифтів у верхньому лівому куті дошки. У старих моделях було 26 штифтів, проте більшість із нас буде використовувати поточну модель з 40.

Ви можете підключити компоненти та інші апаратні пристрої до цих штифтів і використовувати код для управління тим, що вони роблять. Це важлива частина Raspberry Pi і відмінний спосіб дізнатися про електроніку.

Після кількох програмних проектів ви, ймовірно, експериментуєте з цими штифтами, прагнучи змішати свій код із апаратними засобами, щоб зробити це справді у реальному житті.

Цей процес може залякати, якщо ви новачок на сцені, і враховуючи, що один помилковий хід може пошкодити ваш Raspberry Pi, зрозуміло, що це нервова зона для початківців, які повинні досліджувати.

У цій статті буде роз'яснено, що робить кожен тип штифтів GPIO та їх обмеження.

GPIO

Штифти GPIO пронумеровані від 1 до 40 і можуть бути згруповані за різними функціями. Річард Савіл

Спочатку давайте подивимось на GPIO в цілому. Штифти можуть виглядати однаково, але всі вони мають різні функції. На зображенні вище показані ці функції різними кольорами, які ми пояснимо на наступних кроках.

Кожен штифт нумерується від 1 до 40, починаючи з нижнього лівого кута. Це фізичні штифтові номери, однак існують також угоди про нумерацію / маркування, наприклад "BCM", які використовуються при написанні коду.

Сила і земля

Raspberry Pi пропонує кілька штифтів потужності та заземлення. Річард Савіл

Червоним кольором підсвічуються штифти з позначкою "3" або "5" для 3,3 В або 5 В.

Ці штифти дозволяють безпосередньо надсилати живлення на пристрій без необхідності будь-якого коду. Вимкнути їх також немає.

Є 2 силові рейки - 3,3 вольта і 5 вольт. 3.3V-рейка обмежена струмом 50mA, тоді як 5V-рейка може забезпечити будь-яку потужність струму, що залишилася від вашого джерела живлення після того, як Pi взяв те, що потрібно.

Коричневими виділяються коричневі штифти (GND). Ці штифти - це саме те, що вони говорять - заземлюючі шпильки - які є важливою частиною будь-якого проекту з електроніки.

(5V GPIO-штифти - це фізичні числа 2 і 4. 3.3V штифти GPIO - це фізичні числа 1 і 17. Заземлені GPIO штифти - це фізичні числа 6, 9, 14, 20, 25, 30, 34 і 39)

Вхідні / вихідні штифти

Штифти вводу та виводу дозволяють підключати обладнання, наприклад датчики та комутатори. Річард Савіл

Зелені штифти - це «загальні» введення / виведення штифтів. Їх можна легко використовувати як входи або виходи, не турбуючись про зіткнення з іншими функціями, такими як I2C, SPI або UART.

Це штифти, які можуть передавати живлення на світлодіод, зумер або інші компоненти або використовуватись як вхід для зчитування датчиків, вимикачів або інших пристроїв введення.

Вихідна потужність цих штифтів - 3,3 В. Кожен штифт не повинен перевищувати 16 мА струму - ні занурення, ні джерела, і весь набір GPIO-штифтів не повинен перевищувати більше 50 мА одночасно. Це може бути обмежувальним, тому вам, можливо, доведеться проявляти творчість у певних проектах.

(Загальні штифти GPIO - це фізичні числа 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 і 40)

I2C штифти

I2C дозволяє підключити інші пристрої до вашого Pi лише за допомогою декількох штифтів. Річард Савіл

Жовтим кольором у нас є шпильки I2C. I2C - це протокол зв'язку, який простими словами дозволяє пристроям спілкуватися з Raspberry Pi. Ці штифти також можна використовувати як «загальні» штифти GPIO.

Хорошим прикладом використання I2C є дуже популярний мікросхему розширювача портів MCP23017, який може дати вам більше штифтів вводу / виводу за допомогою цього протоколу I2C.

(I2C GPIO штифти - це фізичні контактні номери 3 та 5)

UART (Серійні) шпильки

Підключіться до свого Pi через послідовне з'єднання за допомогою штифтів UART. Річард Савіл

Сірим кольором є шпильки UART. Ці штифти - це ще один протокол зв'язку, який пропонує послідовне з'єднання, а також може використовуватися як "загальні" входи / виходи GPIO.

Одне використання для UART - ввімкнути послідовне з'єднання від Pi до ноутбука через USB. Цього можна досягти за допомогою додаткових плат або простих кабелів і позбавить потреби в екрані або підключенні до Інтернету для доступу до вашого Pi.

(Штифти UART GPIO - це фізичні штифтові номери 8 та 10)

SPI шпильки

Шпильки SPI - ще один корисний протокол зв'язку. Річард Савіл

У рожевому кольорі у нас є шпильки SPI. SPI - це інтерфейсна шина, яка передає дані між Pi та іншим апаратним / периферійним пристроєм. Зазвичай використовується для прив'язування пристроїв, таких як світлодіодна матриця або дисплей.

Як і інші, ці штифти також можуть використовуватися як "загальні" входи / виходи GPIO.

(Шпильки SPI GPIO - це фізичні контактні номери 19, 21, 23, 24 і 26)

ДНК-шпильки

Тут нічого не бачити - штифти DNC не виконують жодної функції. Річард Савіл

Нарешті, два штифти синього кольору, які в даний час позначені як DNC, що означає «Не підключатися». Це може змінитися в майбутньому, якщо Raspberry Pi Foundation змінить плати / програмне забезпечення.

(Шпильки DNC GPIO - це фізичні номери 27 та 28)

Конвенції про нумерацію GPIO

Portsplus - це зручний інструмент для перевірки номерів PIN-кодів GPIO. Річард Савіл

Під час кодування за допомогою GPIO ви можете імпортувати бібліотеку GPIO одним із двох способів - BCM або BOARD .

Перший варіант - GPIO BCM . Це угода про нумерацію Broadcom, і вона використовується частіше в проектах та апаратних додатках.

Другий варіант - GPIO BOARD . Цей метод натомість використовує фізичні номери штифтів, що зручно при підрахунку штифтів, але ви знайдете, що він використовується менше у прикладах проекту.

Режим GPIO встановлюється при імпорті бібліотеки GPIO:

Щоб імпортувати як BCM:

Щоб імпортувати як BOARD:

Обидва ці методи роблять точно таку ж роботу, це лише питання переваги нумерації.

Ви можете скористатися зручними платами для етикеток GPIO, такими як RasPiO Portsplus (на фото), щоб перевірити, до яких штифтів я теж підключаю провід. Одна сторона показує конвенцію нумерації BCM, інша - BOARD - значить, ви охоплені будь-яким проектом, який ви знайдете.