Посоветуйте, как увеличить количество выходов

CYB3R
Offline
Зарегистрирован: 28.06.2011

Есть у меня мешок RGB-светодиодов, хочу собрать 2D-матрицу 8x8. Тут в соседней теме паяют 3D, но там, как я понял, светодиоды одноцветные т.е. нужно большое количество цифровых выходов.

Прочитал несколько статей по увеличению количества пинов на ардуино. Так и не решил, какой вариант использовать: 74HC595 (выход) + 74HC597 (вход) или PCF8574 (I2C).

Хотелось бы минимизировать количество чипов, обязательно нужен аналоговый выход. Пожалуйста, дайте схему готового решения или накидайте советов, как реализовать такую матрицу.

chaytan
Offline
Зарегистрирован: 02.02.2012

еще есть РСА9555, здесь 16 входов-выходов. но по  I2C.

CYB3R
Offline
Зарегистрирован: 28.06.2011

Насколько я понял и сдвиговый регистр и I2C позволят мне записывать произвольное значение от 0 до 255 на мои ноги, верно?

leshak
Offline
Зарегистрирован: 29.09.2011

 Ну тут нужно еще понять что вы понимаете под "записывать произвольное значение от 0 до 255 на мои ноги".

В случае РСА9555 - у нее имеется 16-ть тог на выход. На одну i2c шину можно посадить только 8 штук РСА9555. 8*16=128 выходов.

Что, по идее перекрывает ваши потребности в два раза (8*8=64).

Но если мы посмотрим на слова "нужен аналоговый выход", то понимаем что вам не подходит ни РСА9555, ни 74HC597.

Если же прочитать что вы хотите рулить RGB-светодиодами, то понимает что и аналоговый выход вам не нужен (хотя эти микрухи все равно не подойдут).

Светодиодны рулятся не "аналогом", а ШИМ-мом. Он же PWM. Прежде чем матрицу собирать, возьмите один и научитесь рулить им.

То есть вам нужно искать сдвиговые регистры которые PWM выдают (у TI что-то такое было, но сейчас не вспомню точно). 

Кроме того если RGB имеет какую-то более серьезную яркость, то рулить им "прямо с ноги" - нельзя. Сожгете ногу. Нужно какой-то транзистор между ним и ногой монстрячить. Кстати RGB бывают с общим анодом, а бывают с общим катодом.

Вот такой "гибрид", когда в одной микрухе совмещается способность выдавать PWM и давать достаточный ток для диода называет LED Driver (Драйвер Светодиода). Микрухе специально  заточенные под управление диодами. Точно марку не скажу, но гуглится легко. Например вот тут валом focus.ti.com/paramsearch/docs/parametricsearch.tsp

Примеры тоже гуглятся.

"Общего совета" быть не может. Для разных диодов, разные драверы.

leshak
Offline
Зарегистрирован: 29.09.2011

 Кстати еще можете погуглить "ambilight своими руками", "ambilight ардуино". На хабре статейки пробегали. Там делали фоновую подсветку для монитора. На RGB светодиодах и RGB-лентах (которые суть тоже самое). Возможно там схемотехнику получится подсмотреть.

whoim
Offline
Зарегистрирован: 03.11.2011

 "классические" светодиоды жрут 20ма, 74hc595 выдает 50ма. Сейчас лежит собранная платка для "руления" 512 светодиодами, времени нет скетч писать.. 

2шт 74hc595 и резисторы на ноги решат вопрос автора, если освоится с динамической индикацией и внедрить туда подобие ШИМа - то есть иметь массив leds[a][c] типа byte, где a - аноды (цикл от 0 до 7), c - катоды (внутри цикла a определяет - какие ноги второй микросхемы зажечь). Также есть внутри всего этого цикл яркости. Нога зажигается, есть значение текущей ячейки [a][c] позволяет это сделать.

Все это на достаточно высокой частоте.

leshak
Offline
Зарегистрирован: 29.09.2011

whoim пишет:

 "классические" светодиоды жрут 20ма, 74hc595 выдает 50ма. 

Хорошо если они "классические". Все-таки RGB разные бывают (я например, не смог найти в продаже классический RGB в продаже). Неизвестно же что у топикстартера. Может вообще что-то поджигаемое 12V. В любом случае танцевать начинать нужно от "что это за RGB", научится рулить хотя-бы одним. А уж потом будет понятней как его "размножить в количествах непотребных" ;)

Но конечно, если 74hc595 подойдет, то наверное это будет самый оптимальный вариант, с точки зрения цены. Но не с точки зрения простоты скетча.

whoim
Offline
Зарегистрирован: 03.11.2011

 "размножить в количествах непотребных" ;)

Ну хотя да, может у него ленты злобные) Тогда хорошо вписываются сдвоенные мосфеты в so-8 корпусе - и места немного занимают. Можно "логических" транзисторов навтыкать. 

Если искать простоты в скетче - то готовый драйвер однозначно..

CYB3R
Offline
Зарегистрирован: 28.06.2011

У меня мешок ARL-5213RGBC. Насколько понимваю, их нужно через три резистора подключать. И выше писали, что 8*8=64, следовательно выводов хватит. А на самом деле не хватит: 8*8*3=192. Так-то.

whoim
Offline
Зарегистрирован: 03.11.2011

 

один резистор на каждый светодиод

хочу собрать 2D-матрицу 8x8

8*8=64, так?

откуда *3 взялось?

leshak
Offline
Зарегистрирован: 29.09.2011

whoim пишет:

 

откуда *3 взялось?

RGB

whoim
Offline
Зарегистрирован: 03.11.2011

ага, ну тогда 3 по строкам, 1 по столбцу - 4 микросхемы.

Viktor161
Offline
Зарегистрирован: 24.01.2014

Возможно ли увеличить количество цифровых выходов до 300шт на Ардуино Мега?? 

axill
Offline
Зарегистрирован: 05.09.2011

Viktor161 пишет:

Возможно ли увеличить количество цифровых выходов до 300шт на Ардуино Мега?? 

зависит от других требований вашей задачи

сдвиговыми регистрами кол-во выходов можно увеличить до бесконечности, но также до бесконечности вырастет время записи в самый крайний регистр