Obsah:

Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou: 4 kroky (s obrázkami)
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou: 4 kroky (s obrázkami)
Anonim
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou
Tap Tap Rainbow - hra pre 2 hráčov s rýchlou reakciou

LED reťazec používa iba 3 vodiče. Potreboval som teda iba 5V napájanie (červené), uzemnenie (biele) a signál (zelené). Ak tiež používate espruino, prečítajte si návody na ich webových stránkach. Ten pre RGB LED diódy je veľmi zrozumiteľne vysvetlený.

Rozrezal som reťazec LED na 3 časti po 6 diód LED a potom ich spojil ďalšími vodičmi. Týmto spôsobom všetky LED diódy používajú rovnaké pole, čo mi ušetrí 2 ďalšie porty na doske a je jednoduchšie programovať.

Pripojenie tlačidiel bolo o niečo ťažšie. Chcel som použiť čo najmenej portov na doske, takže som uvažoval o použití nastavenia I2C, ale strašne som v tom zlyhal. Nedalo mi to fungovať, tak som sa poobzeral po niečom inom.

Nakoniec som našiel návod na Espruino pre klávesnicu, ktorá je zapojená ako matica klávesnice so 16 tlačidlami. Vyzeralo to celkom ľahko implementovateľné, takže som išiel touto cestou. Potreboval som iba 12 tlačidiel, takže by som potreboval maticu 3x4.

V matici klávesnice sú všetky tlačidlá zapojené do stĺpcov a riadkov. Na 16 tlačidiel tak budete potrebovať iba 8 portov. V mojom nastavení som potreboval iba 2 krát 6 tlačidiel, takže je to celkom 7 portov na doske (4 riadky s 3 stĺpcami). Stále je to oveľa menej, ako keď pripojíte 12 tlačidiel oddelene, a modul klávesnice Espruino sa používa skutočne jednoducho.

Našiel som dobrý návod o klávesnici o základoch obvodov, ktorý mi veľmi pomohol s zapojením tlačidiel.

Keď sa mi podarilo pripojiť všetky svoje tlačidlá, bol som veľmi frustrovaný, pretože konektory neustále skĺzavali a už bolo neskoro. Preto som všetko zalepil páskou a úplne som zabudol fotografovať. Tiež nie je príliš užívateľsky prívetivý v deň, keď potrebujem znova pripojiť drôt v 1 z krabičiek.

Krok 3: Napíšte kód

Písanie kódexu
Písanie kódexu
Písanie kódexu
Písanie kódexu
Písanie kódexu
Písanie kódexu

Espruino je naprogramované v Javascripte, takže pre mňa je to oveľa menej zložité ako písať kód pre Arduino.

Kód by mohol použiť nejakú optimalizáciu, ale zatiaľ robí svoju prácu. Existuje tiež chyba (možno je to funkcia: D), pri ktorej nemôžete stlačiť 2 tlačidlá súčasne. Hranie hry je však trochu náročnejšie (čítajte frustrujúce), takže som problém ešte neskúmal, páči sa mi to takto (ak stratíte, je to veľmi frustrujúce).

Programovanie LED diód je veľmi jednoduché. Každá dióda LED v reťazci má 3 hodnoty v poli. Ak teda máte pole ako [255, 0, 0, 255, 0, 0], máte prvé 2 LED diódy červené.

V rýchlom prehľade.

1. Najprv definujem svoje farby a vytvorím pole všetkých farieb

2. Potom definujem nastavenia prehrávača, napríklad ID tlačidiel a index, ktorý má každý hráč v reťazci LED

3. Na začiatku hry premiešam všetky farby v poli dúhy a uložím tieto informácie do nového poľa. Potom resetujem všetky LED diódy a rozsvietim horné LED diódy zamiešanými farbami dúhy

4. Nakoniec tu máme kód, ktorý počúva kľúčové udalosti. Všetky vstupy uložím do poľa a skontrolujem, či je toto pole v správnom poradí.

5. Pekný doplnok, ktorý som včera pridal k tomu, že víťazi budú ošetrení úžasnou dúhovou animáciou: D

Stále mám na mysli veľa vecí, aby to bolo zábavnejšie, ale to je niečo na neskôr;)

Nemôžem nahrať celý zdrojový kód, preto som ho vložil do Gitlabu

gitlab.com/marzsman/tap_tap_rainbow

Krok 4: Bavte sa s tým !!! ?

Image
Image
Bavte sa s tým !!! ?
Bavte sa s tým !!! ?

Keď sme si s dcérou zapísali jej nápad a premýšľali, ako by to malo vyzerať, okamžite sa mi ten nápad zapáčil. Ale musím povedať, že som si nikdy nemyslel, že to bude taká zábava hrať. Mali sme už niekoľko veľkých bitiek klepania dúhy: D

Dúfam, že sa s tým niekto bude baviť rovnako ako my.

Je to tiež prvý kompletný projekt, ktorý som urobil v takom krátkom čase a čo som urobil s mojou 8 -ročnou dcérou, a je to tiež môj prvý pokyn (KONEČNE!), Takže áno, svojím spôsobom je to pre mňa veľmi špeciálny projekt. Tak dúfam, že sa páči!

Ak máte akékoľvek otázky alebo návrhy, rád ich vypočujem!

Odporúča: