Не могу подключить сдвиговый регистр 74hc595 к Ардуино

riba
Offline
Зарегистрирован: 05.08.2015

Добрый день! Странное дело! Пытаюсь подключить 7 светодиодов к Ардуино Уно через сдвиговый резистор, и вот в чем дело:

подключаю все в точности по схеме, перепроверил 10 раз с трех разных сайтов как подключать этот регистор, не получается! Данные в него не записываются, светодиоды после подключения к шнуру постоянно горят включенными (даже без вшитого скетча), выгрузка скетчей (всеразличных с разных сайтов) не приводит ни к каким изменениям! Все диоды так и продолжают всегда гореть подключенными! На самой ардуинке после выгрузки скетчей начинает постоянно мигать светодиод с надписью L (горит желтым на фото). Сдвиговый регистр точно в норме (три штуки разных пробовал), Помогите в чем может быть проблема?

 

alex_r61
Offline
Зарегистрирован: 20.06.2012

А код где, и схема. По этому фото схему не уградать.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012
riba
Offline
Зарегистрирован: 05.08.2015

Код и схема в точности как тут: http://arduino.ru/Tutorial/registr_74HC595 (впрочем снизу все указано)

только вместо 8 обычных диодов - семисегментный индикатор с общим катодом (выход Q0 е задействован), а в остальном буква в букву все проверил! Без сдвигового регистра данный индикатор нормально работает!

 

int latchPin = 8;
//Пин подключен к SH_CP входу 74HC595
int clockPin = 12;
//Пин подключен к DS входу 74HC595
int dataPin = 11;
 
 
 
void setup() {
  //устанавливаем режим OUTPUT
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}
 
void loop() {
  // отсчитываем от 0 до 255  и отображаем значение на светодиоде
  for (int numberToDisplay = 0; numberToDisplay < 256; numberToDisplay++) {
    // устанавливаем синхронизацию "защелки" на LOW
    digitalWrite(latchPin, LOW);
    // передаем последовательно на dataPin
    shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); 
 
    //"защелкиваем" регистр, тем самым устанавливая значения на выходах
    digitalWrite(latchPin, HIGH);
    // пауза перед следующей итерацией
    delay(500);
  }
}

Мигание желтым светом светодиода L на Ардуино тут не при чем?

 

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

OE  ---  output enable.....

MR    Сброс происходит при получение LOW

riba
Offline
Зарегистрирован: 05.08.2015

OE - подключен к минусу,
MR - к плюсу,

или к чему было написано?

"OE  ---  output enable.....

MR    Сброс происходит при получение LOW"