FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 16.12.2017, 21:54
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей, Олег, Anydy 
Форум » Основной » Спросить у знатоков » Замедление/усреднение данных. Как?
Замедление/усреднение данных. Как?
Revenger Дата: Вторник, 05.12.2017, 00:17 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Приветствую специалисты в программировании!
Я только начал изучать программу, в программировании вообще ноль. Сделал несложную схему электронного спидометра, но мучает вопрос: как сделать вывод данных на дисплей не так резко, как меняются данные на датчике скорости, а с неким замедлением? Ну +- какое-то значение.
Какими блоками это можно сделать (желательно поподробнее, уж извините за такую наглость)?

Спасибо.
 
Anydy Дата: Вторник, 05.12.2017, 02:53 | Сообщение # 2
Генерал-лейтенант
Группа: Администраторы
Сообщений: 747
Награды: 16
Репутация: 11
Статус: Offline
Спасибо за Правильное написание и изложение проблемы!
По теме:
Используйте таймеры (стандартные блоки)
Если не получается -  с вопросом нужно приложить проект программы!
Адекватным людям всегда помогут!


blynk.su
 
kulibinsvv Дата: Вторник, 05.12.2017, 05:26 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 70
Награды: 3
Репутация: 3
Статус: Offline
Revenger, используйте блоки фильтров:

http://flprog.ru/load....-1-0-75
http://flprog.ru/load/bloki_polzovatelej/cifrovye_filtry/2-1-0-109

Попробуйте всё. Какой понравится - такой и оставьте. Но надо понимать,что с разными фильтрами вы будете получать разную систематическую погрешность и разное время реакции на изменение входного сигнала.
 
Revenger Дата: Вторник, 05.12.2017, 12:24 | Сообщение # 4
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Ребята, большое спасибо за ответы. Попробую понять то, о чём написали (пока слово фильтры, особенно с формулами, для меня почти как ругательство )) )
Для примера вставил кусок кода, где как раз берётся моя скорость (с функциями конвертации в кмч)

Добавлено (05.12.2017, 12:24)
---------------------------------------------

Цитата Anydy ()
Используйте таймеры
к сожалению "нитка связи" не коннектится с преобразователем в строку, который выводит на экран скорость в цифрах.
Попробую как выше советовали с фильтами...
 
kulibinsvv Дата: Вторник, 05.12.2017, 12:29 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 70
Награды: 3
Репутация: 3
Статус: Offline
Ставьте фильтр в разрыв линии L1.
 
pan Дата: Вторник, 05.12.2017, 12:31 | Сообщение # 6
Генерал-полковник
Группа: Проверенные
Сообщений: 1279
Награды: 42
Репутация: 40
Статус: Offline
еще есть такой блок среднего значения. не помню кто автор
Прикрепления: 6790243.ubi(17Kb)
 
Revenger Дата: Вторник, 05.12.2017, 12:32 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Цитата kulibinsvv ()
Ставьте фильтр в разрыв линии L1.
спасибо, сейчас переставлю, а то уже влепил в разрыв перед выводом переменной ))

Добавлено (05.12.2017, 12:32)
---------------------------------------------
Цитата pan ()
еще есть такой блок среднего значения. не помню кто автор
Если с первый не выйдет (хотя похоже мне подобный фильтр ранее советовали на другом коде) попробую вашу рекомендацию!
А не подскажете, какой параметр надо ставить во вход "замер" этого блока?


Сообщение отредактировал Revenger - Вторник, 05.12.2017, 12:48
 
pan Дата: Вторник, 05.12.2017, 12:54 | Сообщение # 8
Генерал-полковник
Группа: Проверенные
Сообщений: 1279
Награды: 42
Репутация: 40
Статус: Offline
в описании блока написано же.
это вход записи очередного значения. можно поставить на этот вход генератор и подавать импульсы например раз в секунду, ну или как вам надо, занося с этой частотой новые значения для расчета среденей величины
 
Revenger Дата: Вторник, 05.12.2017, 12:58 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
это вход записи очередного значения.
я потом прочитал, но всё равно не понял, пока ваше пояснение сейчас не прочитал. Т.е. нужно его "толкать" на подсчёт сравнения... Попробую разобраться теперь с генераторами. Жуть какая.

А фильтр с флоат (что чуть раньше по ссылке) не даёт нужного эффекта. Мало, даже при максимальном значении 0,1
 
pan Дата: Вторник, 05.12.2017, 13:00 | Сообщение # 10
Генерал-полковник
Группа: Проверенные
Сообщений: 1279
Награды: 42
Репутация: 40
Статус: Offline
Цитата Revenger ()
"толкать" на подсчёт
 не на подсчет, а на запись очередного значения. при достижении некоторого количества записей (которое указывается в параметрах)
блок выдаст среднее
 
Revenger Дата: Вторник, 05.12.2017, 13:23 | Сообщение # 11
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
блок выдаст среднее
Извиняюсь... создал симметричный мультивибратор, задал генерировать 100 милисек. Подал это на вход "замер". верно? Там задал константу 10.
В общем получилось примерно так как хотел. Только сделал этот фильтр на датчик бензина (т.к. уж слишком тормозную реакцию можно настроить), а на спидометр оставил фильтр float.

Большое спасибо за подсказки!
 
Форум » Основной » Спросить у знатоков » Замедление/усреднение данных. Как?
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика