Лишние символы 7 сегментный динамическая индикация
- Войдите на сайт для отправки комментариев
Собственно проблема с библиотекой SevSeg для 7 сегментных индикаторов с github .
Подключил трехразрядный с общим катодом, все заработало, потом попробовал через транзисторные сборки вывести инфу на люминесцентный индикатор ИЛЦ2-16-8 и оказалось, что выводятся лишние символы, например при выводе числа 862 отображается 2 на двух крайних разрядах вместо одного. На люминесцентном индикаторе 2 накладывается на 8 и получается что то не внятное, тогда как на светодиодном индикаторе этот баг заметен только если сильно замедлить вывод символов. По ссылке видео с работой
Я пока ума не дал, может глянет кто опытным глазом в чем причина такого поведения. Спасибо!
Библиотека
https://github.com/DeanIsMe/SevSeg
https://www.youtube.com/watch?v=FSaCKheB-Eo&feature=youtu.be
#include "SevSeg.h" SevSeg sevseg; //Instantiate a seven segment controller object void setup() { byte numDigits = 3; byte digitPins[] = {4, 3, 2}; byte segmentPins[] = {5, 6, 7, 8, 9, 10, 11 }; bool resistorsOnSegments = true; // 'false' means resistors are on digit pins byte hardwareConfig = COMMON_CATHODE; // See README.md for options bool updateWithDelays = false; // Default 'false' is Recommended bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros bool disableDecPoint = false; // Use 'true' if your decimal point doesn't exist or isn't connected sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros, disableDecPoint); sevseg.setBrightness(1000); } void loop() { sevseg.setNumber ( 862 ); delay(1000); sevseg.refreshDisplay(); // Must run repeatedly } /// END ///
Почему
disableDecPoint =
false
;
но при этом только семь сегментов определено в строке №7?
Вот что значит не знал куда смотреть.. Сейчас сразу воткнул и все поехало. Позже буду пробовать с VFD. Спасибо большое!