FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Среда, 07.12.2016, 23:13
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Рандом (Какак реализовать почти настоящий рандом)
Рандом
Oleg1345140
Дата: Пятница, 19.02.2016, 19:21 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
Добрый день, уважаемые форумчане. Суть в следующем когда пользуешься блоком рандом то очень часто цепочки значений повторяются при каждом старте устройства (особенно при малом разбросе значений). Пытался привязывать к значению аналоговых входов но если они вися в воздухе то 90% там около максимальные значения и рандом опять получается "предсказуемым" есть ли способ реализовать генератор псевдослучайных чисел более случайным?
 
dim21841 Дата: Пятница, 19.02.2016, 22:54 | Сообщение # 2
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
попробуй привязаться к чему-нибудь уникальному, например дате со времинем?! т.е. создать из них какуюто переменную а после генерировать. на компе некоторые программы за переменую для генерации чего-либо берут координаты мишки а ты возьми дату и время с секундами.
 
Naladchik Дата: Суббота, 20.02.2016, 08:41 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Цитата dim21841 ()
например дате со времинем?!
Не самый удачный вариант. А если время в проекте  не будет использоваться? Зачем ставить шильд?

Предлагаю такой вариант
Создать пользовательский блок с кодом на СИ, считать в нем значение millis() (время работы контроллера с момента включения, ms) и присвоить это значение перемененной типа Unsigned Long Integer. Далее перевести значение переменной в строку и вырезать необходимое количество знаков. Далее опять перевод в числовое значение и получаем рандомное число с необходимым количеством разрядов.


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Суббота, 20.02.2016, 08:44
 
Oleg1345140 Дата: Суббота, 20.02.2016, 16:57 | Сообщение # 4
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
Цитата dim21841 ()
попробуй привязаться к чему-нибудь уникальному, например дате со времинем?! т.е. создать из них какуюто переменную а после генерировать. на компе некоторые программы за переменую для генерации чего-либо берут координаты мишки а ты возьми дату и время с секундами.
Как вариант, но если честно то задействовать для этого шильд часов .... как то расточительно.
Цитата Naladchik ()
Создать пользовательский блок с кодом на СИ, считать в нем значение millis() (время работы контроллера с момента включения, ms) и присвоить это значение перемененной типа Unsigned Long Integer. Далее перевести значение переменной в строку и вырезать необходимое количество знаков. Далее опять перевод в числовое значение и получаем рандомное число с необходимым количеством разрядов.
Вариант интересный но на СИ я совсем не спец, совсем.
 
Naladchik Дата: Суббота, 20.02.2016, 20:22 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Цитата Oleg1345140 ()
...но на СИ я совсем не спец, совсем.
я так же, все на уровне "научного тыка", саму идею представляю а вот в плане реализации пока ничем помочь не могу. Уверен что тут все должно быть просто.


Предпочитаю Portable версию.
 
Oleg1345140 Дата: Суббота, 20.02.2016, 20:34 | Сообщение # 6
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
Я вот еще идею терморезистора рассматривал, но там тоже свои нюансы. А может есть какие нибудь элементарные модули или алгоритмы.
 
Naladchik Дата: Суббота, 20.02.2016, 20:38 | Сообщение # 7
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Oleg1345140, что то я затравился идеей.
Вот вариант попробуйте.

Пробный вариант, но вроде получилось.

Функция millis не понравилась, с micros получше будет
Прикрепления: micros-CODE-.ubi(7Kb) · micros.flp(85Kb)


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Суббота, 20.02.2016, 21:06
 
Oleg1345140 Дата: Суббота, 20.02.2016, 21:12 | Сообщение # 8
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
Цитата Naladchik ()
Пробный вариант, но вроде получилось.
С утра попробую, а пока с наступающим)))
 
Форум » Основной » Спросить у знатоков » Рандом (Какак реализовать почти настоящий рандом)
Страница 1 из 11
Поиск:

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