Найти в Дзене
VoltStrimLab

Генератор случайных чисел или игра "Угадай цвет"

Привет, друзья!

В прошлой статье мы с вами рассмотрели, как сделать светофор для конструктора Lego, а сегодня задействуем его не по назначению, но детям тоже будет интересно.

Для создания игры вам понадобится уже созданный светофор, программа XOD, плата Arduino, провода и кнопка.

Игра "Угадай цвет"
Игра "Угадай цвет"

Схема подключения будет такая.

Схема игры "Угадай цвет"
Схема игры "Угадай цвет"

Для создания алгоритма игры нам понадобиться узел random, который умеет создавать случайные числа, но не ищите его в библиотеке программы XOD, его там просто нет.

-3

Есть такой узел в библиотеке на сайте XOD, его придётся установить самим.

Как уставить узел в библиотеку, я уже писал здесь:

Подключаем дисплей LCD 1602 по i2c в XOD

Вообще-то, при установке этого узла в библиотеку программы XOD он подсвечивается красным цветом, что говорит о том, что что-то с ним не совсем так. В целом же узел random работает хорошо, проверил. Решайте сами, установить узел random или нет, я установил, ничего в программе не сломалось.

Узел random подсвечен красным цветом в папке библиотек.
Узел random подсвечен красным цветом в папке библиотек.

Если вы решились установить узел random, то скачать и установить его можно, указав в поиске библиотеки следующее: nawaksensor

Добавляем в библиотеку nawaksensor
Добавляем в библиотеку nawaksensor

После установки вы найдете его в списке узлов программы. Перетащите узел random на рабочее поле программы и можно собирать алгоритм игры.

Узел random
Узел random

Но проблема в том, что машины не умеют придумывать, как люди, случайные числа, они умеют обрабатывать полученные или заданные числа или информацию. Что делать?

Вот тут на помощь нам придёт старый знакомый, узел analog-sensor, но датчики к нему мы подключать не будем. Почему?

Дело в том, что даже при отсутствии датчиков на аналоговых пинах всё равно присутствует "шум".

Аналоговые входы
Аналоговые входы

Шум в виде каких-либо электрических постоянно изменяющихся наводок, как помехи в виде "снега" на экране аналогового ТВ, вот эти шумы мы и будем использовать.

Вернее, узел random будет фиксировать этот шум и в виде цифр от 0 до 1 и будет передавать их нам для дальнейшего использования. Так что добавляем узел analog-sensor и конечно добавим узел watch, чтобы видеть эти самые шумы в виде цифр. Как добавлять узлы-ноды читайте здесь.

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

Цифры мы должны преобразовать в цвета, поэтому добавляем три узла led, это наши светодиоды.

Патч для игры "Угадай цвет"
Патч для игры "Угадай цвет"

Для преобразования цифровых значений в напряжения для включения светодиодов воспользуемся уже знакомыми нодами less и greater.

Добавляем узлы less и greater
Добавляем узлы less и greater

В инспекторах узлов less и greater необходимо установить следующие настройки. При выделении узла инспектор появляется в левом нижнем углу окна программы XOD.

Lees - если вводное число меньше 0,33, то загорается красный светодиод.

Настройки epkf less
Настройки epkf less

Greater - если вводное число больше 0,66, то загорается зеленый светодиод.

Настройки узла greater
Настройки узла greater

А как быть с жёлтым светодиодом?

Для включения жёлтого светодиода мы установим узел nor.

Готовый патч "Угадай цвет"
Готовый патч "Угадай цвет"

Промежуток чисел от 0,33 до 0,66 узлы less и greater выдадут на свои выходы сигналы ложь, т.е. 0 одновременно, а полученные 2 сигнала ложь - это команда для узла nor отправить на свой выход сигнал правда, т.е. 1, жёлтый светодиод включится. Вот такое решение. Кстати узел nor можно увеличивать по длине и тем самым добавить количество входящих сигналов.

Ну, вот, собственно, и весь алгоритм игры "Угадай цвет", надеюсь всё было понятно. Можете создать патч сами по скриншоту или скачать уже готовый.

Скачать готовую прошивку можно здесь.

Для прочтения предыдущих статей рекомендую перейти по ссылке в меню канала:

Страница навигации

А на этом сегодня всё.

Экспериментируйте!!!

Спасибо, что дочитали статью до конца.

Надеюсь статья была вам полезна и интересна.

Понравилась статья, ставьте палец вверх.

Хотите следить за новостями, подписывайтесь на наш канал.

Впереди ещё много интересного!

Вы можете помочь проекту в развитии: