Помогите разобраться с 74HC595
- Войдите на сайт для отправки комментариев
Доброго времени суток.
Начал разбираться с увеличением выходов при помощи микросхемы 74HC595. Для експеримента, спаял по схеме описаной на даном сайте каскадом 3 штуки к которым подключено 16 светодиодов (3 ряда). Возникли следующие вопросы:
1. Сколько можно подключить таких микросхем (нужно 160 выходов)
2. Какое максимальное напряжение можно подавать на Vcc
3. Как контролировать состояние выходов при помощи пинов MR и OE
и проблемы:
При исполнении следующего (и всех других которые запускал) скетча в момент переключения слегка подмигивают те светодиоды которые не должны. Заметно ето именно в момент перехода синхронизации latchPin, LOW. Когда вставил туда delay то стало особенно заменто.
int latchPin = 8; int dataPin = 11; int clockPin = 12; int waitFor = 200; void setup() { pinMode (dataPin, OUTPUT); pinMode (clockPin, OUTPUT); pinMode (latchPin, OUTPUT); } void loop() { lightLeds (0b00000001, 0b00000001, 0b00000001); lightLeds (0b00000010, 0b00000010, 0b00000010); lightLeds (0b00000100, 0b00000100, 0b00000100); lightLeds (0b00001000, 0b00001000, 0b00001000); lightLeds (0b00010000, 0b00010000, 0b00010000); lightLeds (0b00100000, 0b00100000, 0b00100000); lightLeds (0b01000000, 0b01000000, 0b01000000); lightLeds (0b10000000, 0b10000000, 0b10000000); lightLeds (0b01000000, 0b01000000, 0b01000000); lightLeds (0b00100000, 0b00100000, 0b00100000); lightLeds (0b00010000, 0b00010000, 0b00010000); lightLeds (0b00001000, 0b00001000, 0b00001000); lightLeds (0b00000100, 0b00000100, 0b00000100); lightLeds (0b00000010, 0b00000010, 0b00000010); } void lightLeds (byte third, byte second, byte first) { // третий второй первый ряд digitalWrite (latchPin, LOW); delay (waitFor); ----------------------------------------------------------проблема shiftOut (dataPin, clockPin, LSBFIRST, first ); shiftOut (dataPin, clockPin, LSBFIRST, second); shiftOut (dataPin, clockPin, LSBFIRST, third ); digitalWrite (latchPin, HIGH); delay (waitFor); }
Видел что можно организовать управление при помощи SPI, но пока не разобрался. Может кто подкинет простенький скетч на даной библиотеке.
Вобщем прошу помощи в решении даной проблемы.
Какое максимальное напряжение можно подавать на Vcc
5в 50ма вроде, в даташите точнее глянь. В любом случае лучше транзисторо повесить, защитить таксказать.
в момент переключения слегка подмигивают те светодиоды которые не должны
вроде там конденсатор лепится, помоему от этого. Посмотри на примере на этом же сайте.
Разобрался!
Оказываеться подобное поведение происходило по вине блока питания который питал светодиоды (обычная зарядка от нокиа 5в 500ма). Подключив питание к самому ардуино все заработало стабильно. Но 150 светодиодов одновременно ардуино наверное не потянет.
Так что возник вопрос о подборе БП. Какие характеристики должен иметь последний?
Но 150 светодиодов одновременно ардуино наверное не потянет.
вот тут их 512