Raspberry Pi:Библиотеки/WiringPi/Расширения/Подключение светодиодного контроллера SN3218 (I2C)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Подключение светодиодного контроллера SN3218 (I2C)[1]

Библиотека WiringPi поддерживает расширительный модуль для светодиодного контроллера SN3218, работающего через шину I2C. Этот маленький чип способен управлять 18 отдельными светодиодами (или 6 RGB-светодиодами, или любой промежуточной комбинацией) и оснащен генератором ШИМ, выдающий 256 уровней яркости на каждом светодиоде.

WiringPi видит SN3218 как девайс с 18 выходными аналоговыми контактами.

Подключение

#include <wiringPi.h>
#include <sn3218.h>

Инициализация

sn3218Setup (int pinBase) ;

В этой функции адрес для шины I2C не указывается – чип SN3218 оснащен фиксированным I2C-адресом «0x54». Обращение к этому параметру происходит лишь внутри драйвера, поэтому никакого дополнительного кода не нужно. Это также значит, что к Raspberry Pi можно подключить лишь один такой чип.

Значение в параметре pinBase может быть любым, но выше «64». Затем, исходя из указанного вами значения, инициализирующая функция зарезервирует идущие друг за другом 18 значений. К примеру, если вы укажете значение «100», то функция выделит для контактов номера «100», «101», «102» и так далее до «117».

Использование

В программе впишите:

analogWrite (ledPin, value) ;

Параметр ledPin – это номер контакта (от «0» до «17») плюс значение, которое вы указали в параметре pinBase в функции sn3218Setup(). Параметр value – это значение от «0» (полностью выключенный светодиод) до «255» (полная яркость).

Примечания

  • Перед использованием девайсов с шиной I2C вам нужно загрузить в ядро модули для шины I2C. Для этого впишите
gpio load i2c
  • Если это единственный I2C-девайс, подключенный к Pi, то работайте с ним на частоте 400 КГц. Для этого впишите следующее:
gpio load i2c 400
  • Чтобы проверить, видит ли Pi чип SN3218, который должен быть виден с адресом «0x54», просканируйте шину I2C программой i2cdetect.
  • Если у вас Raspberry Pi версии 1, используйте команду
i2cdetect -q -y 0

, а если версии 2, то

i2cdetect -q -y 1
  • Команда gpio поддерживает команду i2cdetect и автоматически подстраивается под версию платы.
  • Драйвер SN3218 библиотеки WiringPi знает, какую версию Pi вы используете, поэтому никакой предварительной настройки не требуется – ваш код будет работать на обеих версиях Pi.

См.также

Внешние ссылки