Добрый день. Я использую каскад регистров 74HC595N в количестве пяти штук для управления светодиодами. Подключаю их и строкой : Код (C++): shiftOut(dataPin, clockPin, MSBFIRST, 0); выключаю их. Однако только первые 8 исправно тухнут, а остальные светодиоды светятся как попало, причем всегда в одном и том же порядке. Подскажите что я делаю не так и почему не гаснут все?
Вы прикалываетесь или тупите. Дам задачу проще. У меня 5 светодиодов. Почему когда я выключаю 1, остальные не тухнут. Ответ вашей задачи такой Код (C++): digitalWrite(LanchPin,0); for (byte i=0;i<5;++1)shiftOut(dataPin, clockPin, MSBFIRST, 0); digitalWrite(LanchPin,1);
Мне тоже так казалось, однако это не работает по какой-то причине Код (C++): digitalWrite(latchPin, LOW); for (byte i=0;i<5;i++){ shiftOut(dataPin, clockPin, MSBFIRST, 0); } digitalWrite(latchPin, HIGH);
Я предпочитаю использовать это.Пакет https://yadi.sk/d/WaW7iUgj3GPUvp Спойлер: головной файл Код (C++): /*Wire_74HC595.ino */ const int Latch_pin = 3; const int CLK_pin = 4; const int Data_pin = 2; const int max_device = 4; bool stat = 0; #include "Out_74HC595.h" Out_74HC595 Out(Latch_pin, CLK_pin, Data_pin, max_device); #include "Cl_led.h" Cl_led led[] = { Cl_led(&Out, 0, 1, 0), // шина-Out,1 горит,1-я 74HC595,D0 Cl_led(&Out, 0, 1, 1), // шина-Out,1 горит,1-я 74HC595,D1 Cl_led(&Out, 0, 1, 2), // шина-Out,1 горит,1-я 74HC595,D2 Cl_led(&Out, 0, 1, 3) // шина-Out,1 горит,1-я 74HC595,D3 }; void setup() { Out.setup(); for (byte i = 0; i < 4; i++) led[i].setup(); led[0].blink(100); led[1].blink(150); led[2].blink(500); led[3].blink(1000); } void loop() { for (byte i = 0; i < 4; i++) led[i].loop(); }