Например TDA7294

Форум РадиоКот • Просмотр темы - Генератор случайных чисел.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 27, 2024 04:41:57

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 102 ]  1, , , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Генератор случайных чисел.
СообщениеДобавлено: Вт янв 01, 2008 23:44:13 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
Приветствую всех! Ещё раз с Новым Годом.
А теперь к делу:
мне нужно что-то вроде электронных костей, но только чтоб они работали без постороннего вмешательства(во всех схемах, что я видел имелась кнопка, нажимая на которую счётчик прекращал работу). Устройство должно быть сделано на одном МК. И зажигать через каждые две секунды один из шести светодиодов (при этом вероятность того, что кто-то сможет угадать, какой светодиод загорится, должна составлять 1 к 6).
Я не прошу делать всё за меня! Дайте, пожалуйста, идею как осуществить это программно.
ЗЫ: Охотно принимаются ссылки на готовыё устройства! :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 01, 2008 23:53:45 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
самый простейший с точки зрения напряжения мозга способ: всю свободную память МК заполняешь случайными числами, которые сгенерировал, например, в Экселе в виде таблички (или вручную, кидая реальную кость :))) ). по моим прикидкам там поместится никак не меньше 4000 чисел. В основной программе просто каждые 2 секунды берешь из этого "массива" очередное число и выводишь его :) вряд ли кто сумеет предугадать последовательность из 4000 чисел.
А вот реализовать математически формулу, генерирующую псевдослучайную последовательнсоть чисел, будет посложнее, т.к. придется вспоминать математику и, может быть, даже высшую :)

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 01, 2008 23:56:52 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
Первый вариант мне очень понравился, но писать такую программу - рука отвалится...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 02, 2008 00:20:04 
Модератор
Аватар пользователя

Карма: 10
Рейтинг сообщений: 7
Зарегистрирован: Пт июл 21, 2006 03:08:05
Сообщений: 3174
Откуда: Пенза
Рейтинг сообщения: 1
А обязательно на МК? Можно ведь сделать генератор шума
http://www.cryogenius.com/hardware/rng/

_________________
Если долго мучиться, что-нибудь... сломается.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 02, 2008 00:31:02 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
Да. МК - это одно из главных требований к устройству.
ЗЫ: А на русском можно, а то в английском я полный нуль.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 02, 2008 06:58:05 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Пн ноя 27, 2006 07:52:01
Сообщений: 978
Рейтинг сообщения: 0
МК, МК... :o

Реализуется на всём, чём угодно. К155ЛА3, например. И не МК нужен, и не о случайных числах речь в данном случае идёт.

Смотрите такову науку: "Численные методы" называется. Алгоритмы генерации псевдослучайных чисел. Почему "псевдо"? Да потому, что мы сможем генерировать эти числа с определенным периодом и заданным распределением из-за того, что численные методы используются. 8)

_________________
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?


Последний раз редактировалось ИРБИС Чт янв 03, 2008 21:10:56, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 02, 2008 07:39:01 
Говорящий с текстолитом

Зарегистрирован: Чт окт 20, 2005 12:46:34
Сообщений: 1682
Рейтинг сообщения: 0
Паятель писал(а):
А обязательно на МК? Можно ведь сделать генератор шума
http://www.cryogenius.com/hardware/rng/


МЯУ какое интересное решение, жаль что аж целых 12 воль надо
а перевернутый транзистор в роли диода ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 02, 2008 11:26:38 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Пн ноя 27, 2006 07:52:01
Сообщений: 978
Рейтинг сообщения: 0
А вот вам и на К155ЛА3 — в школьных кружках раньше собирали. Нажмёшь кнопку — число фиксируется.

Количество игральных костей и варианты индикации — кому какие нравятся! Здесь на ИН-ках сделано. :)


Вложения:
cube.gif [15.79 KiB]
Скачиваний: 1810

_________________
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 13:44:54 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
ИРБИС писал(а):
А вот вам и на К155ЛА3 — в школьных кружках раньше собирали. Нажмёшь кнопку — число фиксируется.

Разве схема только на ЛА3? А ИЕ2 и ИА1 так, посивные элементы. И я же русским языком писал, что видал я такие схемы(с кнопкой), а мне без кнопки нужно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 14:01:15 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Пн ноя 27, 2006 07:52:01
Сообщений: 978
Рейтинг сообщения: 0
regenerator писал(а):
Разве схема только на ЛА3? А ИЕ2 и ИА1 так, посивные элементы. И я же русским языком писал, что видал я такие схемы(с кнопкой), а мне без кнопки нужно.
Да. Сама схема именно на ЛА3, остальное — это индикация. И микросхема там ИД1, а не ИА1. Плохо напечатано, понимаешь? :wink: Вместо кнопки можно транзисторный ключ поставить. Управлять им можно от таймера, вам через 2 с индикацию нужно? :wink: 555 (КР1006ВИ1) или 7555 (КР1441ВИ1) прекрасно справятся с этой задачей! :) Индикацию, как я уже говорил, какую хочешь, ту и делай. :wink:

Удачи! :)

_________________
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 14:21:59 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
Если я поставлю таймер, то он будет останавливать генерацию через равные промежутки времени, и каждый раз будет выводиться одно и то же число. Человек не может с такой точностью нажимать на кнопку, поэтому кажется, что числа выдаваемые устройством - случайны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 14:31:34 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Ср ноя 21, 2007 19:04:23
Сообщений: 462
Рейтинг сообщения: 0
Спасибо всем, кто участвовал в теме! Проблема с генератором случайных чисел разрешилась.
Сделал всё по совету ARV, а именно сам кидал кубик и записывал все варианты в микроконтроллер, пока набрал около сотни чисел, но результат - превосходный, думаю, что 4 тысячи чисел писать не буду, трёхсот вполне хватит.
Ещё раз спасибо!
Я писал(а):
Первый вариант мне очень понравился, но писать такую программу - рука отвалится...

Не отвалилась. :)))


Последний раз редактировалось regenerator Чт янв 03, 2008 14:36:35, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 14:32:24 
Держит паяльник хвостом
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Пн ноя 27, 2006 07:52:01
Сообщений: 978
Рейтинг сообщения: 0
regenerator писал(а):
Если я поставлю таймер, то он будет останавливать генерацию через равные промежутки времени, и каждый раз будет выводиться одно и то же число.
Частота генератора довольно большая, таймер аналоговый, так что достаточно случайно получаться должно. :) В целом замечание верное.

Есть хорошая книга, её "Библией для программистов" называли: Д.Кнут "Искусство программирования для ЭВМ". Советую прочитать. Её недавно в очередной раз переиздали, но стоит конечно... :shock: :shock: :shock: Но здесь: http://www.radiokot.ru/forum/viewtopic.php?t=466 вроде бы мелькала, хотя три тома весят... :shock: :shock: :shock:

_________________
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 13:25:48 
Нашел транзистор. Понюхал.

Зарегистрирован: Сб янв 20, 2007 20:44:33
Сообщений: 163
Откуда: Из закаулков вашей души
Рейтинг сообщения: 0
regenerator да вы терпеливый человек :))
Ну хоть и поздно может кому пригодится.
Одним из простых способов как можно сгенерировать ряд псевдо случайных числел следующий:
Берем ряд чисел Фибоначчи(следующее число получается сложением двух пpедыдущих) :
13, 21, 34, 55, 89, 144, 233...
И далее берем допустим только второй знак числа и получаем ряд псевдо случайных чисел:
3,1,4,5,9,4,3...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 13:53:51 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 22, 2007 13:38:44
Сообщений: 336
Рейтинг сообщения: 0
Есть генератор псевдослучайных чисел у Хоровица с Хиллом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 17:11:09 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
буквально недавно мне пришлось самому последовать своему совету - срочно и быстро надо было сделать псевдослучайную последовательность... хотя с формулой у меня проблем нет - решил все-таки табличный способ, т.к. дополнительно было необходимо всю память, не занятую программой, заполнить "мусором". так вот, решение задачи, как говорится, в пять шагов:
1. Открываем эксель
2. вводим в рядом стоящие клетки по горизонтали следующее (квадратными скобками я обозначил клетки):
[.db] [=СЛЧИС()*255]
3. форматируем вторую клетку, чтобы в ней число было округлено до целых
4. выделяем пару этих клеток, цепляем мышкой за правый нижний угол выделения и растягиваем выделение вниз на сколько надо клеток (мне было надо на 512). получаем таблицу случайных чисел.
5. выделяем эту таблицу, копируем в буфер обмена, переключаемся в редактор программы для МК и делаем "вставить" - вуаля! таблица из 512 случайных чисел (для ассемблера) готова!!! и руки не отваливаются абсолютно!!!

для пишущих на Си алгоритм точно такой же, только сначала вводим =СЛЧИС()*255 а затем в клетку рядом - запятую. после копирования надо будет лишь перед таблицей добавить char random[] = { и после таблицы поставить закрывающую фигурную скобку. Кстати, если умножать на 65535 - можно получить случайные числа unsigned int

в общем, дешево и сердито. для экономии места в программе оформить таблицу можно в виде include-файла

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 17:55:09 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 1
Вообщето, норманьные генераторы случайных чисел (не псевдо) делаются так. Берётся шумящий элемент -резистор, транзистор, стабилитрон. Сигнал усиливается и подается на компаратор.
Дальше, в течении некоторго большого интервала времени, считают количество импульсов и если количество четное - полагают что получен бит-0, а если нечётное - полагают что получен бит-1.
Получается настоящая случайная битовая последовательность, которую можно нарезать на числа, по n-бит :)))
Можно сигнал с шумящего стабилитрона усилить и подать на АЦП, откинуть старшие разряды, а мадшие будут представлять из себя неплохой цифровой шум! :)))


Вернуться наверх
 
В сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 18:29:49 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4222
Откуда: Ижевск
Рейтинг сообщения: 0
Здравствуйте. Может кому пригодится в случае, когда нужно экономить память программ. Собственно генератор псевдослучайной последовательности находится в обработчике прерывания TIM0.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 17, 2008 19:06:06 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
akl, вы бы хоть пояснили, в каких регистрах у вас само число получается... я вот взял и протестировал в студии - нифига не псевдослучаное там получается... ессли вначале все регистры обнулены - вообще так они и остаются, а если в ZL не ноль - что-то получается в ZH:ZL, но на случайное похоже мало... во всяком случае при начальном значении ZL=2 получается последовательность чисел больше 255 однозначно - т.е. явно не очень случайное распределение...

и вообще, алгоритм какой-то странный у вас...

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

Мой уютный бложик... заходите!


Вернуться наверх
 
В сети
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 18, 2008 17:12:47 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4222
Откуда: Ижевск
Рейтинг сообщения: 0
ARV писал(а):
akl, вы бы хоть пояснили, в каких регистрах у вас само число получается... я вот взял и протестировал в студии - нифига не псевдослучаное там получается... ессли вначале все регистры обнулены - вообще так они и остаются, а если в ZL не ноль - что-то получается в ZH:ZL, но на случайное похоже мало... во всяком случае при начальном значении ZL=2 получается последовательность чисел больше 255 однозначно - т.е. явно не очень случайное распределение...

и вообще, алгоритм какой-то странный у вас...

ARV
Вторая строчка сверху
"; Регистры ZH ZL генератор псевдослучайной последовательности"
Спасибо за тестирование программы!
Каюсь, при убирании ненужного в этой программе стер начальную установку пары ZH:ZL в любое, отличное от 0xFFFF, значение, которое является запрещенным. Значение 0 входило в область необходимых, поэтому и был выбран этот алгоритм, но откуда он был взят??? не помню.
Последовательность чисел, получаемая после прерывания TIM0 в паре ZH:ZL 0x0002,0x0005,0x000B,0x0017,0x002F,0x005F,0x00BE,0x017D,0x02FB,0x05F6,0x0BED,0x17DA,0x2FB5,0x5F6B,....
Последовательность чисел, получаемая после прерывания TIM0 в паре ZH:ZL 0x0000,0x0001,0x0003,0x007,0x000F,0x001F,0x003F,0x007F,0x00FE,0x01FC,0x03F9,0x7F3,0x0FE7,0x1FCE,0x3F9C,....
Проверял AVR STUDIO 3.2.
Исправленный вариант, в который включены команды проверки. По умолчанию проверяется отсутствие в последовательности кода 0xFFFF.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 102 ]  1, , , , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Dllyur и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y