Как удостовериться в случайности результата? Единственный способ проверить это — многократно протестировать устройство и записать, сколько раз выпало каждое число. Для хорошей проверки вам придется запустить схему тысячу раз. Поскольку эта схема основана на действии человека, который нажимает кнопку, автоматизировать процесс проверки не представляется возможным. Все, что я могу сказать — результат на самом деле должен быть случайным.
Хорошие новости
В этой схеме число использованных микросхем больше, чем в предыдущих проектах из этой книги, но, как говорит мой любимый персонаж из мультсериала «Футурама», профессор Фарнсворт: «Хорошие новости, друзья!»
Хорошие новости заключаются в том, что вы можете улучшить созданную схему, чтобы имитировать два игральных кубика вместо одного, просто добавив провода и светодиоды. Вам не понадобятся дополнительные микросхемы.
У нас осталось много неиспользованных логических элементов И, ИЛИ-HE и ИЛИ. Остались свободными три элемента И, два элемента ИЛИ- НЕ и два элемента ИЛИ. Кроме того, есть еще один счетчик в микросхеме 74НС393. Это именно то, что нам нужно.
Вопрос в том, как создать вторую последовательность случайных чисел, отличающуюся от первой? Может быть, путем добавления еще одного таймера 555, работающего с другой скоростью?
Мне не нравится эта идея, потому что два таймера будут совпадать и расходиться по фазе друг с другом, и некоторые пары значений будут появляться чаще, чем другие. Я полагаю, было бы лучше, чтобы первый счетчик считал от двоичного значения 000 до 101, а затем запускал второй счетчик для счета от 000 до 001. Первый счетчик снова считает от 000 до 101 и запускает отсчет на втором счетчике до 010. И так далее.
Второй счетчик будет работать на скорости в 1/6 от скорости первого, но если вы запустите их достаточно быстро, то смена значений будет происходить незаметно. Главное преимущество такого решения в том, что все возможные комбинации будут отображаться одинаковое количество раз, и таким образом у них есть почти равные шансы появления, как у настоящих игральных кубиков.
Почему я сказал «почти равные»? Нужно учесть небольшую задержку, когда счетчик выполняет сброс с двоичного значения 101 до 000. Но если первый счетчик работает на частоте около 5 кГц, то задержка менее чем в одну миллионную долю секунды будет незначительной.
Соединение счетчиков
Остается последний вопрос — как первый счетчик будет увеличивать значение на втором, когда дойдет до 101 и переключится обратно на 000?
Очень просто. Рассмотрим, что происходит, когда выход первого счетчика меняется с 011 на 101, а затем на 110. Последнее значение длится только мгновение, прежде чем сбросится до 000. После того как выход С достигнет высокого состояния, он переходит в низкое.
Что необходимо тактовому входу второго счетчика, чтобы увеличить значение на единицу? Вы уже знаете ответ. Ему требуется высокое состояние, которое переходит в низкое. Все, что вам осталось сделать — подключить выход С первого счетчика к тактовому входу второго счетчика. На самом деле, микросхема приспособлена для работы таким образом, чтобы спад от одного счетчика играл роль сигнала для увеличения значения следующего счетчика.
На рис. 4.151 изображена схема устройства для имитации двух игральных костей. Я не привожу еще одно изображение макетной платы, поскольку вы сможете выполнить новую компоновку самостоятельно. Она является почти зеркальным отображением уже существующей, только не забудьте сдвинуть ее на макетной плате на один ряд вниз, чтобы оставить место для источника питания каждой микросхемы.

Идем дальше
Можно ли упростить эту схему? Как я упоминал в самом начале, логика работы десятичного счетчика проще, чем двоичного. Вам не понадобился бы элемент И, чтобы выполнять счет с коэффициентом пересчета 6, поскольку достаточно подключить седьмой вывод в десятичном счетчике обратно к