Orange Pi Zero. Подключаем I2C интерфейс

Что такое I2C

Последовательный протокол обмена данными IIC (также называемый I2C – Inter-Integrated Circuits, межмикросхемное соединение) использует для передачи данных две двунаправленные линии связи, которые называются шина последовательных данных SDA (Serial Data) и шина тактирования SCL (Serial Clock).

В сети есть хотя бы одно ведущее устройство (Master), которое инициализирует передачу данных и генерирует сигналы синхронизации. В сети также есть ведомые устройства (Slave), которые передают данные по запросу ведущего. У каждого ведомого устройства есть уникальный адрес, по которому ведущий и обращается к нему. Адрес устройства указывается в паспорте (datasheet). К одной шине I2C может быть подключено до 127 устройств, в том числе несколько ведущих. К шине можно подключать устройства в процессе работы, т.е. она поддерживает «горячее подключение».

i2c интерфейс

Настройка I2C на Orange Pi Zero

По умолчанию порт I2C на Orange Pi Zero не настроен и для того что бы вклчить I2C на Orange Pi Zero. Нужно сделать следующее: отредактировать файл /boot/armbianEnv.txt, добавив значение i2c0 для параметра overlays, пример: overlays=usbhost2 usbhost3 uart1 uart2 i2c0

Подробнее можно почитать тут: https://docs.armbian.com/User-Guide_Allwinner_overlays/

Так же устанавливаем i2c-tools из репозитория:

sudo apt-get install i2c-tools

В i2c-tools входят следующие утилиты:

i2cdetect — для определения устройств, подключенных к шине i2c

i2cget — для чтения данных из регистров подключенных устойств

i2cset — запись данных в регистры подключённых устройств

что бы просмотреть устройства надо запустить:

i2cdetect -y 0

в результате мы получим список подключенных устройств:

вывод i2cdetect

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

6 дней ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

6 дней ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

6 дней ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

6 дней ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

6 дней ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

6 дней ago