Вывод дробных чисел на 7led индикатор

Ответить
Evolad
Рядовой
Сообщения: 59
Зарегистрирован: 18.12.2018{, 11:48}
Репутация: 0
Имя: Яковлевич

Вывод дробных чисел на 7led индикатор

#1

Сообщение Evolad » 21.04.2022{, 09:08}

Добрый день. Собрал простенький термометр на arduino mini, ds18b20 и семисегментном индикаторе (версия flprog 7.4.6 x64). Проблема следующая: сначала на 7led дисплей выводилось почти всё корректно при положительной температуре типа " 22.5", но при отрицательной температуре получался следующий вид: " -.5" . Далее " -1.5" и по нарастающей. Не устраивало то, что не отображался ноль перед точкой, например" -0.5". Далее после нескольких загрузок скетча пропала плавающая точка и вместо точки просто пустой разряд. Вот типа такого: "22 5". Перепроверил проект несколько раз, но так и не нашёл где мог я накосячить. Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
В общем, хотелось бы разобраться как float вывести на 7сегментный индикатор, если такое возможно.
СпойлерПоказать
ds1820_7led_term_in_auto.flp
(265.32 КБ) 23 скачивания
Отправлено спустя 5 часов 2 минуты 40 секунд:
В общем, пришёл к выводу, что реализовать плавающую точку бессмысленно и беспонтово. Сам индикатор такое не поддерживает. Здесь же на форуме нашёл такую же проблему. Проект переделал. Теперь осталось устранить ещё две проблемы: это мерцание 7led индикатора и как добавить ноль в диапазоне от +1.0 до -1.0 градусов? То есть чтоб на дисплее было так: " 0.5", а не " .5".
СпойлерПоказать
ds1820_7led_term_in_auto.flp
(289.28 КБ) 19 скачиваний
Про мерцание. Тут где-то советовали в самом скетче ардуино millis заменить на micros. В моём случае это ни к чему хорошему не привело. Может их все сразу надо заменить?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод дробных чисел на 7led индикатор

#2

Сообщение Ingwar » 21.04.2022{, 14:30}

Evolad писал(а):
21.04.2022{, 14:10}
Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
Evolad писал(а):
21.04.2022{, 14:10}
То есть чтоб на дисплее было так: " 0.5", а не " .5".
Специфика выбранного Вами способа вывода информации на 7сегментный индикатор такова, что скорость переключения сегментов обратно пропорциональна времени выполнения программы. В проекте Вы опрашиваете датчик с периодичностью раз в секунду. Вот пока данные с датчика не будут получены, перестает работать динамическая индикация. Сделаете опрос раз в минуту - будет моргать раз в минуту.
Используйте вспомогательные микросхемы для работы с 7сегментным индикатором. Решите две проблемы - мерцание и запятую. Примеры и блоки есть на форуме.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Evolad
Рядовой
Сообщения: 59
Зарегистрирован: 18.12.2018{, 11:48}
Репутация: 0
Имя: Яковлевич

Вывод дробных чисел на 7led индикатор

#3

Сообщение Evolad » 21.04.2022{, 15:12}

Ingwar писал(а):
21.04.2022{, 14:30}
Используйте вспомогательные микросхемы для работы с 7сегментным индикатором
нет такой возможности, использую что под рукой.
Ingwar писал(а):
21.04.2022{, 14:30}
Сделаете опрос раз в минуту
Это я в курсе.

Ответить

Вернуться в «Помогите, а то я "нимагу"»