Не правильно отображаются данные на семисементном индикаторе

Использование дисплеев и обсуждение пользовательских блоков к ним
Ответить
DownHouse
Рядовой
Сообщения: 31
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Не правильно отображаются данные на семисементном индикаторе

#1

Сообщение DownHouse » 29.04.2024{, 14:38}

Здравствуйте. Купил на Али вот такие индикаторы трехразрядные.
В FLprog создал проект с выводом температуры с датчика DS18B20 на этот индикатор и для контроля подключил дисплей 1602. Данные с датчика на индикатор выводятся не корректно.
Подскажите пож-ста, что я не так сделал.
Для наглядности приложил фото
СпойлерПоказать
IMG_20240429_130206.jpg
Не пойму почему целая часть числа сдвинута. При этом десятые доли отображаются нормально.
Может блоки декодирования семисегментного индикатора и блок микросхемы 74HC595 нужно как то по друму между собой соединять.
Если в настройках блока конвертации из числа в строку установить число знаков после запятой равным Нулю, то данные на индикатор выводятся верно.
Т.е. если температура равна 20 градусам,то данные отображаются на двух крайних правых разрядах, а первый разряд остается пустым. Как только ставлю число знаков после запятой равное одному, то данные на индикаторе сдвигаются.
Может я что то с точками не так делаю.
Забыл сказать. что используется статический режим.
Прощу прощения, если это уже где-то обсуждалось, посмотрел бегло вроде не нашел.
Вложения
Temperatura.zip
(9.58 КБ) 13 скачиваний

Аватара пользователя
montirovka
Сержант
Сообщения: 261
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 52
Откуда: Геленджик
Имя: Сергей

Не правильно отображаются данные на семисементном индикаторе

#2

Сообщение montirovka » 29.04.2024{, 18:05}

Посмотрите вот этот пост. TM595
В примере есть пользовательский блок Parse String Dots. попробуйте его поставить перед TM74HC595 сразу на датчик температуры.
Люблю учиться на чужих ошибках.

DownHouse
Рядовой
Сообщения: 31
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Не правильно отображаются данные на семисементном индикаторе

#3

Сообщение DownHouse » 29.04.2024{, 19:04}

Я что то не нашел этого блока. Там по ссылке только два архива, ни в одном из них пользовательских блок нет. Может не туда смотрю.

Аватара пользователя
montirovka
Сержант
Сообщения: 261
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 52
Откуда: Геленджик
Имя: Сергей

Не правильно отображаются данные на семисементном индикаторе

#4

Сообщение montirovka » 29.04.2024{, 19:22}

ошибочка вышла.
Вложения
4-bit_LED_Digital_Tube.flp
(214.18 КБ) 12 скачиваний
Люблю учиться на чужих ошибках.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 692
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 53
Имя: Виктор

Не правильно отображаются данные на семисементном индикаторе

#5

Сообщение ViktorPetrov » 29.04.2024{, 19:23}

Умножить температуру на х10 простое решение ,для индикатора нужно целое число.

Аватара пользователя
garikb
Сержант
Сообщения: 168
Зарегистрирован: 04.11.2015{, 19:52}
Репутация: 22
Откуда: Славянск
Имя: Игорь

Не правильно отображаются данные на семисементном индикаторе

#6

Сообщение garikb » 29.04.2024{, 19:28}

DownHouse писал(а):
29.04.2024{, 19:04}
Я что то не нашел этого блока
А в чем проблема вытащить из проекта?
4-bit_LED_Digital_Module_(Code_-_Basic).ubi
(216.25 КБ) 8 скачиваний
Извеняюсь не глянул название блока и скинул что в проекте по ссылке ( .
Последний раз редактировалось garikb 29.04.2024{, 19:38}, всего редактировалось 1 раз.

Аватара пользователя
montirovka
Сержант
Сообщения: 261
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 52
Откуда: Геленджик
Имя: Сергей

Не правильно отображаются данные на семисементном индикаторе

#7

Сообщение montirovka » 29.04.2024{, 19:30}

Люблю учиться на чужих ошибках.

asvhmao
Рядовой
Сообщения: 15
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Не правильно отображаются данные на семисементном индикаторе

#8

Сообщение asvhmao » 29.04.2024{, 19:51}

Проверить неначем, рисовал в 9 версии FLProg. Посмотри может заработает?
Как выше написали, где пустой символ, там запятая, но семисигментный декодер её не понимает.
Можно ещё добавить четвёртый (виртуальный) разряд на декодер, а на регистр подавать разряды 1,3,4, второй оставить в воздухе. Соответственно запятую ставить ручками, инверсией вывода точки.
Вложения
Temperatura.flp
(334.13 КБ) 11 скачиваний

Аватара пользователя
montirovka
Сержант
Сообщения: 261
Зарегистрирован: 15.02.2021{, 16:16}
Репутация: 52
Откуда: Геленджик
Имя: Сергей

Не правильно отображаются данные на семисементном индикаторе

#9

Сообщение montirovka » 29.04.2024{, 21:09}

В восьмой версии не открывается. Падает FLprog
Люблю учиться на чужих ошибках.

asvhmao
Рядовой
Сообщения: 15
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Не правильно отображаются данные на семисементном индикаторе

#10

Сообщение asvhmao » 29.04.2024{, 21:28}

Восьмая версия, но по второму варианту.

Отправлено спустя 26 минут 24 секунды:
Добавил вариант с умножением на 10. Восьмая версия программы.
Вложения
Temperatura_2.flp
(267.67 КБ) 4 скачивания
Temperatura_3.flp
(273.34 КБ) 7 скачиваний

DownHouse
Рядовой
Сообщения: 31
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Не правильно отображаются данные на семисементном индикаторе

#11

Сообщение DownHouse » 29.04.2024{, 23:02}

garikb писал(а):
29.04.2024{, 19:28}
DownHouse писал(а):
29.04.2024{, 19:04}
Я что то не нашел этого блока
А в чем проблема вытащить из проекта?
4-bit_LED_Digital_Module_(Code_-_Basic).ubi

Извеняюсь не глянул название блока и скинул что в проекте по ссылке ( .
Спасибо, не знал. Сохранил из скетча.

Отправлено спустя 5 минут 14 секунд:
asvhmao писал(а):
29.04.2024{, 19:51}
Проверить неначем, рисовал в 9 версии FLProg. Посмотри может заработает?
Как выше написали, где пустой символ, там запятая, но семисигментный декодер её не понимает.
Можно ещё добавить четвёртый (виртуальный) разряд на декодер, а на регистр подавать разряды 1,3,4, второй оставить в воздухе. Соответственно запятую ставить ручками, инверсией вывода точки.
Скачал Ваш пример, но у меня только шестая версия. Не хочет открывать. Позже обновлюсь, попробую, если решения не найдется.

Отправлено спустя 3 минуты 4 секунды:
Заодно попутный вопрос - что в новых версиях помимо поддержки новых контроллеров? Стоит ли обновляться? Так то оно конечно не долго.

Отправлено спустя 19 минут 16 секунд:
Скачал проект по ссылке из этого поста viewtopic.php?f=45&t=9058&p=130225#p130219, так вот с тем блоком вроде заработало, т.е. сами числа выводятся правильно.Но вот осталось решить вопрос с разделительной точкой.
Там же (в проекте) используется блок "byte - bits" и "parseStr".
На вход блока "byte - bits" подается значение с выхода "dotsPos" блока "parseStr". Возможно это решение вопроса с точкой, но я не очень понял как это работает, потому что не очень понимаю какие данные появляются на выходах блока "byte-bits" и как их соединять с точками блока микросхемы HC595.

Отправлено спустя 5 минут 28 секунд:
Вот, что накидал.

Отправлено спустя 10 минут 28 секунд:
Возможно конечно в моем случае достаточно точку просто зажечь руками инвертировав значение нужной точки, но мало ли в будущем что то буду колхозить глядишь пригодится.
Да, забыл. Пробовал еще вариант с блоками, которые подстроки выдергивают из строки. Вытаскивал через один блок целое число с(в виде строки) а через второй блок десятичную часть и потом опять суммировал строки (наверное те еще костыли). Вроде тоже правильно отображает индикатор, но точку опять таки руками включать надо.
Вложения
Temperatura.flp
(163.04 КБ) 9 скачиваний

asvhmao
Рядовой
Сообщения: 15
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Не правильно отображаются данные на семисементном индикаторе

#12

Сообщение asvhmao » 29.04.2024{, 23:52}

Много лишнего, мне так кажется. Так попробуй

.
Temper.jpg
.

Или так

.
Temper_2.jpg
.
Отправлено спустя 14 минут 16 секунд:
DownHouse писал(а):
29.04.2024{, 23:45}
Заодно попутный вопрос - что в новых версиях помимо поддержки новых контроллеров? Стоит ли обновляться? Так то оно конечно не долго.
Сравнивать могу 8 и 9 версию и только с STM32F103. Опыта пользования программой меньше месяца. 9 тормозит больше, но исправлены и добавлены некоторые возможности, которые в 8 версии надо было руками дописывать.
Восьмая то версия точно будет получше шестой. Если есть возможность, то почему бы и не поставить.


Ещё добавлю
СпойлерПоказать
Temper_3.jpg
IMG_20240430_020126.jpg
Последний раз редактировалось asvhmao 30.04.2024{, 01:59}, всего редактировалось 2 раза.

Аватара пользователя
garikb
Сержант
Сообщения: 168
Зарегистрирован: 04.11.2015{, 19:52}
Репутация: 22
Откуда: Славянск
Имя: Игорь

Не правильно отображаются данные на семисементном индикаторе

#13

Сообщение garikb » 30.04.2024{, 01:23}

DownHouse писал(а):
29.04.2024{, 23:29}
но у меня только шестая версия. Не хочет открывать
Вот под вашу версию:
Temperatura.flp
(138.08 КБ) 9 скачиваний
На 9 версию рано еще переходить, а вот 8.2.3 уже пора.
Если измерять от 0 до 100, то можно попробовать так:
Temperatura1.flp
(161.71 КБ) 9 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2292
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 337
Имя: Владимир

Не правильно отображаются данные на семисементном индикаторе

#14

Сообщение rw6cm » 30.04.2024{, 06:54}

garikb, asvhmao,
какой смысл умножать инт на 10*?
Умножать надо флоат стразу после датчика, а потом переводить в инт, чтобы отображать десятые.
Win10-64, FLProg (portable)

Аватара пользователя
garikb
Сержант
Сообщения: 168
Зарегистрирован: 04.11.2015{, 19:52}
Репутация: 22
Откуда: Славянск
Имя: Игорь

Не правильно отображаются данные на семисементном индикаторе

#15

Сообщение garikb » 30.04.2024{, 08:30}

rw6cm,
Как раз чтобы уйти от десятых, на сколько я понял не коректно отображается на модуле если выводить с десятыми.
У меня модуля такого нет, так что только мысли , а проверяет пусть автор топика.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2292
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 337
Имя: Владимир

Не правильно отображаются данные на семисементном индикаторе

#16

Сообщение rw6cm » 30.04.2024{, 09:52}

garikb писал(а):
30.04.2024{, 08:30}
Как раз чтобы уйти от десятых,
Чтобы уйти от десятых достаточно перевести в инт.
Win10-64, FLProg (portable)

Аватара пользователя
garikb
Сержант
Сообщения: 168
Зарегистрирован: 04.11.2015{, 19:52}
Репутация: 22
Откуда: Славянск
Имя: Игорь

Не правильно отображаются данные на семисементном индикаторе

#17

Сообщение garikb » 30.04.2024{, 13:42}

rw6cm писал(а):
30.04.2024{, 09:52}
Чтобы уйти от десятых достаточно перевести в инт.
Ну не я рисовал это, я просто переделал с 9 версии на 6

asvhmao
Рядовой
Сообщения: 15
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Не правильно отображаются данные на семисементном индикаторе

#18

Сообщение asvhmao » 30.04.2024{, 15:49}

rw6cm писал(а):
30.04.2024{, 06:54}
Умножать надо флоат стразу после датчика, а потом переводить в инт, чтобы отображать десятые.
12 сообщение, картинки под спойлером, с примером на ЖК.
ТСу вариантов много накидали, бери да делай только.

DownHouse
Рядовой
Сообщения: 31
Зарегистрирован: 04.04.2017{, 14:07}
Репутация: 0

Не правильно отображаются данные на семисементном индикаторе

#19

Сообщение DownHouse » 01.05.2024{, 14:24}

Спасибо всем за помощь.
Пожалуй вариант с умножением самый простой будет.

Ответить

Вернуться в «Дисплеи и индикаторы»