Оглавление:
Видео: Tap Tap Rainbow - игра для 2 игроков с быстрой реакцией: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В светодиодной цепочке используется только 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: получайте удовольствие !!! ?
Когда мы с дочерью записывали ее идею и думали, как она должна выглядеть, идея мне сразу понравилась. Но должен сказать, я никогда не думал, что будет так весело играть. У нас уже было несколько больших радужных битв: D
Я надеюсь, что кому-то это понравится так же, как и нам.
Это также первый полноценный проект, который я сделал за такой короткий промежуток времени, и что-то, что я сделал с моей 8-летней дочерью, И это также мой первый инструктируемый (НАКОНЕЦ!), Так что да, в каком-то смысле это очень особенный проект для меня. Так что надеюсь понравится!
Если у вас есть вопросы или предложения, я буду рад их услышать!
Рекомендуемые:
Плата для игры в понг для 2 игроков: 3 шага
Плата для игры в понг для 2 игроков: в этом руководстве вы можете создать портативную игру в понг для 2 игроков. Этот дизайн был создан на основе кода, размещенного на GitHub Онуром Авуном. Мне понравилось создавать этот проект, надеюсь, вам понравится его создание
Беспроводной семейный игровой контроллер для 4 игроков: 3 шага
Беспроводной семейный игровой контроллер для 4 игроков: это беспроводной контроллер в аркадном стиле, на котором могут играть одновременно 4 человека. Он беспроводной, поэтому вам не нужно привязывать компьютер к контроллеру, которым пользуются пятилетние дети. Они все время падают, и я не хочу, чтобы они уничтожили все мои игрушки, когда
Аркадный шкаф на пьедестале для 4 игроков для MAME: 32 шага (с изображениями)
Аркадный шкаф на пьедестале для 4 игроков для MAME: это покажет вам, как я построил свой шкаф на пьедестале для 4 игроков MAME. Есть много вещей, которые вы можете настроить по своему вкусу. Я покажу вам, как я сделал свой, вы можете настроить его по своему вкусу. В нем есть стандартное окно
Мини-аркада для 2 игроков из старого ноутбука и разделочных досок Ikea: 32 шага (с картинками)
Мини-аркада для 2 игроков из старого ноутбука и разделочных досок Ikea: я люблю ретро-игры. Все эти старые аркадные автоматы и консоли были просто забавными. Я бы хотел иметь свой собственный аркадный автомат, но у меня просто нет места. Играть с геймпадом через консоль по телевизору просто нехорошо, поэтому мне нужно было сделать
Светодиодная лента с реактивной реакцией на музыку (современное рабочее пространство): 5 шагов (с изображениями)
Светодиодная лента с реактивной реакцией на музыку (современное рабочее пространство): это действительно краткое руководство по светодиодному освещению на рабочих местах. В этом конкретном случае вы узнаете, как установить светодиодную ленту, которая реагирует на музыку (низкую частоту), звуковое аудио-ритмическое освещение, чтобы наслаждаться фильмами, музыкой и играми на другом уровне