Привет, друзья!
В прошлой статье мы с вами рассмотрели, как сделать светофор для конструктора Lego, а сегодня задействуем его не по назначению, но детям тоже будет интересно.
Для создания игры вам понадобится уже созданный светофор, программа XOD, плата Arduino, провода и кнопка.
Схема подключения будет такая.
Для создания алгоритма игры нам понадобиться узел random, который умеет создавать случайные числа, но не ищите его в библиотеке программы XOD, его там просто нет.
Есть такой узел в библиотеке на сайте XOD, его придётся установить самим.
Как уставить узел в библиотеку, я уже писал здесь:
Подключаем дисплей LCD 1602 по i2c в XOD
Вообще-то, при установке этого узла в библиотеку программы XOD он подсвечивается красным цветом, что говорит о том, что что-то с ним не совсем так. В целом же узел random работает хорошо, проверил. Решайте сами, установить узел random или нет, я установил, ничего в программе не сломалось.
Если вы решились установить узел random, то скачать и установить его можно, указав в поиске библиотеки следующее: nawaksensor
После установки вы найдете его в списке узлов программы. Перетащите узел random на рабочее поле программы и можно собирать алгоритм игры.
Но проблема в том, что машины не умеют придумывать, как люди, случайные числа, они умеют обрабатывать полученные или заданные числа или информацию. Что делать?
Вот тут на помощь нам придёт старый знакомый, узел analog-sensor, но датчики к нему мы подключать не будем. Почему?
Дело в том, что даже при отсутствии датчиков на аналоговых пинах всё равно присутствует "шум".
Шум в виде каких-либо электрических постоянно изменяющихся наводок, как помехи в виде "снега" на экране аналогового ТВ, вот эти шумы мы и будем использовать.
Вернее, узел random будет фиксировать этот шум и в виде цифр от 0 до 1 и будет передавать их нам для дальнейшего использования. Так что добавляем узел analog-sensor и конечно добавим узел watch, чтобы видеть эти самые шумы в виде цифр. Как добавлять узлы-ноды читайте здесь.
Постоянно меняющиеся цифры нам тоже не к чему, значит нужен шум какого-то одного участка, т.е. одна цифра в определенный момент времени, поэтому ставим кнопку, узел button, которая будет обозначать этот самый участок.
Цифры мы должны преобразовать в цвета, поэтому добавляем три узла led, это наши светодиоды.
Для преобразования цифровых значений в напряжения для включения светодиодов воспользуемся уже знакомыми нодами less и greater.
В инспекторах узлов less и greater необходимо установить следующие настройки. При выделении узла инспектор появляется в левом нижнем углу окна программы XOD.
Lees - если вводное число меньше 0,33, то загорается красный светодиод.
Greater - если вводное число больше 0,66, то загорается зеленый светодиод.
А как быть с жёлтым светодиодом?
Для включения жёлтого светодиода мы установим узел nor.
Промежуток чисел от 0,33 до 0,66 узлы less и greater выдадут на свои выходы сигналы ложь, т.е. 0 одновременно, а полученные 2 сигнала ложь - это команда для узла nor отправить на свой выход сигнал правда, т.е. 1, жёлтый светодиод включится. Вот такое решение. Кстати узел nor можно увеличивать по длине и тем самым добавить количество входящих сигналов.
Ну, вот, собственно, и весь алгоритм игры "Угадай цвет", надеюсь всё было понятно. Можете создать патч сами по скриншоту или скачать уже готовый.
Скачать готовую прошивку можно здесь.
Для прочтения предыдущих статей рекомендую перейти по ссылке в меню канала:
А на этом сегодня всё.
Экспериментируйте!!!
Спасибо, что дочитали статью до конца.
Надеюсь статья была вам полезна и интересна.
Понравилась статья, ставьте палец вверх.
Хотите следить за новостями, подписывайтесь на наш канал.
Впереди ещё много интересного!
Вы можете помочь проекту в развитии: