В статье рассматривается оригинальный генератор случайных чисел для настольных игр, использующий подсчет свободных колебаний механического осциллятора.
К разработке аналога игральной кости, описанного в этой статье, меня подвигла великолепная, на мой взгляд, статья Патрика Ван Торре [1], содержащая ряд интересных идей и подкреплённая реализацией этих идей в виде законченного устройства.
В своей практике я часто использую генераторы случайных чисел, но все эти генераторы являются встроенными в языки программирования, и лишь однажды мне пришлось столкнуться с необходимостью генерировать случайное число в классической физической форме.
Много лет назад мне случилось изготовить электрический игральный кубик по просьбе юной леди, которую я водил в детский сад. Дети использовали кубик в напольной игре, где они перемещались по локациям, нарисованным на полу, собирая всякие ништяки.
Через нескольких недель безжалостной эксплуатации кубик вернулся ко мне для ремонта, да так и остался в моей коллекции.
Этот кубик, показанный на заднем плане Рисунка 1, возможно и не заслуживает особого внимания к себе, если бы не одна особенность – этот кубик выполнял свои функции без активных электронных компонентов.
![]() |
|
Рисунок 1. | Электронный аналог игральной кости на переднем плане и электрический игральный кубик на заднем плане. |
После прочтения статьи Патрика я задумался над тем, как можно упростить создание аналога игральной кости, вспомнив свой опыт с кубиком, что мне очень пригодилось при размышлении над этой задачей. Рассмотрев множество способов генерации случайных чисел, я остановился на использовании свободных колебаний механического осциллятора. Как известно, свободные колебания возникают в осцилляторе, выведенном из исходного состояния покоя однократным воздействием. Такие колебания всегда являются затухающими, так как при каждом колебании происходит переход энергии из одной формы в другую с потерей некоторой части этой энергии. В результате после затухания колебаний осциллятор вернётся в исходное состояние.
Длительность колебаний будет пропорциональна силе, воздействовавшей на осциллятор, и демпфирующим свойствам окружающей среды.
Для генерации случайных чисел можно использовать преобразование механических колебаний в электрические с их последующим подсчётом. При использовании счётчика по модулю n после возвращения осциллятора в состояние покоя счётчик зафиксирует случайное число в диапазоне от 0 до n–1.
После некоторого числа экспериментов я решил выбрать в качестве источника затухающих колебаний контактный датчик удара, использующийся в автомобильной сигнализации. Схематическое устройство этого датчика приведено на Рисунке 2.
![]() |
|
Рисунок 2. | Схематическое изображение устройства датчика. |
Датчик содержит внутреннюю сферическую полость 1, по которой может перемещаться металлический шарик 2. Полость, изготовленная из изолирующего материала, имеет в центре два контакта 3, которые исходно замкнуты через поверхность шарика. При внешнем воздействии на датчик шарик 2 начинает перемещаться по поверхности сферической полости, периодически замыкая контакты 3.
Примечание.
Подобный датчик используется и в электрическом кубике, где после вращения кубик останавливается на одной из граней, и соответствующий датчик замыкает цепь питания светодиодов.
Принципиальная схема аналога электронной кости показана на Рисунке 3. Как мы видим, в качестве элемента, регистрирующего колебания датчика, используются счётчик Джонсона CD4017BE, к выходам которого подключены светодиоды для индикации результата.
![]() |
|
Рисунок 3. | Принципиальная схема электронного аналога игровой кости. S1 – датчик в состоянии покоя. Незадействованные выводы DD1 не показаны. |
После начала колебаний счётчик начинает подсчитывать импульсы, поступающие на его вход. После прекращения колебаний счётчик зафиксирует случайное число в диапазоне от 0 до 5, что соответствует индикации от «1» до «6».
Аналог игральной кости смонтирован в металлическом корпусе диаметром 32 мм и высотой 10 мм методом навесного монтажа и показан на переднем плане Рисунка 1.
Кроме микросхемы счетчика и светодиодов в корпусе установлены аккумулятор емкостью 100 мА·ч, плата зарядного устройства и выключатель питания.
Устройство приводится в действие легким ударом по верхней или боковой поверхности.
Изготовленный аналог игральной кости был подвергнут серии из 100 испытаний. Результаты испытаний сведены в Таблицу 1, где по горизонтали представлены результаты «бросков», а по вертикали – число испытаний с таким результатом.
Таблица 1. | Распределение результатов испытаний. | ||||||||||||
|
По результатам испытаний можно с большой степенью уверенности утверждать, что в генеральной совокупности распределение будет равномерным.
Заключение
Изготовленный электронный аналог игральной кости может быть использован в настольных играх типа «Монополия», где неподвижный источник случайных чисел предпочтительней традиционного кубика, так как неудачно брошенный кубик может нарушить расположение фишек на игровом поле.
Принцип генерации случайного числа описанным выше способом является универсальным и может использоваться практически с любым механическим осциллятором, например струной музыкального инструмента, пьезокристаллом или с грузом, подвешенным на пружине, способным совершать свободные колебания.
Исследования с электрическими осцилляторами, например, с колебательным контуром, не проводились.
Ссылка
- Patrick Van Torre. Полностью аналоговая игральная кость