Съдържание:
Видео: Tap Tap Rainbow - игра за бърза реакция за 2 играчи: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
LED низът използва само 3 проводника. Така че имах нужда само от 5V захранване (червено), маса (бяло) и сигнал (зелено). Ако използвате и Espruino, не забравяйте да проверите уроците на техния уебсайт. Този за RGB светодиодите е обяснен много ясно.
Нарязах LED низ на 3 части от 6 светодиода и след това ги свързах заедно с допълнителни проводници. По този начин всички светодиоди използват един и същ масив, което ми спестява 2 допълнителни порта на платката и е по -лесно да се програмира.
Свързването на бутоните беше малко по -трудно. Исках да използвам възможно най -малко портове на платката, затова мислех да използвам настройка на I2C, но не успях. Не можах да го накарам да работи, затова се погрижих за нещо друго.
В крайна сметка намерих урок за Espruino за клавиатура, която е свързана като матрица на клавиатурата с 16 бутона. Това изглеждаше доста лесно за изпълнение, затова тръгнах по този път. Имах нужда само от 12 бутона, така че ще ми трябва 3x4 матрица.
В матрицата на клавиатурата всички бутони са свързани в колони и редове. По този начин имате нужда само от 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. След това определям настройките на плейъра, като идентификаторите на бутоните и кой индекс има всеки играч в LED низа
3. В началото на играта разбърквам всички цветове в дъговия масив и съхранявам тази информация в нов масив. След това нулирам всички светодиоди и осветявам горните светодиоди с разбърканите цветове на дъгата
4. Накрая имаме кода, който слуша ключовите събития. Съхранявам целия вход в масив и проверявам дали този масив е в правилната последователност.
5. Една хубава екстра добавих вчера, че победителите се лекуват със страхотна анимация на дъгата: D
Все още имам предвид много неща, за да стане по -забавно, но това е нещо за по -късно;)
Не мога да кача пълния изходен код, затова го поставих в Gitlab
gitlab.com/marzsman/tap_tap_rainbow
Стъпка 4: Забавлявайте се с него !!! ?
Когато аз и дъщеря ми записвахме нейната идея и мислехме как трябва да изглежда, мигновено ми хареса идеята. Но трябва да кажа, че никога не съм мислил, че ще бъде толкова забавно да играя. Вече имахме някои големи битки за подслушване на дъгата: D
Надявам се някой да се забавлява с него толкова, колкото и ние.
Това е и първият пълен проект, който направих за толкова кратко време и нещо, което направих с моята 8 -годишна дъщеря И това е и първият ми инструктаж (НАКРАЙНО!), Така че да, в известен смисъл това е много специален проект за мен. Така че се надявам да ми хареса!
Ако имате въпроси или предложения, ще се радвам да ги чуя!
Препоръчано:
Аркаден кабинет с 4 играчи за MAME: 32 стъпки (със снимки)
Аркаден кабинет за 4 играчи на MAME: Това ще ви покаже как съм конструирал своя MAME пиедестален шкаф за 4 играча. Има много неща, които може да искате да персонализирате по ваш вкус. Ще ви покажа как направих моя, можете да се чувствате свободни да го настроите по ваш вкус. Тук се помещава стандартен прозорец
Аркадна масичка за двама играчи RasPi: 7 стъпки (със снимки)
Аркадна масичка за двама играчи RasPi: Ето моята версия на аркадната масичка Raspberry Pi. Получих идеята от други страхотни инструктори тук и исках да споделя моя опит с изграждането. Масата може да играе игри от множество епохи на видео игри, включително NES, SNES, Sega, Play
Как да си направим баркап аркада за двама играчи със слотове за монети по поръчка, използвайки кутия на Пандора: 17 стъпки (със снимки)
Как да си направим баркап аркада за двама играчи с персонализирани слотове за монети, използвайки кутия на Pandora: Това е стъпка по стъпка урок за това как да се изгради най -горната аркадна машина с 2 играчи, която има вградени слотове за монети по избор. Слотовете за монети ще бъдат направени така, че да приемат само монети с размер на четвъртинки и по -големи. Тази аркада се захранва
„Тревожната машина“: бърза скулптура от боклуци за начинаещи: 8 стъпки (със снимки)
"The Unsettling Machine": Бърза скулптура от боклуци за начинаещи: (Ако ви харесва тази инструкция, моля, гласувайте за нея в конкурса "Кошче в съкровището". Но ако търсите по-малко обезпокоителен проект, проверете последния ми едно: Как да създадем пешеходен робот Lambada! Благодаря!) Да предположим, че имате училище
Мини аркада за 2 играчи от стар лаптоп и дъски за рязане на Ikea .: 32 стъпки (със снимки)
Мини аркада за двама играчи от стар лаптоп и дъски за рязане на Ikea. Обичам ретро игрите. Всички тези стари аркадни машини и конзоли бяха толкова забавни. Бих се радвал на собствената си аркадна машина, но просто нямам място. Играта с геймпад през конзола на телевизора просто не е наред, затова трябваше да направя