проблема с 74HC595
- Войдите на сайт для отправки комментариев
Пнд, 25/02/2013 - 22:03
На основе туториала http://arduino.ru/Tutorial/registr_74HC595 решил потренироваться и позажигать последовательно все светодиоды и обратно, это последний вариант алгоритма, до этого делал через цикл варьируя bitOrder - один хрен результат тот же, в коде видно что потом уже решил выводить просто единицу, но светодиод мигает раз 5-6 и потом около 8 циклов молчит, и опять, отладка показала что numb высчитывается корректно, в чем проблема?
ЗЫ. только начинаю
//Пин подключен к ST_CP входу 74HC595
int latchPin = 8;
//Пин подключен к SH_CP входу 74HC595
int clockPin = 12;
//Пин подключен к DS входу 74HC595
int dataPin = 11;
boolean flag = true;
int numb = 1;
void setup() {
//устанавливаем режим OUTPUT
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (numb==1) {
flag=true;
numb = numb * 2;
}
else if (numb==128) {
flag=false;
numb = numb / 2;
}
else {
if (flag==true) {
numb = numb * 2;
}
else {
numb = numb / 2;
}
}
Serial.println(numb);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, 1);
digitalWrite(latchPin, HIGH);
delay(500);
}
сразу оговорюсь что схема правильно собрана, скетчи из туториала работали на 100, но вот тут не пойму чего-то
подставил B10010 такая же хрень, мигает два раза и секунд 6-7 пауза
Сколько регистров вы подключаете?
Тоже вопросик. Все сделал по примеру 2.2 (http://arduino.ru/Tutorial/registr_74HC595)
Соответственно 2 регистра стоит. Диоды загораются, но очень слабо, буквально на
короткий импульс в самый минимальный процент яркости. Ошибка в коде или в руках?
ЗЫ. На момент ресета, часть диодов загорается в полную силу,
но не всегда.
имеет смысл попробовать на проводах data - 11, clock - 13, latch - любой кроме 12го.
Эффект тот-же к сожалению.
Косяк в коде. А я весь моск сломал.
Единственное, что цикл начинается со второго регистра, но это меняется
И в 3-й строке тут, меняем 16 на 17, оначе последний диод гореть не будет.
Эффект тот-же к сожалению.
Вам предложили хардверный SPI использовать
Спасибо. Можно на ты, если не против.
ТОлько начинаю потихоньку изучать дуину.
возможно так: http://www.robocraft.ru/blog/arduino/519.html
лично мне был тот пример понятнее. у функции передачи меньше аргументов, меньше шанс ошибиться.