и снова про много-много светодиодов..
- Войдите на сайт для отправки комментариев
Задача - управлять большим числом светодиодов в RGB-лентах (порезанных). Ну не суть важно, около 750 RGB-диодов (три в одном). Матрицей.
Необходимо чтобы они горели в любом порядке, который будет предусмотрен в будущем программой. Значит - матрица, строки-столбцы и быстрое переключение.
Правильно ли я мыслю: мартица на 595 вида 16х48 (или больше), то есть по X в три раза больше каналов чем по Y и соответственно мосфеты N а на Y мосфеты P?
Другой вопрос.. про быстродействие. Вот тут на видео видно что матрица мерцает сильно.. Это из за видеосъемки? На глаз такого эффекта не будет? Ну и еще вопрос: явно будет ниже яркость свечения, чем у просто включенных светодиодов. Как ее можно увеличить? Больше напряжение?
Еще вопрос..
Скорее всего будет использоваться матрица 16х48, то есть два 8-пиновых регистра по столбцам и 6 по строкам. Как лучше соединять регистры между собой? Я имею ввиду SO->DS. Ну, и - почему? )))
Ну и еще один, ибо пока я не пойму до конца нюансы работы системы, нормально не сделаю..
Правильно ли я понимаю, что первый shiftOut задвигает состояние пинов в первый подключенный регистр а остальные shiftOut проталкивают его в следующие, заменяя собой содержимое первого? То есть при большем числе последовательно соединенных регистров я сначала заталкиваю содержимое последнего и столько раз в сумме делаю shiftOut, сколько у меня регистров?
Ну а потом уже защелка срабатывает для всех одновременно?
Еще один вопрос:
управлять катодами буд посредством N-мосфетов, тут вроде все понятно в теории. Анодами же - P-мосфетами. Вот только P-мосфеты управляются наоборот - открываются при LOW на gate. Есть ли в adruinо ide простой вариант инвертировать bits в байте? чтоб B11001100 превратилось в B00110011?
Спасибо. Жду ответов и помощи, вопрос срочный - завтра вже травить платку )
Хотя, если логически подумать, 255-byte и есть инверсия. Тогда что то вроде B11111111 - B11001100 = B00110011?