Проводка RGB светодиодов

13

Мне было интересно, можно ли подключить 8 отдельных светодиодов RGB, как полоса adafruit . Я видел проект Pumpkin Pi и хотел бы его построить. У меня нет желтых или красных светодиодов, но есть небольшой запас RGB.

Я знаю, что для Arduino я бы использовал резисторы 270 Ом для RGB катодов и управлял каждой яркостью по шкале 0до 255.

Есть ли способ сделать это на Raspberry Pi?


Обновить


Так что я изучил это немного больше. Я понял твои парни об использовании TLC5940светодиодного драйвера.

Так что теперь я снова прошу помощи. Я подумал, 1 длинный вопрос, который в конечном итоге решает это лучше, чем куча разбросанных по стеку обмена. Теперь идет часть проводки. Я использую учебник по монтажу Arduino в качестве начала, так как я над головой. Я также имею в виду данные . По схеме пин 27 or VPRGменя смущает. Диаграмма Arduino обоснована, поэтому я заземляюсь. , , Как мне правильно подключить это к пи? Я также думаю, мне нужны резисторы тоже ...

Извините, если это звучит действительно глупо, но я настоящий новичок в этом деле. Вы должны научиться ползать, прежде чем ходить.

Что мне нужно сделать, чтобы исправить эту схему соединений ( фризирование )?

Файл проводки fzz можно скачать с Google здесь . TLC5940

введите описание изображения здесь


Обновление 2 - после комментария


Принимая во внимание некоторые ответы и комментарии, это будет схема подключения? 330 Ом на анод. 2 кОм для закрепления 20. Как входы от пи до чипа? введите описание изображения здесь

atrueresistance
источник
Оооооо тыква пи =: 0
Петр Кула
Не могли бы вы уточнить несколько вещей? Вы хотите управлять всеми красными, зелеными и синими светодиодами из 8 светодиодов RGB (это займет 24 выхода, что на 8 больше, чем 16, предоставляемых TLC5940). Какие RGB светодиоды вы используете? Нам нужно знать, являются ли они общим анодом или общим катодом (ваша проводка выглядит как общий катод, который не будет работать с TLC5940, который может потреблять только ток. Обычному катоду потребуется другой чип). Также синий может не включиться при использовании 3,3В, поэтому потребуется 5В. Это должно быть через отверстие электроники (например, DIP), а не для поверхностного монтажа. Вас волнует, если он использует 3 чипа вместо одного?
Gbulmer
@gbulmer К сожалению об этом. У меня нет пакета, в который вошли светодиоды, но думаю, что вы правы на общем катоде, так как для освещения их в Arduino я написал HIGH. Сегодня вечером я заберу какой-нибудь общий анод из радиошака. У меня 5 чипов TLC5940, и мне все равно, буду ли я их использовать. Причина, по которой я собираюсь использовать DIP, состоит в том, чтобы использовать макет (детские шаги). После того, как я заработаю, я переключусь на поверхностный монтаж.
atrueresistance

Ответы:

4

Я вижу две вещи, которые следует рассмотреть в этом вопросе:

  1. Как подключиться и общаться с TLC5940

  2. Как подключить светодиоды к TLC5940 .

Для первой части вам необходимо подключить его к контактам i2c заголовка P1 Raspberry Pi (это контакты 3 (данные) и 5 ​​(часы)). Затем вы можете использовать контакт 1 (3,3 В) для VCC TLC5940 . Рекомендуется от 3 В до 5,5 В для входа в соответствии с таблицей. Вы также можете подключить контакт заземления от P1 (например, контакт 5) к заземлению TLC5940 . И вам потребуется дополнительный GPIO (например, контакт 7) для подключения к сигналу XLAT TLC5940, чтобы зафиксировать значение регистра сдвига.

Затем вам нужно будет настроить Pi для связи i2c: предполагая raspbian, удалить i2c-bcm2708из /etc/modprobe.d/raspi-blacklist.conf, загрузить его, i2c-devи вы должны получить /dev/i2c-0и /dev/i2c-1( i2c-1это то, что вам нужно будет использовать для Model B Rev. 2 Pis).

Наконец, вам нужно будет использовать транзакцию i2c, чтобы установить значение внутреннего регистра сдвига, а затем подать сигнал XLAT (если используется вывод 7, это GPIO 4).

Я также упустил из виду вывод GSCLK. Вам нужно будет обеспечить тактовый вход, чтобы внутренний счетчик фактически увеличивался, что можно сделать из другой линии GPIO, если он настроен правильно. Я также не думаю, что шина 3,3 В будет обеспечивать достаточный ток для этого применения ( макс . 50 мА ). Если вы перейдете к шине 5 В, вы можете потреблять до ~ 300 мА , но тогда следует использовать логику 5 В для i2c (и GSCLK), что требует дополнительных компонентов.

Во второй части это звучало так, как будто вы справились с каким-то прошлым проектом Arduino, разве я не понял?

opello
источник
6

Да. Вы будете использовать контакты GPIO в режиме ШИМ для управления каждой шкалой яркости. Пример проводки от wiring.org.co . Утилита GPIO и руководства от Gordons Project - еще одно место для начала

введите описание изображения здесь

редактировать

Как отметил Алекс Чемберлен , только один вывод GPIO поддерживает ШИМ. Вы можете использовать программное обеспечение для достижения ШИМ на других выводах GPIO. Информация и примеры для C & Python .

Это может быть излишним, так как проект Pumpkin Pi требует только оранжевого света. Если у вас есть запас RGB и время для экспериментов, вы можете подсвечивать один светодиодный индикатор на RGB и смешивать их с другими, чтобы получить третичные цвета. Соотношение красного и зеленого в 2 части будет отображаться как оранжевый. Переключение половины красных светодиодов создаст иллюзию оранжевого, мерцающего желтым. Но это теория цвета ; что я не пробовал.

emcconville
источник
1
Разве нет только одного выхода ШИМ?
Алекс Чемберлен,
Хороший вопрос. eLinux утверждает, что все выводы GPIO могут быть перенастроены для ШИМ; однако в общих функциях подключения указано, что только GPIO-1 (вывод 18) поддерживает ШИМ. В разделе 6.2 « Альтернативные назначения функций BCM2835» перечислены все выводы ШИМ; из которых только один присутствует на GPIO пи.
emcconville
Статья eLinux просто плохо написана; ниже немного лучше
Алекс Чемберлен
1
Выводы GPIO на самом деле не могут подавать или потреблять достаточный ток для непосредственного управления светодиодами
John La Rooy
1

Что-то вроде TLC5940 - хороший способ управлять несколькими ШИМ-светодиодами

Также проверьте TCA6507 в приложении «Программирование забавных огней» , хотя оно не доступно в DIP.

Изменить: Это нормально, чтобы сохранить контакт VPRG на TLC5940 подключен к земле. Это просто означает, что вы не можете использовать «точечную коррекцию» для компенсации изменений в ваших светодиодах. Если у вас есть несколько светодиодов, и вы хотите перейти на следующий уровень сложности, вы можете использовать коррекцию точек, чтобы они светились равномерно.

Резистор 2 кОм на контакте 20 необходим для установки выходного тока.

I OUT = 3,96 * R IREF
Обычные светодиоды обычно 20 мА, так что формула дает 2 К для резистора

Джон Ла Рой
источник
0

Это действительно полезная статья о том, как использовать TLC5940 с AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940.

Это очень полезно для изучения процесса написания кода, который работает с TLC5940.

Первая версия примера кода довольно общая. Я работаю над преобразованием всех операторов #define и функций низкого уровня во что-то, что будет работать на Raspberry Pi.

jfenwick
источник