Оглавление:

Tap Tap Rainbow - игра для 2 игроков с быстрой реакцией: 4 шага (с изображениями)
Tap Tap Rainbow - игра для 2 игроков с быстрой реакцией: 4 шага (с изображениями)

Видео: Tap Tap Rainbow - игра для 2 игроков с быстрой реакцией: 4 шага (с изображениями)

Видео: Tap Tap Rainbow - игра для 2 игроков с быстрой реакцией: 4 шага (с изображениями)
Видео: Свидание в 16 vs 26 лет 😨😳 2024, Декабрь
Anonim
Tap Tap Rainbow - игра с быстрой реакцией на двоих
Tap Tap Rainbow - игра с быстрой реакцией на двоих
Tap Tap Rainbow - игра с быстрой реакцией на двоих
Tap Tap Rainbow - игра с быстрой реакцией на двоих
Tap Tap Rainbow - игра с быстрой реакцией на двоих
Tap Tap Rainbow - игра с быстрой реакцией на двоих

В светодиодной цепочке используется только 3 провода. Так что мне нужно было только питание 5 В (красный), земля (белый) и сигнал (зеленый). Если вы также используете Espruino, обязательно ознакомьтесь с учебными материалами на их веб-сайте. Один для светодиодов RGB очень четко объяснен.

Я разрезал светодиодную цепочку на 3 части по 6 светодиодов, а затем соединил их вместе дополнительными проводами. Таким образом, все светодиоды используют один и тот же массив, что экономит мне 2 дополнительных порта на плате и упрощает программирование.

Подключить кнопки было немного сложнее. Я хотел использовать как можно меньше портов на плате, поэтому я думал об использовании настройки I2C, но это ужасно не получилось. Я не мог заставить его работать, поэтому я позаботился о другом.

В конце концов я нашел руководство по Espruino для клавиатуры, которая подключена как матрица клавиатуры с 16 кнопками. Это выглядело довольно легко реализовать, поэтому я пошел по этому пути. Мне нужно было всего 12 кнопок, поэтому мне понадобится матрица 3х4.

В матрице клавиатуры все кнопки объединены в столбцы и строки. Таким образом, вам нужно всего 8 портов для 16 кнопок. В моей настройке мне нужно было всего 2 раза по 6 кнопок, так что всего на плате 7 портов (4 строки с 3 столбцами). Это все еще намного меньше, чем подключение 12 кнопок по отдельности, и модуль клавиатуры Espruino действительно прост в использовании.

Я нашел хороший учебник по основам схемотехники на клавиатуре, который мне очень помог с подключением кнопок.

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

Шаг 3: Написание кода

Написание кода
Написание кода
Написание кода
Написание кода
Написание кода
Написание кода

Espruino запрограммирован на Javascript, поэтому для меня это намного проще, чем писать код для Arduino.

Код можно было бы оптимизировать, но на данный момент он выполняет свою работу. Также есть ошибка (возможно, это особенность: D), из-за которой нельзя одновременно нажимать 2 кнопки. Но это делает игру немного более сложной (читай разочаровывающей), поэтому я еще не исследовал проблему, мне это вроде как нравится (если вы проиграете, это очень расстраивает).

Программировать светодиоды довольно просто. Каждый светодиод в строке - это 3 значения в массиве. Итак, если у вас есть такой массив, как [255, 0, 0, 255, 0, 0], у вас первые 2 светодиода красные.

В кратком обзоре.

1. Сначала я определяю свои цвета и составляю массив всех цветов.

2. Затем я определяю настройки проигрывателя, такие как идентификаторы кнопок и индекс каждого игрока в строке светодиодов.

3. В начале игры я перетасовываю все цвета в массиве радуги и сохраняю эту информацию в новом массиве. Затем я сбрасываю все светодиоды и зажигаю верхние светодиоды перетасованными цветами радуги.

4. Наконец, у нас есть код, который отслеживает ключевые события. Я сохраняю весь ввод в массив и проверяю, находится ли этот массив в правильной последовательности.

5. Вчера я добавил приятное дополнение, что победители получают потрясающую радужную анимацию: D

Есть еще много вещей, которые я задумал, чтобы сделать его веселее, но об этом позже;)

Я не могу загрузить полный исходный код, поэтому выложил его на Gitlab

gitlab.com/marzsman/tap_tap_rainbow

Шаг 4: получайте удовольствие !!! ?

Image
Image
Удачи !!! ?
Удачи !!! ?

Когда мы с дочерью записывали ее идею и думали, как она должна выглядеть, идея мне сразу понравилась. Но должен сказать, я никогда не думал, что будет так весело играть. У нас уже было несколько больших радужных битв: D

Я надеюсь, что кому-то это понравится так же, как и нам.

Это также первый полноценный проект, который я сделал за такой короткий промежуток времени, и что-то, что я сделал с моей 8-летней дочерью, И это также мой первый инструктируемый (НАКОНЕЦ!), Так что да, в каком-то смысле это очень особенный проект для меня. Так что надеюсь понравится!

Если у вас есть вопросы или предложения, я буду рад их услышать!

Рекомендуемые: