Talaan ng mga Nilalaman:

4 Mga Larong Button Gamit ang Isang Analog Input: 6 Mga Hakbang (na may Mga Larawan)
4 Mga Larong Button Gamit ang Isang Analog Input: 6 Mga Hakbang (na may Mga Larawan)

Video: 4 Mga Larong Button Gamit ang Isang Analog Input: 6 Mga Hakbang (na may Mga Larawan)

Video: 4 Mga Larong Button Gamit ang Isang Analog Input: 6 Mga Hakbang (na may Mga Larawan)
Video: КАКИМ БУДЕТ PORTAL 3 2024, Hulyo
Anonim
Image
Image

Ang itinuturo na ito ay nakatuon sa paggamit ng isang linya ng pag-input ng analog para sa maraming mga pindutan na maaaring makita na independiyente sa bawat isa.

At upang mai-highlight ang paggamit ng mga pindutan na kasama kasama ang software upang maglaro ng apat na magkakaibang mga 4-Button na laro. Ang lahat ng mga laro (8 sa kabuuan) dito ay gumagamit ng isang display ng hagdan na Led (sumangguni sa naunang proyekto: mga itinuturo: Single-Line-LED-Display-Games).

Maaari mong gamitin ang iyong sariling pagpupulong na 4 na pindutan kasama ang iba pang mga output na display, gamitin lamang ang pag-andar na 'scanMtonsons ()' mula sa isa sa mga kasamang mga sketch. At gamitin ang mga sketch na iyon halimbawa gamitin ito.

Ang mga laro ay isang kasanayan sa laro: Whack-a-Mole, isang memory game: Sinabi ni Simon, mga laro ng lohika Sea Hunt at Flip'd na isang dalawang manlalaro na katulad ng Reveri. Sa paglaon, sa itinuturo na ito, magpapakilala din ako kalaunan ng apat na dalawang-taong mga laro ng head to head na kumpetisyon.

Hakbang 1: Pagtukoy sa Pag-configure ng Optimal Button

Ang simpleng paggamit ng ilang mga resistors sa serye na may mga pindutan na naka-tap sa pagitan ng bawat isa ay gagana kung hindi mo na kailangang mag-alala tungkol sa isang pindutan ng pagpindot sa iba pa. Sa ganitong pagsasaayos ng bawat pindutan, kapag pinindot, i-block ang anuman at lahat sa ibaba nito. Kahit na kailangan mo lamang ng dalawang mga pindutan at nagmamalasakit ka lamang sa isa-isa, tulad ng isang pagpapatupad ng ping-pong; ito ay magiging isang problema, kung ang isang manlalaro ay nabigo (masyadong mabagal, o nakakahamak) na alisin ang kanyang daliri mula sa kanyang pindutan bago pa pindutin ng iba.

Maramihang mga pindutan ay madalas na konektado sa isang solong linya ng analog bawat isa na may sariling iba't ibang mga halaga ng risistor na papunta sa input. Maaari mong, madaling sapat, pag-iba-ibahin kung aling pindutan o pares ang pinindot kapag mayroon lamang 2 o 3 mga pindutan. Ngunit hindi mapagkakatiwalaan na may higit pang mga pindutan o higit sa dalawang pinindot, dahil ang pinakapangit na kaso ng mga pagbabasa ay naging hindi siguradong masyadong malapit.

Dito sa tinatawag kong Double-Y na pagsasaayos ng apat na mga pindutan at resistors, maaari mong mapagkakatiwalaan ang anumang solong, doble, kahit triple o lahat ng apat na mga pindutan na pinindot. Ang driver ng software na gawin ito ay sakop sa susunod na seksyon at ang listahan ng code.

Sa pagnanais na magkaroon ng apat na mga pindutan na nakakabit sa isang analog input kung saan ang tiktikan ng bawat pindutan ay maaaring napansin anuman ang estado ng iba pang mga pindutan, nagmomodelo ako ng maraming mga pagsasaayos sa isang spreadsheet. Nalaman ko na ang isang pag-configure ng dobleng Y (na binubuo ng 2 mga hanay ng tatlong mga resistors) ay nagbigay ng pinakamahusay na mga posibilidad. Tingnan ang diagram ng eskematiko ng mga kable sa ibaba. Sinusuri ko ang mga ito batay sa pinaka paghihiwalay ng kabuuang paglaban sa pagitan ng anumang dalawang mga kumbinasyon ng mga pindutan na pinindot. Dagdag kong na-modelo ang kinakalkula na mga halagang analogue. Sumangguni sa file ng spreadsheet sa ibaba.

Upang matukoy ang pinakamahusay na mga halaga na gagamitin sa mga pagsasaayos sa itaas nagsulat ako ng isang simulation, na lubusang sinubukan ang lahat ng posibleng mga permutasyon ng mga potensyal na halaga ng risistor, na hinahanap ang hanay na gumawa ng pinakamaliit na pagkakaiba sa pagitan ng mga posibleng input ng pagbabasa. Naibigay ko ang code na ginamit ko. Ito ay isang mabagsik na tool ng lakas na pinagsama ko, nakuha kung ano ang gusto ko at isantabi, kaya't hindi ito na-optimize. Ito ay ganap na katulad nito, para lamang sa sanggunian sa kasaysayan (Solve_4R.html sa ibaba).

Narito ang output nito para sa pagsusuri:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 minR delta: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 minR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 minR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 minR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 minR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR delta: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR delta: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR delta: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR delta: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 minR delta: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 minR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 minR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 minR delta: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 minR delta: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 minR delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR delta: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 minR delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171

Hakbang 2: Aking 4-Button Assembly

Aking 4-Button Assembly
Aking 4-Button Assembly

Para sa aking apat na mga pindutan ginamit ko ang mga pindutan na ito at isang butas na PCB at resistors tulad ng ipinahiwatig sa diagram sa itaas. Kung paano mo ipinatupad nang pisikal ang iyong apat na mga pindutan ay bukas at hanggang sa iyo at sa mga pangangailangan ng iyong proyekto. Hangga't ito ay electrically kung ano ang nasa diagram sa itaas. Tiyaking ang iyong pag-mounting sa konstruksyon ay tulad na hindi ka makikipag-ugnay sa mga kable sa mga pindutan na itatapon ang mga pagbabasa na nagreresulta sa maling pag-uugali ng pindutan.

Mayroon akong isang idinagdag na maliit na pindutan sa aking board na ginagamit ko tulad ng isang 'Function' key. Ito ay sa serye na may isang 2 megohm risistor, na kung saan ay hindi makabuluhang itapon ang aking iba pang mga pagbabasa ng pag-input; kahit na maaari ko lamang itong tuklasin kapag nag-iisa itong pinindot. Maaari mong balewalain ito o suriin ang code upang higit na maunawaan kung paano ko ito magagamit.

Maaaring magamit ang test sketch na 'Test_12Leds_6Btns' upang subukan ang pagtuklas ng (mga) pagpindot sa pamamagitan ng iyong MCU at aktwal na pagpupulong ng pindutan. Ang output nito ay nakatakda upang matingnan alinman sa isang LED Ladder o sa serial monitor. Madali itong mabago upang mai-output sa pamamagitan ng anumang uri ng pagpapakita na mayroon ka.

Maaaring kailanganin mong ayusin ang hanay ng mga pagbabasa ng sanggunian ng code na inihambing nito ang pag-input, dahil sa mga potensyal na pagkakaiba sa panloob na resistor na pull-up ng iyong MCU o sa mga pagpapahintulot sa mga resistor na iyong ginagamit. Maaari mong, kung mas gusto mo, gumamit ng mga eksaktong resistor, inaasahan na hindi mo kailangang gumawa ng mga pagsasaayos ng pagkakalibrate. Sa pamamagitan ng paraan, hindi ako gumamit ng isang panlabas na pull-up dahil makagambala ito sa iba pang mga gamit na plano ko para sa isa sa aking mga proyekto.

Ang isa sa mga pangunahing aksyon ng software na kinuha, upang matiyak ang pagpapasiya kung aling (mga) pindutan ang pinindot ay hindi naaapektuhan ng antas ng boltahe ng suplay (& / o pagkakaiba-iba ng MCU), ay sa sukatan ang analog input batay sa maximum na pagbabasa na siya namang ay apektado ng boltahe ng suplay.

Ang software na 'driver' kung aling mga serbisyo ng mga pindutan na ito ay ang regular na 'scanButtons ()'. Naghihintay ito para sa analog na halaga ng pag-input upang mag-ayos pagkatapos ay mapa ang pagbabasa sa isang serye ng mga paunang natukoy na halaga; at isinalin iyon sa mga kaukulang estado para sa koleksyon ng mga pindutan. Ang nakagawian na ito, at ang mga pampublikong variable na ibinabahagi nito sa software ng application, ang kailangan lamang upang makagawa ng katulad na paggamit ng hanay na ito sa mga independiyenteng pindutan.

Tandaan! Ang kasalukuyang bersyon ng 'scan Buttons ()' ay hindi sumusubok na natatanging kilalanin ang lahat ng posibleng tatlong mga kumbinasyon ng pindutan na iyon, para sa akin, hindi realistikal na kinakailangan at lalong magpapahirap sa kinakailangang code at pagkakalibrate.

Hakbang 3: Paglaro ng Laro

Alinmang sketch, 'LadderGames4' o 'Head2head' ay maaaring mai-load sa at patakbuhin ng karamihan sa anumang Arduino MCU, ngunit ang LadderGames4 ay dapat mayroong 'SimonSays' o alinman sa iba pang dalawang mga laro na nagkomento upang magkasya sa 8K Bytes ng puwang ng programa sa isang Attiny-85. Ang Audio ay isang isyu din sa isang ATtiny-85, tingnan ang nakaraang proyekto na nabanggit sa itaas. Ang code ay naka-set up na may kondisyonal na pagtitipon, at alam na gumagana sa isang Nano, Uno at isang ATtiny-85.

Sa bawat isa sa mga sketch na ito pagkatapos ng pagsisimula ay ipinakita sa iyo ang Menu, na may isang kulay nang pailaw sa lahat ng Pula … Dilaw … Green … Blue Leds, naaayon sa apat na posibleng pagpipilian ng laro. Maaari mong pindutin ang Btn1 kapag ang pagpipilian ng pagnanais ay naiilawan o sa anumang oras na pinindot mo ang Btn2-4 para sa mga laro 2-4. Ang kalabisan na paraan upang pumili ay upang maging katugma sa parehong dalawa at apat na pagpapatupad ng mga pindutan at mga laro. Kung maraming mga bersyon sa laro kakailanganin mong piliin ang flashing red para sa ver-1, flashing dilaw para sa ver-2, at iba pa.

4 Mga Larong Button

Isang laro ng memorya, isang laro ng koordinasyon ng mata, at dalawang laro ng diskarte.

Sinabi ni Simon Ito ay muling pagpapatupad ng laro mula sa form na mayroon ako rito, sa mga naunang mga proyekto:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Nagpe-play ito tulad ng karamihan sa iba pang laro na 'Simon Says'.

Gayunpaman, idinagdag ko ang bersyon ng dalawang tao (kapag pinili mo ang pagpipilian 2, kumikislap na dilaw), kung saan ang bawat manlalaro, sa turn, ay nagdaragdag ng isang bagong light-note sa serye. Ang una na hindi na ulit ulitin nang tama ang lahat na dumating bago talo sa laro.

Humampas ng isang nunal

Sa loob ng 30 segundo magkakaibang pope (pula, yel, grn, blu) 1, 2 o 3 nang paisa-isa. Dapat mong 'hampasin' ang mga ito sa pamamagitan ng pagpindot sa mga kaukulang pindutan Btn1-4. Tanging ang mga pagpindot sa pindutan lamang ang tatanggapin, walang sabay-sabay na pagpindot sa maraming pindutan. Gaano katagal ang isang hanay ng mga moles na mananatili ay nagiging mas maikli habang nagpapatuloy ang laro. Kung sasampalin mo ang lahat ng mol na ipinapakita, pagkatapos ay lilitaw ang isang bagong hanay; tulad na mas mabilis ka ay mas maraming moles magkakaroon ka ng pagkakataon na humampas.

Kapag tapos na ang isang laro ang display ay sumasalamin sa iskor, ang pag-iilaw ng isa na humantong para sa bawat 10 moles na hinampas. Bilang ng marka ng laro ng 10 puntos para sa bawat talo, 5 lit leds ay kumakatawan sa isang karaniwang marka ng Whac-a-Mole point na 500+. Upang maglaro ng isa pang pag-ikot kakailanganin mong piliin muli ang laro.

Gumagamit ako ng isang daliri sa bawat pindutan para sa mabilis na pagkilos at mataas na mga marka. Para sa isang mas tamang hamon dapat lamang gumamit ng isang daliri sa isang kamay, na tumutugon sa paggamit ng isang mallet.

Ang aking karaniwang marka gamit ang isang daliri ay nasa 500s, gamit ang 4 na mga daliri (isa bawat pindutan) ito ay 600+. Ang aking pinakamataas na iskor ay 700+. Ang paggamit ng maraming mga daliri ay lalong nakakalito sa kung mayroong isang overlap sa pagpindot sa isa at isa pa ang pangalawa ay hindi tatanggapin ng software, na hinihiling sa iyo upang palabasin ang lahat ng mga pindutan bago ang iba ay tatanggapin. Kung ang sinuman ay makakakuha ng lahat ng 12 leds sa ilaw, para sa isang 1200+ na puntos, mangyaring ipaalam sa amin.

Sea Hunt

Mayroong isang hindi nakikitang submarino na gumagalaw sa kailaliman. Ito ang paunang lokasyon at direksyon ay random. Gumagawa ito ng paglipat sa kurso nito pagkatapos ng bawat pag-turn mo. Dapat mong hulaan ang kanyang kinaroroonan sa pamamagitan ng mga ulat ng sonar at ibabad ito sa isang malalim na singil. Ang isang sonar na tunog ay kumakalat (sa magkabilang direksyon) mula sa panimulang lokasyon nito bilang isang madilim na ilaw at nagpapaliwanag (kasama ang isang ping) sa distansya ng sub. Gayunpaman tandaan na ang sub ay maaaring maging alinman sa iyo at lumilipat sa isang hindi kilalang direksyon. Ang isang deep-charge ay sumasabog nang malalim sa ibaba kung saan ito inilunsad. Naririnig mo ang isang muffled na pagsabog kung wala, o mayroon, naririnig mo ang malaking pagsabog ng sub at isang maliwanag na flash.

Upang ilipat ang cursor na humantong sa kung saan mo nais na mag-drop ng isang sonar buoy o deep-charge ay tapos na sa Btn2 & Btn3 para sa kaliwa at kanan. Ginagamit ang Button-1 upang ilunsad ang mga ito.

Sa bersyon 1, ang bawat pagtatangka ay isang kumbinasyon ng lalim na singil at sonar na ulat; at maaari mong gamitin ang isang walang limitasyong bilang ng mga ito.

Sa bersyon 2, Head to head, pumalit, upang makita kung sino ang namamahala sa paglubog ng sub. Gumagamit ang Player 1 ng Btn1 at ang pangalawang manlalaro ay gumagamit ng Btn4 upang ilunsad ang kanilang mga deep-charge.

Sa bersyon 3, ang mga malalim na singil at sonar ulat ay inilunsad nang nakapag-iisa ng Btn1 at Btn4 ayon sa pagkakabanggit. Mayroon ka lamang tatlong magagamit na malalalim na singil. Maaari mong makuha ang lahat ng mga ulat ng sonar na gusto mo. Talo ka kung nabigo kang makuha siya sa mga pagsingil na iyon.

Sa bersyon 4 ang sub ay maaaring lumipat sa isang rate ng 1-3 puwang bawat volley, at kung hindi man ay gumaganap tulad ng bersyon 3, ngunit nakakakuha ka ng 6 na malalim na singil.

Kasaysayan: Una kong nilikha ang laro na 'Sea Hunt' noong 1970's. Pagkatapos ang input & output na aparato ay isang teletype. Gayunpaman, pagkatapos ang dagat ay isang 2 dimensional na grid, taliwas sa 1 dimensional na narito.

TANDAAN: Nagkomento ako ng paglilimita sa lalim na singil sa code, sa ideya na ito ay sapat nang mahirap upang i-play para sa karamihan ng mga tao.

Flip'd

Ang larong ito ng dalawang manlalaro ay medyo tulad ng Reveri, kung sinusubukan mong buksan ang lahat ng mga cell sa iyong kulay, ngunit nagagawa ito ng iba.

Sa larong ito ng dalawang manlalaro, layunin ng isang manlalaro na patayin ang lahat ng ilaw, at ang isa pa upang buksan ang lahat. Gumagamit ang isang manlalaro ng Btn1 upang i-off ang isang pangkat ng mga ilaw ng isa pang manlalaro o talikuran ang isang solong ng kanyang "Mga ilaw na" off (i-on ito). Gumagamit ang iba pang manlalaro ng Btn4 upang gawing Bukas ang isang pangkat ng mga "Off light" o isang solong isa sa kanyang likuran.

Ang board ay nagsisimula sa isang random na hanay ng mga leds sa. Kapag ang turn ng unang manlalaro ay mayroong mabilis na paglabo o pag-iilaw sa humantong sa 'cursor', point of interest, upang potensyal na i-on. Sa panahon ng pagliko ng manlalaro # 2 mayroong isang mahabang flash ng isang humantong bilang isang tagapagpahiwatig ng cursor. Kung ang maling manlalaro ay pinipilit ang kanyang pindutan, sa turn, mayroong isang napakaikling beep. Ang cursor ay inililipat sa kaliwa ng Btn2 at pakanan ng Btn3. Ang natalo na manlalaro ay nagsisimula sa sumusunod na laro.

Ang diskarte sa kung ano ang Flip ay maaaring maging makabuluhan.

Hakbang 4: Mga Paligsahan sa Head to Head

Dalawang Button / Dalawang Mga Larong Player

Sa unang hanay ng 4 na mga laro ng pindutan lamang ang 'Whack-a-Mole' na tunay na umaasa sa kumpletong kalayaan ng pagproseso ng pindutan. Nagpatupad din ako ng apat na laro ng head to head, na ang lahat ay nakasalalay sa independiyenteng pagtuklas ng pindutan. Ang mga larong ito ay: Mabilis na Pagguhit, Tug a War, Chicken, and Hot Hands (Slapsies).

Mabilis na Pagguhit (Pagsubok ng reaksyon)

Ang paligsahan ay nagsimula sa isang 'Handa' / pula, 'Itakda' / dilaw, at isang 'Iguhit!' / Berde; pagiging medyo random kung kailan ito magbibigay sa iyo ng berdeng ilaw. Ang unang tumama sa kanilang pindutan ay nanalo. Ang pagpindot ng masyadong maaga at ikaw ay hindi pinarangalan ng isang buzz.

Gumagamit ang Player 1 ng Btn1 (sa kaliwa) at ang player 2 ay gumagamit ng Btn4 (sa kanan).

Hilahang lubid

Nagsisimula sa isang 'Handa', 'Itakda' … 'GO!'. May lilitaw na isang bagay sa gitna, isang 'bow' sa isang lubid. Pagkatapos ay pinindot ng mga manlalaro ang kanilang mga pindutan nang mas mabilis at madalas hangga't makakaya nila. Ang bow ay lilipat patungo sa manlalaro na may pinakamaraming hit. Kapag ang bow ay umabot sa isang dulo iyon ang nagwagi.

Manok

Ang paligsahan na ito ay sinimulan nang katulad. Matapos ang tunog at berdeng flash ng 'Go!' ang mga manlalaro ay pindutin nang matagal ang kanilang mga pindutan, mga blip ng ilaw (kanilang mga karo) ay nagsisimulang gumalaw mula sa kanila patungo sa isa pa. Ang nagwagi ay ang naglalabas ng kanyang pindutan (tumalon mula sa kanilang karo) na huling, bago pa man magsalpok ang dalawa. Kung ang isang tao ay masyadong magpalabas o hindi talaga, nag-crash at talo siya. Kung parehong tumalon (bitawan) huli na walang nanalo.

Sa simula ng pares ng mga kalaban na leds ang pag-sweep sa buong display, sa oras na ito kung na-hit mo ang Fnc-Btn2 ang bilis ng laro ay tataas. Maaari itong ulitin ng ilang beses.

Mainit na Kamay

Isang digital na bersyon ng larong sampal (aka Red-Hands o Slapsies). Upang simulan ang dalawang manlalaro na pindutin ang kanilang mga pindutan nang magkasama, ang isang panig ay naglalabas pagkatapos ay susubukan na pindutin ang kanyang pindutan ng dalawang beses bago mailabas ng kabilang panig ang kanyang pindutan. Susunod na sinusubukan ng kabilang panig na gawin ang katulad. Ang manlalaro na ang turn naman nito ay ipinahiwatig sa simula ng isang pag-ikot ng isang pag-iilaw ng mga leds sa kanyang tagiliran. Nalaman ko na ang isang pindutan lamang na push-slap ay masyadong mabilis at madali, Kaya't gumawa ako ng dalawang kinakailangan, na tumatagal ng mas maraming aksyon at oras, tulad ng pagkakaroon ng parehong i-flip ang isang kamay sa itaas at sa itaas ng iba pa pati na rin ang pagbagsak pababa. TBD: Sa isang pangalawang bersyon, libre ito para sa lahat, sa anumang oras maaaring subukan ng alinmang manlalaro na makuha ang pinakamahusay sa isa pa.

Pansinin! Pinapayuhan ko kayo na i-print ang mga patakaran sa pagpapatakbo ng mga laro sa itaas at muling basahin ang mga ito bago ka maglaro ng isang laro na hindi mo pa nilalaro. Kung hindi man, maaari mong biguin ang iyong sarili; iniisip na ang laro ay hindi tumatakbo nang maayos kapag ito ay totoo, ngunit ikaw at ang laro ay may iba't ibang mga paraan at inaasahan. Ako, ang aking sarili, ay nabiktima nito nang higit sa dalawang beses.

Sa walong laro dito at sa apat sa aking naunang proyekto na Single-Line-LED-Display-Games, na ginagawang magagamit ang software upang maglaro ng 12 mga laro kasama ang apat na pindutan + na humantong sa hagdan na hardware na kumbinasyon.

Mayroon akong hindi bababa sa apat pang mga aktibidad sa libangan para sa (button-display) hardware na ito bago ang pagtatapos ng taon.

Hakbang 5: Opsyonal na 2 Mga Controller ng Player

Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player
Opsyonal na 2 Mga Controller ng Player

Para sa mga laro na nangangailangan lamang ng dalawang mga pindutan, maaari kong magkaroon, syempre, ginamit ang 4-button PCB sa mga larong iyon; subalit sa paglalaro ng mga larong ito ay may kaugaliang maging pisikal. Kaya, gumagamit ako ng magkakahiwalay na mga pagpupulong ng uri ng uri ng plunger, na ginawa mula sa isang piraso ng tubong plastik na natatakpan ng mahigpit na hawak ng bisikleta at isang malaking pindutan.

Mga bahagi ng pindutan ng uri ng plunger:

  • 1/2 "drip line pipe, stand-off ng pandilig, o PVC (Tindahan ng hardware)
  • Pagkakahawak ng hawakan ng bisikleta (Walmart)
  • Malaking mga pindutan ng push (eBay)
  • 2 resistors

Upang mapanatili ang pagiging tugma ang isang pindutan ay may isang 75 ohm risistor sa serye kasama nito at ang iba pa ay may 36-39 ohm sa serye; tulad na makikita ng software ang mga ito bilang Btn1 at Btn4 ayon sa pagkakabanggit.

Maaari mong gamitin ang tubing mula sa sabihin na isang itinapon na walis o hawakan ng squeegee.

Ang isang adapter ay maaaring gawin kung saan maaari mong ikonekta ang mga lumang game console na stick ng kagalakan; ang isang mga pindutan ng sunog ay mai-wire bilang Btn1 at Btn4 para sa iba pa, habang ibinabahagi ang Btn1-4 pagpunta sa mga pindutan sa pag-navigate ng mga stick ng joy stick.

Abril 2018: Mas gusto mong gamitin ang 5/8 Compression Couplers bilang katawan para sa panlabas na mga pindutan ng istilong plunger. Ang malalaking mga pindutan (na may isang maliit na tape sa kanilang mga thread na idinagdag) ay ganap na magkasya sa kanila at napakahusay na magkasya sa kamay. Tulad ng aking mga bata tulad ng paggamit ng isang pares ng mga ito, nagdagdag ako ng ilang mga hanay ng mga header pin upang madaling ikonekta ang isang panlabas na pindutan na hinawakan ng kamay sa mga contact ng Bnt1 at isa para sa Btn4.

Hakbang 6: Mga Update (s)

(Mga) Update
(Mga) Update

Gumawa ako ng isang 3D naka-print na kaso ng console upang maipakita ang In-Line LED ladder display at mga pindutan.

Pinagsama ko ang 12 mga laro na nilikha ko sa ngayon, para sa 12 LED display na ito, sa isang sketch na 'Menu_12Games'. Kinakailangan ng software na ito ang hardware ng proyektong ito na ipinatupad sa isang 32KB flash MCU (hal. Nano o Uno) at 5 mga pindutan, 4 pangunahing + isang FncKey.

Ang menu ng pagpili ay dalawa nang tiered; pipiliin mo muna ang 1 sa 4 na pangkat ng mga laro pagkatapos ang laro 1-4 sa loob ng pangkat na iyon,… tulad ng nakalista sa ibaba. Habang naghihintay sa mga piling ipinapakita i-scan ang R-Y-G-B pana-panahon, pinindot mo ang Btn1-4 bilang iyong pagpipilian anumang oras, walang pagkakaiba kung ano ang ipinapakita kapag pinindot mo ang iyong pagpipilian. Sa panahon ng pagpili ng 'pangkat' lahat ng Leds ay hindi bababa sa bahagyang lite sa panahon ng pag-scan ng RYGB. Upang lumabas sa anumang laro o i-back up mula sa 'laro' sa pagpili ng 'pangkat' na hit FncKey-Btn1.

Kailangan ko pang i-code ang pangwakas na 4. Mayroon akong 3 nakasulat (kasama ang 'LeMans'). Hindi ko pa naisip kung ano ang huling laro. Mensahe mo ako sa anumang mga ideya.

I-update ang 25 Ene 17: Para sa iyo na nasisiyahan sa pag-access sa isang 3D printer, maaaring interesado ka sa case ng game console na ginawa ko para sa aking aparato: https://www.instructables.com/id/3D-Printed-Case- para sa-Inline-LED-Display-Console-at /

Update 17 Peb 17: Idinagdag ko ang finial 4 na mga laro, na magagamit na ngayon bilang "Menu_16Games.ino" sa ilalim ng "Hakbang 7: I-update, higit pang Mga Laro" ng Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino ay wala na ngayon)

Pangkat na laro: 1– Pula 2- Dilaw 3 - Green 4 - Asul

1 pulang PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Inirerekumendang: