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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Raspberry Pi панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} {{Черновик}} =Подключение с…»)
 
Нет описания правки
 
Строка 13: Строка 13:
== Подключение ==
== Подключение ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
#include <wiringPi.h>
#include <wiringPi.h>
#include <sn3218.h>
#include <sn3218.h>
Строка 20: Строка 20:
== Инициализация ==
== Инициализация ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
sn3218Setup (int pinBase) ;
sn3218Setup (int pinBase) ;
</syntaxhighlight>
</syntaxhighlight>
Строка 32: Строка 32:
В программе впишите:
В программе впишите:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
analogWrite (ledPin, value) ;
analogWrite (ledPin, value) ;
</syntaxhighlight>
</syntaxhighlight>
Строка 42: Строка 42:
* Перед использованием девайсов с шиной '''I2C''' вам нужно загрузить в ядро модули для шины '''I2C'''. Для этого впишите  
* Перед использованием девайсов с шиной '''I2C''' вам нужно загрузить в ядро модули для шины '''I2C'''. Для этого впишите  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
gpio load i2c
gpio load i2c
</syntaxhighlight>
</syntaxhighlight>
Строка 48: Строка 48:
* Если это единственный '''I2C'''-девайс, подключенный к '''Pi''', то работайте с ним на частоте '''400 КГц'''. Для этого впишите следующее:  
* Если это единственный '''I2C'''-девайс, подключенный к '''Pi''', то работайте с ним на частоте '''400 КГц'''. Для этого впишите следующее:  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
gpio load i2c 400
gpio load i2c 400
</syntaxhighlight>
</syntaxhighlight>
Строка 55: Строка 55:
* Если у вас '''Raspberry Pi''' версии '''1''', используйте команду  
* Если у вас '''Raspberry Pi''' версии '''1''', используйте команду  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
i2cdetect -q -y 0
i2cdetect -q -y 0
</syntaxhighlight>
</syntaxhighlight>
Строка 61: Строка 61:
, а если версии '''2''', то  
, а если версии '''2''', то  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
i2cdetect -q -y 1
i2cdetect -q -y 1
</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 20:04, 23 мая 2023

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


Черновик


Подключение светодиодного контроллера 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.

См.также

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