Создание контроллера: разбираемся с GPIO

Макетка для тестирования GPIO

Для начала устанавливаем WiringOP утилиту.

sudo apt-get install build-essential
sudo git clone https://github.com/zhaolei/WiringOP.git -b h3
sudo cd WiringOP
sudo chmod +x ./build
sudo ./build

Проверяем правильность сборки

gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
 
Banana Pro Details:
  Type: Banana Pro, Revision: 1.2, Memory: 1024MB, Maker: LeMaker

Текущее состояние пинов можно посмотреть командой gpio readall, из этого списка нам интересны только первые 26 из колонки Physical. В свою очередь из этого списка пинами ввода/вывода будут только 17 шт, они отмечены цветом.

WiringOP output readall

Сконфигурировать пин в режим вывода или ввода можно командой

gpio export <BCM-PIN> out
gpio mode <wPi-PIN> out

Записать или прочитать значение пина можно командой

gpio write <PIN> 0
gpio write <PIN> 1

перевод в низкое и высокое сосотояние соответственно. Номер пина в этом случае берем из колонки wPi. Собираем макетку и тестируем. Светодиоды подключены через сопротивления 560 Ом.

Физическое размещение пинов на плате

Orange Pi Zero pinout

Физическое размещение пинов Orange Pi Zero

В режиме вывода успешно отработали только некоторые пины: 3, 5, 7, 11, 15, 22 (номера по колонке Physical)

Для контроллера это явно не достаточно и требуется какой-то расширитель портов. Попробую сделать это через интерфейс I2C …

Leave a Comment.