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

Ответить
Evolad
Рядовой
Сообщения: 59
Зарегистрирован: 18 дек 2018, 11:48
Имя: Яковлевич

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

Сообщение Evolad »

Добрый день. Собрал простенький термометр на arduino mini, ds18b20 и семисегментном индикаторе (версия flprog 7.4.6 x64). Проблема следующая: сначала на 7led дисплей выводилось почти всё корректно при положительной температуре типа " 22.5", но при отрицательной температуре получался следующий вид: " -.5" . Далее " -1.5" и по нарастающей. Не устраивало то, что не отображался ноль перед точкой, например" -0.5". Далее после нескольких загрузок скетча пропала плавающая точка и вместо точки просто пустой разряд. Вот типа такого: "22 5". Перепроверил проект несколько раз, но так и не нашёл где мог я накосячить. Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
В общем, хотелось бы разобраться как float вывести на 7сегментный индикатор, если такое возможно.
[spoiler]
ds1820_7led_term_in_auto.flp
[/spoiler]

Отправлено спустя 5 часов 2 минуты 40 секунд:
В общем, пришёл к выводу, что реализовать плавающую точку бессмысленно и беспонтово. Сам индикатор такое не поддерживает. Здесь же на форуме нашёл такую же проблему. Проект переделал. Теперь осталось устранить ещё две проблемы: это мерцание 7led индикатора и как добавить ноль в диапазоне от +1.0 до -1.0 градусов? То есть чтоб на дисплее было так: " 0.5", а не " .5".
[spoiler]
ds1820_7led_term_in_auto.flp
[/spoiler]
Про мерцание. Тут где-то советовали в самом скетче ардуино millis заменить на micros. В моём случае это ни к чему хорошему не привело. Может их все сразу надо заменить?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Evolad писал(а): 21 апр 2022, 14:10 Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
Evolad писал(а): 21 апр 2022, 14:10 То есть чтоб на дисплее было так: " 0.5", а не " .5".
Специфика выбранного Вами способа вывода информации на 7сегментный индикатор такова, что скорость переключения сегментов обратно пропорциональна времени выполнения программы. В проекте Вы опрашиваете датчик с периодичностью раз в секунду. Вот пока данные с датчика не будут получены, перестает работать динамическая индикация. Сделаете опрос раз в минуту - будет моргать раз в минуту.
Используйте вспомогательные микросхемы для работы с 7сегментным индикатором. Решите две проблемы - мерцание и запятую. Примеры и блоки есть на форуме.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Evolad
Рядовой
Сообщения: 59
Зарегистрирован: 18 дек 2018, 11:48
Имя: Яковлевич

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

Сообщение Evolad »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя