74HC595 регистр сдвига не работает

Несколько дней назад я получил свой комплект Arduino и прошел через некоторые учебные пособия.

Я добрался до 8 светодиодов со сдвиговым регистром, где я застрял. Ничего не загорелось после того, как я подключил все и загрузил скетч.

arduino

Это схема, которую я попытался воссоздать с помощью Fritzing, и следующий код, который я использовал, из учебника :

int tDelay = 100;
int latchPin = 11;      // (11) ST_CP [RCK] on 74HC595
int clockPin = 9;      // (9) SH_CP [SCK] on 74HC595
int dataPin = 12;     // (12) DS [S1] on 74HC595

byte leds = 0;

void updateShiftRegister()
{
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, LSBFIRST, leds);
  digitalWrite(latchPin, HIGH);
}

void setup()
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
}

void loop()
{
  leds = 0;
  updateShiftRegister();
  delay(tDelay);
  for (int i = 0; i < 8; i++)
  {
    bitSet(leds, i);
    updateShiftRegister();
    delay(tDelay);
  }
}

Я также попытался использовать 8-сегментный цифровой дисплей, используя тот же регистр сдвига, также потерпел неудачу.

Есть ли что-то неправильное, что я делаю, или это может быть, что маленький чип сломан?

Я случайно обнаружил, что, когда я переключаю землю с контакта 8 на 595 на 5V, все светодиоды загораются.

Обновление : У меня есть такая же схема в Tinkercad, что-то вроде симулятора Arduino. После сброса кода и запуска моделирования, после того, как он загорается 5-й светодиод, я получаю следующее предупреждение :

warning

Однако, когда я меняю резисторы 220 Ом на что-то вроде резисторов 500 Ом, это всплывающее окно исчезает. Может быть, это еще одна причина, по которой мой чип может быть сломан в данный момент?

, 👍-1

Обсуждение

Светодиоды загораются из-за защитных диодов на входах/выходах. У вас есть отрицательное напряжение на выходах, поэтому ток течет. Я бы беспокоился о вводе OE, так как он жестко привязан к земле. Защитные диоды предназначены только для малых токов, поэтому я ожидаю, что защитный диод горит, и после этого /OE может быть разрушен., @KIIV

Кстати: код + схема работает., @KIIV

Ладно... спасибо, что подтвердил. Наверное, придется купить новый вахтовый регистр... проблема в том, что я понятия не имею, где в городе можно достать такую электронику. Все равно спасибо!, @hiimsoba

И проверьте, не слишком ли ослаблены соединения в макете. Из-за этого у меня один мертвый "пиксель"., @KIIV

Я попробовал конфигурацию в разных местах на макете и с разными проводами... тот же результат., @hiimsoba

рельсы питания и заземления на макетах иногда прерываются в середине макета, @Juraj


3 ответа


0

Одно упущение, которое я вижу, заключается в том, что у вас нет байпасного конденсатора через Vcc и Gnd 74HC595. Без этого у вас была бы несогласованная работа.

Но если бы вы поменяли мощность на чипе, это было бы главной проблемой, и я уверен, что чип поврежден.

Что бы я сделал, так это поставил светодиоды на часы, данные и линии защелки. А затем сделайте задержку очень длинной, 1 секунду, чтобы вы могли видеть, что делают линии. Просто чтобы убедиться, что вы получаете результат, которого ожидаете. Но сначала положите на чип байпасный колпачок.

Также дважды проверьте, что ваши светодиоды находятся в правильном положении.

,

Я совсем новичок в области электроники, могу я спросить, что я должен делать, шаг за шагом? Я следовал руководству, которое получил вместе с комплектом, и в нем не было никаких конденсаторов. Светодиоды расположены правильно, я уже пробовал каждый из них раньше, и все они загораются., @hiimsoba


1

Несколько мыслей

Подключение 5 В к контакту 8 (=gnd) не является хорошей идеей. Это может не привести к каким-либо повреждениям, если контакт 16(=vcc) также подключен к 5v, но я бы не стал полагаться на это. Как правило, обратное напряжение убьет всю электронику, если они специально не защищены от него.

Для светодиодов я бы использовал резисторы от 1k до 10k Ом. Это дает еще достаточно тока, чтобы увидеть, как они загораются. Использование 330 Ом просто занимает больше тока и делает светодиоды чрезвычайно яркими (3 мА достаточно).

Для проверки того, работает ли что-то простое, например, shiftregister, flipflop или логический элемент, я бы вообще не использовал микроконтроллер. Вы можете просто использовать пару переключателей, прикрепленных к контактам CLK и защелки, с ползунковым переключателем, прикрепленным к контакту ДАННЫХ, чтобы выбрать 1 или 0 входных битов. Это устраняет одну точку, где все может пойти не так.

Независимо от того, вставляете ли вы перепускной колпачок, не будет иметь значения, если ваш запас достаточно мощный и стабильный. Я использую зарядное устройство своего сломанного ноутбука, которое может доставить 5 В до 2,5 ампер. В этой установке мне не нужно никакого обхода, хотя это все еще лучшая практика, чтобы включить его.

Добавление светодиодов к последовательному входу, защелке и переключению часов и последовательному выходу также может помочь решить проблему.

Также убедитесь, что у вас нет хитрых кабелей. Если какой-либо из проводов сломан или имеет микроскопические внутренние разрывы, это может привести к неправильному поведению и очень трудно найти.

Одна вещь, которую я сделал, когда я попытался, если мои чипы работают, это сначала использовать известный хороший чип от коллеги, чтобы подтвердить, что схема была в порядке.

В зависимости от того, откуда вы берете энергию, добавление светодиода питания, как правило, тоже хорошая идея. Если вы питаете все от powerbank, вы можете обнаружить, что некоторые из них просто отключают выходы, если есть меньше, чем определенный пороговый ток, вытекающий наружу. Это может привести к таким эффектам, как "схема работала в течение 30 секунд, а затем умерла. После отключения и ожидания пару секунд и пополнения питания он снова работает..." По этой причине я включаю светодиод питания почти в каждый свой проект.

,

Похоже, что ваш ответ получит несколько голосов "против". Возможно, если бы вы потрудились правильно построить английские предложения, это помогло бы? Предложения начинаются с заглавной буквы, а слово "я" пишется с заглавной буквы. Это не сообщение с мобильного., @Nick Gammon

Действительно? Это кажется неоправданно жестким, чтобы проголосовать за ответ, потому что он не пунктуирован и не начинается с заглавных букв правильно. Я также не мог видеть, что в качестве причины в справочном центре https://arduino.stackexchange.com/help/privileges/vote-down ... Вот если бы английская литература была ТАКИМ сообществом, я бы, пожалуй, согласился. Жаль, что люди не обязаны давать повод для голосования... Я получил несколько на сайте arduino и часто не имею понятия, почему., @GMc

Это хорошее обсуждение рекомендаций по устранению неполадок (особенно, например, вопрос о тестировании с помощью коммутаторов вместо кода микроконтроллера). Я внес грамматические правки и удалил некоторые излишне провокационные фразы ("глупая идея" и т. Д.), @Assad Ebrahim


1

Единственный способ, который я нашел, чтобы заставить эту схему работать , - это подключить 8 подтягивающих резисторов (1k) от vcc к каждому из выходных выводов 74hc595 , без которых светодиоды никогда не загораются.

,