Непредсказуемое поведение 74HC595, Q0 не имеет выходного сигнала и мерцания светодиода
Ниже приведены мои схемы:
Я использую регистр сдвига 74HC595 и для проверки своих подключений я подключил 8 светодиодов к выходу и сдвинул 0xFF
в регистр сдвига (1111 1111), это должно осветить все светодиоды. Однако Q1-Q7 загорелись, а Q0 - нет, они очень тусклые и мерцающие,
Проведя некоторые исследования и наткнувшись на развязывающий конденсатор, я установил конденсатор 10 мкФ между шиной 5 В и GND на макетной плате. Тем не менее, проблема все еще сохраняется, я что-то упускаю?
Спасибо!
Вот мой код:
int data_pin = 8;
int latch_pin = 9;
int clock_pin = 10;
int reset_pin = 11;
void setup() {
pinMode(latch_pin, OUTPUT);
pinMode(data_pin, OUTPUT);
pinMode(clock_pin, OUTPUT);
pinMode(reset_pin, OUTPUT);
Serial.begin(9600);
}
void loop() {
reset_SIPO_register();
shift_SIPO(0xFF);
}
void reset_SIPO_register() {
digitalWrite(reset_pin, LOW);
digitalWrite(reset_pin, HIGH);
}
void shift_SIPO(byte sequence) {
digitalWrite(latch_pin, LOW);
shiftOut(data_pin, clock_pin, MSBFIRST, sequence);
digitalWrite(latch_pin, HIGH);
}
@Brendon Cheung, 👍-1
Обсуждение1 ответ
Существует максимальный ток, который может выдавать 74HC595. Вероятно, вы используете больше, чем этот ток.
См . , например , https://electronics.stackexchange.com/questions/77841/how-much-current-can-my-74hc595-handle-on-each-output-pin
Несколько простых проверок:
- Увеличьте значение резистора, чтобы снизить общий ток
- Временно удалите некоторые светодиоды, чтобы проверить, ведут ли себя остальные так, как ожидалось.
- Используйте другие светодиоды с более высоким прямым напряжением, чтобы уменьшить ток.
- Изменение скетча на включение по одному светодиоду за раз, чтобы проверить, работают ли все выходы.
Я попытался удалить 2 светодиода, но Q0 все еще выключен,, @Brendon Cheung
Сколько тока проходит через все светодиоды? Я читал, что максимальное значение составляет 70 мА, и если вы поставите 7 x 20 мА = 140 мА, это вдвое больше, чем он может выдержать., @Michel Keijzers
Я еще не проводил анализ, но что заставляет меня думать, что ток в порядке, так это то, что иногда светодиоды загораются, но по какой-то причине иногда этого не происходит, @Brendon Cheung
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
силовые направляющие разделены посередине на этих длинных макетных платах, @Juraj
@Juraj У меня есть несколько длинных макетов, и на тех, которые разделены, также есть красные / синие линии, прерванные посередине, чтобы показать. Но Брендон: это все равно стоит проверить., @Michel Keijzers
Это звучит как слабая связь. Попробуйте использовать другую часть макетной платы - металлические зажимы в макетной плате иногда изгибаются и выходят из строя, что приводит к плохому соединению., @Majenko
Итак, зеленый провод имеет напряжение 5 В и подключен к верхней красной шине питания и нижней синей... Я не удивлюсь, если у вас светодиодные катоды на 5 В, а не на 0 В: D, @KIIV