Во-первых, это затраты по времени, а во-вторых (что для меня важно) это не позволяло управлять отдельно любым светодиодом на дисплее, т.е. не давало возможности создавать кастомные символы и выводить какую-нибудь анимацию.
Но при написании библиотеки под Block7Seg_IC я уже подошел по другому, а заодно и переделал библиотеку для Block7Seg. Теперь в памяти хранится уже матрица данных на светодиоды.
Что дает возможность изменять состояние любого из них.
Добавил пару новых функций, но совместимость с предыдущей версией оставил.
Список функций:
setLed(location, led, state);Ну и конечно же функция Print().
setDot(location, state);
setDigit(location, data);
getDigit(location);
setCursor(location);
autoscroll(void);
noAutoscroll(void);
clear(void);
home(void);
scrollDisplayLeft(void);
scrollDisplayRight(void);
PrintTo7Seg
Так же сделал дубль этой библиотеки но уже под другим именем и с возможностью задавать пины подключения дисплея в самой программе, а не в библиотеке.
Т.е. здесь вместо простого объявления переменной:
Block7Seg Seg7(COMMON_CATHODE);
Нужно писать:
byte numOfDigits = 4;
// digitPins - LSB to MSB
byte digPins[] = {3, 7, 8, A0 };
// segmentPins - Dp, A to G
byte ledPins[] = {6, 4, 9, A2, A3, 2, 5, A1};
PrintTo7Seg Seg7(numOfDigits, digPins, ledPins,
COMMON_CATHODE);
Download
Скачать библиотеки можно на сайте Blockduino.org.
Комментариев нет:
Отправить комментарий