Библиотека SegMap595: автоматизация вычисления выводимых байтов

Erling

✩✩✩✩✩✩✩
25 Янв 2023
4
3
Всем привет. Делюсь тем, что натворил — библиотекой SegMap595.

Многие мои Arduino-проекты связаны с выводом символов на 7-сегментные индикаторы (дисплеи) с помощью микросхем 74HC595, и поскольку мне надоело заранее вычислять и хардкодить байты, соответствующие выводимым символам, с учётом порядка физического соединения выводов микросхемы и входов индикатора, я решил написать библиотеку, которая упрощает задачу формирования байтов.

Суть её работы: нужно задать строку вроде "ED@CGAFB", которая отражает фактический порядок соединений в схеме (какой вывод микросхемы подключён к какому сегменту индикатора) и "загрузить" её в экземпляр класса с помощью метода init(), указав также тип индикатора (общий катод или общий анод). После этого получаем полный комплект сформированных байтов ("битовых масок", "паттернов"), которые забираем по необходимости с помощью геттеров (есть два основных оверлоуда: один принимает индекс, второй — char, соответствующий забираемому символу). Проверка на ошибки — в комплекте.

Уже добавил в список библиотек Arduino Library Manager, можно скачивать через Arduino IDE и arduino-cli. Ссылки на репозитории:
https://github.com/ErlingSigurdson/SegMap595 — основной (Arduino Library Manager тянет оттуда).
https://gitflic.ru/project/efimov-d-v/segmap595 — запасной.

Надеюсь, кому-нибудь пригодится.