74hc595 непонятная работа
- Войдите на сайт для отправки комментариев
Ср, 23/03/2022 - 13:58
Долго мучаюсь, не пойму что не так, изначально подключил к ESP не работает, на уно так же, подключил в выходу светодиоды, загораются в случайном порядке, то не загораются. пробовал разный код, одно и тоже, подключал параллельно питанию конденсаторы, вроде писали что есть проблема с наводками, не помогает. И тут случайно отключил землю от регистра, и все заработало, при подключении массы все замирает. Но счастье было не долгое, оказывается загорается все по какому то принципу, не зависимо от прошивки. Руки опустились уже
"плач Ярославны" ?
код и схема где?
Да схема классическая, как тут http://arduino.ru/Tutorial/registr_74HC595
Код от туда же:
Код примера 1.1
Да схема классическая, как тут http://arduino.ru/Tutorial/registr_74HC595
Код от туда же
если бы вы взяли код из примера и схему оттуда же - у вас бы все работало.
А раз не работает - значит что-то перепутали, изменили, забыли... Если не хотите выкладывать СВОЙ код и СВОЮ схему - разбирайтесь сами. Могу только посоветовать еще раз тщательно проверить. точно ли по схеме из примера вы собрали.
кстати, судя вот по этой фразе
что-то я сомневаюсь - а вы точно понимаете, в каком порядке они должны загораться? - если вы хотели зажигать их ПОСЛЕДОВАТЕЛЬНО, то это совсем не тот код, который вам нужен
загорается все по какому то принципу
по принципу кодирования двоичных чисел в байте
код вставьте правильно, с номерами строк - напишу вам что поправить для ПОСЛЕДОВАТЕЛЬНОГО зажигания диодов
По логике все загорается и все гаснет. Схему еще раз проверил, прозвонил тестером, все как надо. Защелка подключена с конденсатором. Еще есть странность не всегда стартует, и прошивается подключенная к регистру. При чем есть 2 схемы, одна на макетке, другая распаяна на плате для прототипа
ну так что, проблема решилась?
Если бы, какой то великий рандом.
ТС, а че ты только один пин как выход настроил?
Это остаток от другого, поправил не помогло.
Смотрим документацию на 74HC595. Data is shifted on the LOW-to-HIGH transitions of the SHCP input.
Смотрим wiring_shift.c: void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW);
Может здесь проблема?
Напишите свою shiftOut() и разберетесь...
int latchPin = D1 << D0, D1 - занято Serial-ом в стандартном Arduino.
Спасибо, действительно так работает, хотя во всех примерах на оборот. Еще Питание брал с платы 5в что бы не нагружать стабилизатор, но работает только если брать 3,3в. Хотя вроде при питании 5в 3,3 вольта должны быть логической 1.
вроде при питании 5в 3,3 вольта должны быть логической 1.