Подключил 74HC595 к Ардуино Уно, на выходы повесил светодиоды. Заганяю в 595 число с переменной. Числа до 127 выводятся нормально светодиоды светятся с нормальной паузой (установил 30мс) после 127 до 255 не светятся а мерцают. Как бы только при включении сразу идет импульс погасить.
Если задать константой число на вывод то так же числа до 127 все нормально, если больше то на мгновение на пол накала засветится и сразу гаснет.
Подскажите где кот зарыт, как заставить светится при любых числах до 255
#define clock 12
#define data 11
#define latch 8
int value1;
void setup(){
pinMode(clock, OUTPUT);
pinMode(data, OUTPUT);
pinMode(latch, OUTPUT);
digitalWrite(latch, HIGH);
}
void sendbyte(byte value){
digitalWrite(latch, LOW);
shiftOut(data, clock, LSBFIRST, value);
digitalWrite(latch, HIGH);
}
void loop() {
value1++;
sendbyte(value1);
delay(30);
}
Где кот зарыт? Ардуино + 74HC595 не выводит корректно
- Реклама
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
А светодиды к 74HC595 подключены через транзисторы или как? Ведь хотя ток одного вывода у 74HC595 ограничен аж 35ма, но ток питания у нее всего лишь 70ма. Не так уж много светодиодов, которым 8ма хватит.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
Без транзисторов. Но только что проверил, отключил половину светодиодов. При этом так же числа больше 127 выводятся с мерцанием.
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
Может быть Вы Q7 с Q7S перепутали? Q7S, кстати, с малой нагрузочной способностью.
Схему бы увидеть...
Добавлено after 4 minutes 20 seconds:
Схему бы увидеть...
Добавлено after 4 minutes 20 seconds:
Стоп! А почему вдруг int? uint8_t должно быть, судя по описанию того, что Вы хотите.djrec писал(а): int value1;
...
value1++;
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
Не знаю почему но когда отключаю землю питания микросхемы 595 от земли ардуино то мерцание прекращаются и светодиоды светятся нормально. (возможно немного тусклее на 10% почти не заметно)
Схема вроде самая стандартная.
(только clock 12, data 11, latch
Схема вроде самая стандартная.
(только clock 12, data 11, latch
- Вложения
-
- 1441594932_maxresdefault.jpg
- (62.94 КБ) 587 скачиваний
- Реклама
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
Вообще-то "стандартным" для 595-го и светиков является подключение светика от + питания на лапку микросхемки при активном нуле и токе через светик не более 5 мА. А противном случае лепим ULN2803 примерно как тут:
http://img.radiokot.ru/files/20529/hkjedehd8.JPG

http://img.radiokot.ru/files/20529/hkjedehd8.JPG
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
74НС и подобным все равно, куда подключена нагрузка, выходные каскады у них комплиментарные, это не ТТЛ с сильно разной нагрузочной способностью для нуля и единицы.BOB51 писал(а): "стандартным" для 595-го и светиков является подключение
djrec писал(а):когда отключаю землю питания микросхемы 595 от земли ардуино то мерцание прекращаются
Re: Где кот зарыт? Ардуино + 74HC595 не выводит корректно
ptr128 писал(а):Может быть Вы Q7 с Q7S перепутали? Q7S, кстати, с малой нагрузочной способностью.
Схему бы увидеть...
Добавлено after 4 minutes 20 seconds:Стоп! А почему вдруг int? uint8_t должно быть, судя по описанию того, что Вы хотите.djrec писал(а): int value1;
...
value1++;
Вечером попробую поменять. Хотя я пробовал ставить заместь переменной константу в10000001 эффект был тот же мерцание. В001000100 выводит нормально.
Попробовал поставить uint8_t, абсолютно никаих изменений.


