Добрый день..
Обнаружил адекватно работающий с цифрами и точками блок.
Разобрал его по полочкам так как справка от автора немного скупая (дополнил для понимания) и проверил в железе..
Автору отдельная благодарность...
Блок для индикации значений с десятичной плавающей запятой.
Запятая управляется значением i (0-3).
Вход Value - float.
BRIGHT - яркость дисплея (0-7).
Автор Palytch
(Положение десятичной точки: 3 = 0,000; 2 = 00,00; 1 = 000,0; 0 = 0000, обнаружил в комментариях входа i от автора )
(Справка от VNL64T проверено в железе.
Библиотека TM1637TinyDisplay.h ver 1.11.0
Например при числе
на входе 9
значении i 0 на дисплей выводится значение 9 без точек
значение i 1 на дисплей выводится значение 9.0
значение i 2 на дисплей выводится значение 9.00
значение i 3 на дисплей выводится значение 9.000
Тут вроде все понятно а дальше весьма интереснее..
на входе 9.876
значении i 0 на дисплей выводится значение 10
значение i 1 на дисплей выводится значение 9.9
значение i 2 на дисплей выводится значение 9.88
значение i 3 на дисплей выводится значение 9.876
на входе 98.76
значении i 0 на дисплей выводится значение 99
значение i 1 на дисплей выводится значение 98,8
значение i 2 на дисплей выводится значение 98,76
значение i 3 на дисплей выводится значение 98,76
на входе 987.6
значении i 0 на дисплей выводится значение 988
значение i 1 на дисплей выводится значение 987.6
значение i 2 на дисплей выводится значение 987.6
значение i 3 на дисплей выводится значение 987.6
Как видно он не только перемещает точку но и может округлять в меньшею или большую сторону, тоже происходит например с Тысячными на входе при числе имеющем больше знаков чем индикатор , например 30.528 при значении i 3 отображаться будет 30.53 итд..
Но не без ложки дегтя УВЫ, не знаю как но этот блок как-то портит чтение 0 и1 на аналоговых входах работающих как цифровые, например энкодер подключённый к А1 и A2 прекращает адекватно работать..

, и да тормозят абсолютно все входы и проблема как я вижу не в блоке а именно в библиотеке TM1637TinyDisplay