Лишние символы 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. Спасибо большое!