Raspberry Pi:Библиотеки/WiringPi/Расширения/Подключение светодиодного контроллера SN3218 (I2C)
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
Подключение светодиодного контроллера 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.