Підключення світлодіодних RGB


13

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

Я знаю, що для arduino я використовував би резистори 270ohm для RGB катодів і контролював кожну яскравість за шкалою 0до 255.

Чи є спосіб це зробити на Raspberry Pi?


Оновлення


Тому я трохи більше розглядав це. Я взяв ідею ваших хлопців щодо використання TLC5940світлодіодного драйвера.

Тож зараз я знову прошу допомоги. Я вирішив 1 довге питання, яке врешті-решт вирішує це краще, ніж купу, розкидану по всій стеке. Тепер приходить частина проводки. Я використовую підручник з проводки arduino для початку, оскільки я перебуваю над головою. Я також маю на увазі інформаційний лист . За діаграмою шпилька 27 or VPRGмене бентежить. Діаграма Ардуїно обґрунтована, тому я заземлюю. . . Як це правильно підключити до пі? Я також здогадуюсь, що мені також потрібні резистори ...

Вибачте, якщо це звучить по-справжньому нерозумно, але я справжній новачок у цій справі. Ви повинні навчитися повзати, перш ніж ви зможете ходити.

Що потрібно зробити, щоб виправити цю схему електромонтажу ( фризування )?

Файл fzz проводки можна завантажити з google тут . TLC5940

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


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


Беручи до уваги деякі відповіді та коментарі, це тоді буде схема проводки? 330ом до аноду. 2 к Ом на шпильку 20. Як входи потрапляють з пі на чіп? введіть тут опис зображення


Ooohhh гарбуз pi =: 0
Пьотр Кула

Ви б пояснили кілька речей? Чи бажаєте ви керувати всіма червоними, зеленими та синіми світлодіодами з 8 світлодіодів RGB (це займе 24 виходу, тобто на 8 більше, ніж 16, передбачених TLC5940). Які світлодіодні RGB ви використовуєте? Нам потрібно знати, чи це загальний анод, або загальний катод (ваша проводка схожа на загальний катод, який не працюватиме з TLC5940, який може пропускати тільки струм. Для звичайного катода знадобиться інша мікросхема). Також синій може не включати 3,3 В, тому знадобиться 5 В. Повинно бути через отвір електроніки (наприклад, DIP), а не поверхневе кріплення. Вам байдуже, якщо він використовує 3 фішки замість одного?
габлмер

@gbulmer Вибачте за це. У мене немає пакета, до якого входив світлодіод, але, думаю, ви правильні на загальному катоді, щоб запалити їх у ардуїно, я написав ВИСОК. Я сьогодні підберу якийсь звичайний анод із радіошока. У мене є 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) до GND TLC5940 . І вам знадобиться додатковий GPIO (наприклад, контакт 7) для підключення до сигналу XLAT TLC5940 для фіксації у значенні регістра зсуву.

Тоді вам потрібно встановити Пі для i2c зв'язку: яка передбачає raspbian, видаліть i2c-bcm2708з /etc/modprobe.d/raspi-blacklist.conf, завантажте його і i2c-devі ви повинні отримати /dev/i2c-0і /dev/i2c-1( i2c-1це те , що вам потрібно буде використовувати для моделі B Rev. 2 Pis).

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

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

У другій частині це звучало так, ніби ви працювали з якогось минулого проекту Arduino, якщо я не перечитав?


6

Так. Ви б використовували штифти GPIO в режимі ШІМ для управління кожною шкалою яскравості. Приклад проводки від wiring.org.co . Утиліта та посібники GPIO від Gordons Project - це ще одне місце для початку

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

Редагувати

Як зазначив Алекс Чемберлен , лише один штифт GPIO підтримує PWM. Ви можете використовувати програмне забезпечення для досягнення ШІМ на інших штифтах GPIO. Інформація та приклади для C & Python .

Це може бути надмірним, оскільки проект Pumpkin Pi вимагає лише помаранчевого світла. Якщо у вас є запас RGB і час для експерименту, ви можете освітлити один RGB кольором на RGB і змішати їх з іншими, щоб генерувати третинні кольори. Співвідношення червоного та двома частин зеленого кольорів з’явиться помаранчевим. Перемикання половини червоних світлодіодів створить ілюзію мерехтіння оранжевого до жовтого. Але це теорія кольорів ; який я не пробував.


1
Чи не є лише один вихід ШІМ?
Алекс Чемберлен

Гарне питання. eLinux стверджує, що всі штифти GPIO можуть бути налаштовані для ШІМ; однак у Загальних функціях проводки зазначено, що лише GPIO-1 (контакт 18) підтримує ШІМ. Розділ 6.2 Альтернативне Призначення функцій з BCM2835 списку всіх PWM шпильки; з яких, лише один присутній у GPIO пі.
emcconville

Стаття про eLinux просто погано написана; трохи краще нижче.
Алекс Чемберлен

1
Штифти GPIO насправді не можуть джерело або заточують достатньо струму для прямого керування світлодіодами
John La Rooy

1

Щось на зразок TLC5940 - це хороший спосіб керувати декількома PWM'd світлодіодами

Також перегляньте TCA6507 у додатку "Програмування веселих вогнів" , хоча він не доступний у DIP

Редагувати: Добре тримати штифт VPRG на TLC5940 підключеним до землі. Це просто означає, що ви не можете використовувати "корекцію точок", щоб компенсувати зміни ваших світлодіодів. Якщо у вас є купа світлодіодів, і ви хочете перейти до наступного рівня складності, ви можете скорегувати крапки, щоб вони засвітилися рівномірно.

Для встановлення вихідного струму необхідний резистор 2k на штирі 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.