Talaan ng mga Nilalaman:

Tapikin ang Rainbow - isang 2 Player Quick Reaction Game: 4 Hakbang (na may Mga Larawan)
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game: 4 Hakbang (na may Mga Larawan)

Video: Tapikin ang Rainbow - isang 2 Player Quick Reaction Game: 4 Hakbang (na may Mga Larawan)

Video: Tapikin ang Rainbow - isang 2 Player Quick Reaction Game: 4 Hakbang (na may Mga Larawan)
Video: Part 03 - Our Mutual Friend Audiobook by Charles Dickens (Book 1, Chs 10-13) 2024, Nobyembre
Anonim
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game
Tapikin ang Rainbow - isang 2 Player Quick Reaction Game

Gumagamit lamang ang LED string ng 3 wires. Kaya kailangan ko lamang ng isang 5V na kapangyarihan (pula), lupa (puti) at signal (berde). Kung gumagamit ka rin ng isang Espruino siguraduhing suriin ang mga tutorial sa kanilang website. Ang isa para sa RGB LEDs ay malinaw na ipinaliwanag.

Pinutol ko ang LED string sa 3 bahagi ng 6 LEDs at pagkatapos ay konektado ang mga iyon kasama ang labis na mga wire. Sa ganitong paraan, lahat ng mga LED ay gumagamit ng parehong array na nakakatipid sa akin ng 2 dagdag na mga port sa board at mas madaling mag-program.

Ang pagkonekta ng mga pindutan ay medyo mahirap. Nais kong gumamit ng mas kaunting mga port sa board kaya't iniisip kong gumamit ng isang pag-setup ng I2C ngunit nabigo ito nang husto. Hindi ko ito magawang gumana kaya't may iba akong naalagaan.

Sa paglaon ay natagpuan ko ang isang tutorial sa Espruino para sa isang Keypad na naka-wire bilang isang Keypad Matrix na may 16 na mga pindutan. Mukha itong madaling ipatupad kaya't nagpunta ako sa ganoong paraan. Kailangan ko lamang ng 12 mga pindutan kaya't kailangan ko ng isang 3x4 matrix.

Sa isang keypad matrix ang lahat ng mga pindutan ay naka-wire sa mga haligi at hilera. Sa ganitong paraan kailangan mo lamang ng 8 port para sa 16 na mga pindutan. Sa aking pag-set up kailangan ko lamang ng 2 beses 6 na mga pindutan kaya't iyon ay isang kabuuang 7 port sa board (4 na mga hilera na may 3 mga haligi). Mas mababa pa rin ito pagkatapos ay ikonekta ang 12 mga pindutan nang hiwalay at ang Keypad module ng Espruino ay talagang madaling gamitin.

Natagpuan ko ang isang mahusay na tutorial tungkol sa keypad sa mga pangunahing kaalaman sa circuit na makakatulong sa akin ng malaki sa mga kable ng mga pindutan.

Nang magawa kong ikonekta ang lahat ng aking mga pindutan ay nabigo ako dahil ang mga konektor ay patuloy na nadulas at huli na. Kaya't pinagsama ko ang lahat sa kahon at lubos na nakalimutan na kumuha ng litrato. Gayundin hindi masyadong user friendly ang araw na kailangan ko upang ikonekta muli ang isang wire sa 1 sa mga kahon.

Hakbang 3: Pagsulat ng Code

Pagsulat ng Code
Pagsulat ng Code
Pagsulat ng Code
Pagsulat ng Code
Pagsulat ng Code
Pagsulat ng Code

Ang Espruino ay nai-program sa Javascript kaya para sa akin mas malayo sa kumplikado pagkatapos ng pagsulat ng code para sa Arduino.

Ang code ay maaaring gumamit ng ilang pag-optimize ngunit ginagawa nito ang trabaho sa ngayon. Mayroon ding isang bug (marahil ito ay isang tampok: D) kung saan hindi mo maaaring pindutin ang 2 mga pindutan nang eksakto sa parehong oras. Ngunit ginagawang mas mahirap (basahin ang nakakabigo) na laruin ang laro, kaya't hindi ko pa napagsisiyasat ang isyu, medyo gusto ko ito sa ganitong paraan (kung malaya mo ito ay labis na nakakabigo).

Programming ang LEDs ay medyo madali. Ang bawat LED sa string ay 3 halaga sa isang array. Kaya't kung mayroon kang isang array tulad ng [255, 0, 0, 255, 0, 0] mayroon kang unang 2 LED na pula.

Sa isang mabilis na pangkalahatang ideya.

1. Una ko tukuyin ang aking mga kulay at gumawa ng isang array ng lahat ng mga kulay

2. Pagkatapos ay tinukoy ko ang mga setting ng player, tulad ng mga button ID at aling index ang bawat manlalaro ay nasa LED string

3. Sa pagsisimula ng laro ay binabago ko ang lahat ng mga kulay sa bahaghari at iniimbak ang impormasyong iyon sa isang bagong Array. Pagkatapos ay i-reset ko ang lahat ng mga LED at sindihan ang mga nangungunang LED na may mga shuffled na kulay ng bahaghari

4. Panghuli mayroon kaming code na nakikinig sa mga pangunahing kaganapan. Inimbak ko ang lahat ng input sa isang array at suriin kung ang array na ito ay nasa tamang pagkakasunod-sunod.

5. Isang magandang dagdag na idinagdag ko kahapon na ang mga nagwagi ay ginagamot sa isang kahanga-hangang animasyon ng bahaghari: D

Marami pa ring mga bagay na nasa isip ko upang gawing mas masaya ngunit ito ay isang bagay para sa paglaon;)

Hindi ko ma-upload ang buong source code kaya inilagay ko ito sa Gitlab

gitlab.com/marzsman/tap_tap_rainbow

Hakbang 4: Magsaya Ka !!! ?

Image
Image
Magkaroon ng Kasayahan !!! ?
Magkaroon ng Kasayahan !!! ?

Kapag ang aking anak na babae at ako kung saan sinusulat ang kanyang ideya at iniisip kung paano ito dapat hitsura, agad kong nagustuhan ang ideya. Ngunit dapat kong sabihin, hindi ko inakalang magiging mas masaya itong maglaro. Nagkaroon na kami ng ilang malalaking bahaghari na pag-tap sa mga laban: D

Inaasahan kong ang sinuman ay magkakaroon ng labis na kasiyahan dito tulad ng mayroon tayo.

Ito rin ang kauna-unahang buong proyekto na ginawa ko sa isang maikling panahon at isang bagay na ginawa sa aking 8 taong gulang na anak na babae AT ito rin ang aking unang itinuturo (WAKAS!), Kaya't sa isang paraan ito ay isang napaka-espesyal na proyekto sa akin. Kaya sana magustuhan ko ito!

Kung mayroon kang anumang mga katanungan o mungkahi masaya akong pakinggan ang mga ito!

Inirerekumendang: