Добрый день. Собрал простенький термометр на arduino mini, ds18b20 и семисегментном индикаторе (версия flprog 7.4.6 x64). Проблема следующая: сначала на 7led дисплей выводилось почти всё корректно при положительной температуре типа " 22.5", но при отрицательной температуре получался следующий вид: " -.5" . Далее " -1.5" и по нарастающей. Не устраивало то, что не отображался ноль перед точкой, например" -0.5". Далее после нескольких загрузок скетча пропала плавающая точка и вместо точки просто пустой разряд. Вот типа такого: "22 5". Перепроверил проект несколько раз, но так и не нашёл где мог я накосячить. Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
В общем, хотелось бы разобраться как float вывести на 7сегментный индикатор, если такое возможно.
[spoiler] [/spoiler]
Отправлено спустя 5 часов 2 минуты 40 секунд:
В общем, пришёл к выводу, что реализовать плавающую точку бессмысленно и беспонтово. Сам индикатор такое не поддерживает. Здесь же на форуме нашёл такую же проблему. Проект переделал. Теперь осталось устранить ещё две проблемы: это мерцание 7led индикатора и как добавить ноль в диапазоне от +1.0 до -1.0 градусов? То есть чтоб на дисплее было так: " 0.5", а не " .5".
[spoiler] [/spoiler]
Про мерцание. Тут где-то советовали в самом скетче ардуино millis заменить на micros. В моём случае это ни к чему хорошему не привело. Может их все сразу надо заменить?
Вывод дробных чисел на 7led индикатор
Вывод дробных чисел на 7led индикатор
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Вывод дробных чисел на 7led индикатор
Evolad писал(а): 21 апр 2022, 14:10 Ну и мигает дисплей раз в секунду, что дико раздражает. с этим тоже хотелось бы разобраться.
Специфика выбранного Вами способа вывода информации на 7сегментный индикатор такова, что скорость переключения сегментов обратно пропорциональна времени выполнения программы. В проекте Вы опрашиваете датчик с периодичностью раз в секунду. Вот пока данные с датчика не будут получены, перестает работать динамическая индикация. Сделаете опрос раз в минуту - будет моргать раз в минуту.
Используйте вспомогательные микросхемы для работы с 7сегментным индикатором. Решите две проблемы - мерцание и запятую. Примеры и блоки есть на форуме.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Вывод дробных чисел на 7led индикатор
нет такой возможности, использую что под рукой.Ingwar писал(а): 21 апр 2022, 14:30 Используйте вспомогательные микросхемы для работы с 7сегментным индикатором
Это я в курсе.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя