Товары из Китая

Cветодиодный индикатор на 74HC595


Cветодиодный индикатор на 74HC595

Была у меня мысля приобрести простенький светодиодный индикатор с последовательным интерфейсом для отлаживания чего нибудь микропроцессорного. Раз последовательный интерфейс — значит мало проводков, раз из семисегментных индикаторов — значит прост в управлении, никаких шрифтов. Рассудив таким образом приобрел следующее:

Free Shipping 4 Bits Digital Tube LED Display Module Four Serial for Arduino 595 Driver

https://aliexpress.ru/item/item/4000587265179.html

Ещё у меня были приобретённые ранее ESP8266:

ESP8266 ESP-01S serial WIFI wireless module wireless transceiver 2.4G

https://aliexpress.ru/item/item/1005001620459347.html

А так-же понижайка:

2020!Mini DC-DC 12-24V To 5V 3A Step Down Power Supply Module Voltage Buck Converter Adjustable 97.5% 1.8V 2.5V 3.3V 5V 9V 12V

https://aliexpress.ru/item/item/32826540392.html

Когда всё приехало, стал думать, что бы из этого смастерить. И надумал сделать часы. А то, поди, ещё никто часов из ESP8266 не делал, дык я первым буду. Часы получились полезные и решают свою задачу. Задача была показывать время ночью в совсем тёмной комнате, когда настенные часы не видны. И чтобы они не требовали к себе никакого внимания, поэтому никаких кнопок и настроек, время берётся из интернета.

Принялся соединять всё воедино, и тут меня ждали сюрпризы.

Первый. На индикаторе установлены пара 74HC595D, а это восьмибитные сдвиговые регистры. Два 8-ми битных регистра на 4 индикатора. Т. е. индикация динамическая.

Второй. На плате ни одного резистора. Не думаю, что они стоят внутри индикатора. Т. е. ток через светодиоды определяется сопротивлением ключей регистра. Ужас. Это ко всему прочему приводит к тому, что «1», состоящая из всего двух сегментов светится ярче прочих цифр. «7» тоже выделяется.

Ах да, чуть не забыл самое главное разочарование. Проводки, что на картинке с индикатором, в посылку не входят.

Но деваться некуда, часы надо делать. Повторить конструкцию никому не предлагаю, поэтому схему не привожу. Да тут всё очень просто.

Питается всё от 5 В через отличную понижайку. На ней надо перепилить перемычку от подстроечного резистора и замкнуть припоем перемычку возле надписи «3.3V».

Ногами ESP8266 распорядился следующим образом:

GPIO0 — RCLK, загрузка из сдвигового регистра в защёлку

GPIO1 — DIO, вход данных сдвигового регистра

GPIO2 — здесь у ESP-01S висит светодиод

GPIO2 — SCLK, строб сдвигового регистра

Подключал индикатор через резисторы. В моём случае это 5.6 кОм, но можно поставить что попало в диапазоне примерно 1 — 10 кОм.

Так как мне надо было чтобы индикатор светился очень слабо и учитывая, чем задаётся ток в этом поделии сумрачного китайского гения, 3.3 В на индикатор подал через пару последовательно включённых кремниевых диода. Двух вольт регистрам хватает. Ещё на индикатор наклеил красную самоклеящуюся плёнку. Попытка притушить индикатор динамически успехом не увенчалась, о чём расскажу дальше.

Ещё запаял монитор питания для сброса ESP-01S при снижении 5 В ниже 4.2 В, а то он иногда зависал при включении. Ну и пару небольших электролитов по питанию добавил. Но это не обязательно.

В программе использованы библиотеки:

Ticker для динамической индикации 1000 раз в секунду и всего остального 1 раз в секунду.

ESP8266WiFi и WiFiUdp для интернету.

NTPClient для часов с установкой времени от NTP сервера.

При включении из интернета берётся время и дальше часы тикают сами по себе. С периодичностью в несколько часов время синхронизируется.

Установка соединения по WIFI и связь с NTP сервером блокирует выполнение моего кода, что приводит к некрасивому замиранию динамической индикации. Поэтому на это время динамическую индикацию отключаю, а чтобы не вводить себя в заблуждение пустым экраном, на это время зажигаю родной синенький светодиод ESP-01S. Чтобы такое светопреставление не мешало ночью, ночная синхронизация откладывается до утра.

Даже когда никакой связи с интернетом нет и микроконтроллеру, казалось бы, совсем нечего делать, чем то там операционная система занимается. Это приводит небольшому помаргиванию динамической индикации. Если притушать индикатор путём холостых циклов динамической индикации, помаргивания усиливаются. Если не присматриваться, то не заметно.

Выводы. Хоть индикатор и был успешно применён, но не понравился совершенно. Динамическая индикация, ток через светодиоды — как бог на душу положит, неравномерное свечение цифр. Ну и проводки я им простить не могу.

Архив с исходником поклал тут: yadi.sk/d/1xUauM4rRQnOwg

Cветодиодный индикатор на 74HC595


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *