Посоветуйте, как увеличить количество выходов
- Войдите на сайт для отправки комментариев
Пнд, 12/03/2012 - 01:38
Есть у меня мешок RGB-светодиодов, хочу собрать 2D-матрицу 8x8. Тут в соседней теме паяют 3D, но там, как я понял, светодиоды одноцветные т.е. нужно большое количество цифровых выходов.
Прочитал несколько статей по увеличению количества пинов на ардуино. Так и не решил, какой вариант использовать: 74HC595 (выход) + 74HC597 (вход) или PCF8574 (I2C).
Хотелось бы минимизировать количество чипов, обязательно нужен аналоговый выход. Пожалуйста, дайте схему готового решения или накидайте советов, как реализовать такую матрицу.
еще есть РСА9555, здесь 16 входов-выходов. но по I2C.
Насколько я понял и сдвиговый регистр и I2C позволят мне записывать произвольное значение от 0 до 255 на мои ноги, верно?
Ну тут нужно еще понять что вы понимаете под "записывать произвольное значение от 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
Примеры тоже гуглятся.
"Общего совета" быть не может. Для разных диодов, разные драверы.
Кстати еще можете погуглить "ambilight своими руками", "ambilight ардуино". На хабре статейки пробегали. Там делали фоновую подсветку для монитора. На RGB светодиодах и RGB-лентах (которые суть тоже самое). Возможно там схемотехнику получится подсмотреть.
"классические" светодиоды жрут 20ма, 74hc595 выдает 50ма. Сейчас лежит собранная платка для "руления" 512 светодиодами, времени нет скетч писать..
2шт 74hc595 и резисторы на ноги решат вопрос автора, если освоится с динамической индикацией и внедрить туда подобие ШИМа - то есть иметь массив leds[a][c] типа byte, где a - аноды (цикл от 0 до 7), c - катоды (внутри цикла a определяет - какие ноги второй микросхемы зажечь). Также есть внутри всего этого цикл яркости. Нога зажигается, есть значение текущей ячейки [a][c] позволяет это сделать.
Все это на достаточно высокой частоте.
"классические" светодиоды жрут 20ма, 74hc595 выдает 50ма.
Хорошо если они "классические". Все-таки RGB разные бывают (я например, не смог найти в продаже классический RGB в продаже). Неизвестно же что у топикстартера. Может вообще что-то поджигаемое 12V. В любом случае танцевать начинать нужно от "что это за RGB", научится рулить хотя-бы одним. А уж потом будет понятней как его "размножить в количествах непотребных" ;)
Но конечно, если 74hc595 подойдет, то наверное это будет самый оптимальный вариант, с точки зрения цены. Но не с точки зрения простоты скетча.
"размножить в количествах непотребных" ;)
Ну хотя да, может у него ленты злобные) Тогда хорошо вписываются сдвоенные мосфеты в so-8 корпусе - и места немного занимают. Можно "логических" транзисторов навтыкать.
Если искать простоты в скетче - то готовый драйвер однозначно..
У меня мешок ARL-5213RGBC. Насколько понимваю, их нужно через три резистора подключать. И выше писали, что 8*8=64, следовательно выводов хватит. А на самом деле не хватит: 8*8*3=192. Так-то.
один резистор на каждый светодиод
хочу собрать 2D-матрицу 8x8
8*8=64, так?
откуда *3 взялось?
откуда *3 взялось?
RGB
ага, ну тогда 3 по строкам, 1 по столбцу - 4 микросхемы.
Возможно ли увеличить количество цифровых выходов до 300шт на Ардуино Мега??
Возможно ли увеличить количество цифровых выходов до 300шт на Ардуино Мега??
зависит от других требований вашей задачи
сдвиговыми регистрами кол-во выходов можно увеличить до бесконечности, но также до бесконечности вырастет время записи в самый крайний регистр