Съдържание:

Tap Tap Rainbow - игра за бърза реакция за 2 играчи: 4 стъпки (със снимки)
Tap Tap Rainbow - игра за бърза реакция за 2 играчи: 4 стъпки (със снимки)

Видео: Tap Tap Rainbow - игра за бърза реакция за 2 играчи: 4 стъпки (със снимки)

Видео: Tap Tap Rainbow - игра за бърза реакция за 2 играчи: 4 стъпки (със снимки)
Видео: Тя е на 9 Години, но Нейният Стомах е Като Бременна 2024, Юли
Anonim
Tap Tap Rainbow - игра за бърза реакция за 2 играчи
Tap Tap Rainbow - игра за бърза реакция за 2 играчи
Tap Tap Rainbow - игра за бърза реакция за 2 играчи
Tap Tap Rainbow - игра за бърза реакция за 2 играчи
Tap Tap Rainbow - игра за бърза реакция за 2 играчи
Tap Tap Rainbow - игра за бърза реакция за 2 играчи

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: Забавлявайте се с него !!! ?

Image
Image
Забавлявайте се с него !!! ?
Забавлявайте се с него !!! ?

Когато аз и дъщеря ми записвахме нейната идея и мислехме как трябва да изглежда, мигновено ми хареса идеята. Но трябва да кажа, че никога не съм мислил, че ще бъде толкова забавно да играя. Вече имахме някои големи битки за подслушване на дъгата: D

Надявам се някой да се забавлява с него толкова, колкото и ние.

Това е и първият пълен проект, който направих за толкова кратко време и нещо, което направих с моята 8 -годишна дъщеря И това е и първият ми инструктаж (НАКРАЙНО!), Така че да, в известен смисъл това е много специален проект за мен. Така че се надявам да ми хареса!

Ако имате въпроси или предложения, ще се радвам да ги чуя!

Препоръчано: