Innehållsförteckning:

Spel med 4 knappar med en analog ingång: 6 steg (med bilder)
Spel med 4 knappar med en analog ingång: 6 steg (med bilder)

Video: Spel med 4 knappar med en analog ingång: 6 steg (med bilder)

Video: Spel med 4 knappar med en analog ingång: 6 steg (med bilder)
Video: Обида_Рассказ_Слушать 2024, Juli
Anonim
Image
Image

Denna instruerbara fokuserar på att använda en analog ingångslinje för flera knappar som kan detekteras oberoende av varandra.

Och för att markera användningen av dessa knappar ingår programvara för att spela fyra olika spel med 4 knappar. Alla spel (totalt 8) här använder en LED-stege-display (se tidigare projekt: instruktioner: Single-Line-LED-Display-Games).

Du kan använda din egen 4-knappars enhet med andra displayutgångar, helt enkelt använda funktionen 'scanButtons ()' från en av de medföljande skisserna. Och använd dessa skisser till exempel användning av dem.

Spelen är ett skicklighetsspel: Whack-a-Mole, ett minnesspel: Simon Says, logikspel Sea Hunt och Flip'd ett spel med två spelare som liknar Reveri. Senare, i denna instruerbara, kommer jag också senare att introducera fyra två-personers spel i head to head-konkurrens.

Steg 1: Bestämning av optimal knappkonfiguration

Att helt enkelt använda några motstånd i serie med knappar avtryckta mellan varje fungerar om du aldrig behöver oroa dig för att en knapptryckning blockerar en annan. I en sådan konfiguration blockerar varje knapp, när den trycks in, allt under det. Även när du bara behöver två knappar och du bara bryr dig om en i taget, som i en implementering av pingis; det skulle vara ett problem, om en spelare misslyckas (bara för långsam eller ondskefullt) att ta bort fingret från sin knapp innan den andra måste slå hans.

Flera knappar har ofta anslutits till en enda analog linje, var och en med egna motståndsvärden som går till ingången. Du kan enkelt skilja vilken knapp eller par som trycks när det bara finns 2 eller 3 knappar. Men inte pålitligt med fler knappar eller mer än två nedtryckta, eftersom den värsta kombinationen av avläsningar blir tvetydigt för nära varandra.

Här, med vad jag kallar en Double-Y-konfiguration med fyra knappar och motstånd, kan du på ett tillförlitligt sätt urskilja varje enkel, dubbel, till och med trippel eller alla fyra knappar som trycks. Programvarudrivrutinen för detta görs i nästa avsnitt och kodlistan.

Med en önskan om att ha fyra knappar kopplade till en analog ingång där varje knapptryckning kunde detekteras oavsett status för de andra knapparna, modellerade jag flera konfigurationer i ett kalkylblad. Jag fann att en dubbel-Y (bestående av 2 uppsättningar av tre motstånd) konfiguration gav de bästa möjligheterna. Se kopplingsschemat nedan. Jag utvärderade dem baserat på den största skillnaden mellan det totala motståndet mellan två knappkombinationer. Jag modellerade vidare beräknade analoga värden. Se kalkylarkfilen nedan.

För att bestämma de bästa värdena att använda i ovanstående konfigurationer skrev jag en simulering, som uttömmande försökte alla möjliga permutationer av potentiella motståndsvärden och hittade den uppsättning som gav den största minsta skillnaden mellan möjliga läsingångar. Jag har angett koden jag använde. Detta var ett brute force -verktyg som jag slängde ihop, fick vad jag ville ha och lade det åt sidan, så det var inte på något sätt optimerat. Det är helt som det är, endast för historisk referens (Solve_4R.html nedan).

Här är dess produktion för granskning:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 min R 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 min R delta: 33,2525545171

Steg 2: Min 4-knappars montering

Min montering med 4 knappar
Min montering med 4 knappar

För mina fyra knappar använde jag dessa knappar och ett perforerat kretskort och motstånd enligt diagrammet ovan. Hur du fysiskt implementerar dina fyra knappar är vidöppen och upp till dig och dina projektbehov. Så länge det är elektriskt vad som står i diagrammet ovan. Var säker på att din konstruktionsmontering är sådan att du inte kommer i kontakt med ledningarna till knapparna eftersom det kommer att slänga av avläsningarna som leder till felaktiga knappbeteenden.

Jag har en liten knapp på min tavla som jag använder som en funktionsknapp. Det är i serie med ett 2 megohm motstånd, som inte avsevärt kastar bort mina andra ingångsmätningar; även om jag bara kan upptäcka det när det ensam trycks. Du kan ignorera den eller kontrollera koden för att förstå hur jag använder den.

Testskiss 'Test_12Leds_6Btns' kan användas för att testa detektering av knappar som trycks av din MCU och den faktiska knappmonteringen. Dess utgång är inställd på att ses antingen med en LED -stege eller en seriell bildskärm. Det kan enkelt modifieras till utmatning via vilken typ av skärm du än har.

Du kan behöva justera kodens uppsättning referensavläsningar som den jämför ingången med, på grund av potentiella skillnader i din MCU: s interna uppdragningsmotstånd eller på grund av toleranser för de motstånd du använder. Du kan, om du hellre, använda precisionsmotstånd, förhoppningsvis för att inte behöva göra kalibreringsjusteringar. Förresten, jag använde inte en extern pull-up eftersom det skulle störa andra användningsområden som jag planerar för ett av mina projekt.

En av de viktigaste programvaruåtgärderna som vidtas för att säkerställa att bestämningen av vilka knappar som trycks in påverkas av matningsspänningsnivån (&/eller MCU -varians) är skalan för den analoga ingången baserat på dess maximala avläsning som i sin tur påverkas av matningsspänningen.

Programvarans "drivrutin" som servar dessa knappar är rutinen "scanButtons ()". Den väntar på att det analoga ingångsvärdet ska reglera och kartlägger sedan avläsningen till en serie av förutbestämda värden; och översätter det till motsvarande tillstånd för insamling av knappar. Denna rutin och de offentliga variablerna som den delar med applikationsprogramvaran är allt som behövs för att använda denna uppsättning på samma sätt i oberoende knappar.

Notera! Den nuvarande versionen av 'scanButtons ()' försöker inte på ett unikt sätt identifiera alla möjliga tre knappkombinationer eftersom det för mig inte var realistiskt nödvändigt och skulle ytterligare komplicera den kod och kalibreringsnoggrannhet som krävs.

Steg 3: Game Play

Antingen skiss, "LadderGames4" eller "Head2head" kan laddas in och köras av de flesta Arduino MCU, men LadderGames4 måste ha "SimonSays" eller något av de andra två spelen kommenterade för att passa in i 8K Bytes programutrymme i en Attiny-85. Ljud är också ett problem med en ATtiny-85, se tidigare projekt som nämnts ovan. Koden är konfigurerad med villkorlig sammanställning och är känd för att fungera med en Nano, Uno och en ATtiny-85.

Med var och en av dessa skisser efter initialisering presenteras menyn med en färg i taget som tänder alla röda… gula… gröna… blå lysdioder, motsvarande de fyra möjliga spelvalen. Du trycker antingen på Btn1 när önskningsalternativet är tänt eller när som helst trycker du på Btn2-4 för spel 2-4. Det överflödiga sättet att välja är för att vara kompatibelt med både två och fyra knappar implementeringar och spel. Om det finns flera versioner av spelet måste du välja blinkande rött för ver-1, blinkande gult för ver-2 och så vidare.

4 knappar spel

Ett minnesspel, ett öga-hand-koordinationsspel och två strategispel.

Simon Says Detta är en omimplementering av spelet från den form jag hade det i, i dessa tidigare projekt:

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

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

Det spelar som de flesta andra Simon Says -spel.

Här har jag dock lagt till tvåpersonsversionen (när du väljer alternativ 2, blinkande gult), där varje spelare i sin tur lägger till en ny ljuslapp till serien. Den första att inte korrekt upprepa allt som kom innan förlorar spelet.

Knacka en mullvad

Under 30 sekunder dyker olika mol upp (röd, yel, grn, blu) 1, 2 eller 3 åt gången. Du måste 'knacka' dem genom att trycka på motsvarande knappar Btn1-4. Endast en knapptryckning accepteras, inga samtidigt flera knapptryckningar. Hur länge en uppsättning mol kvarstår blir kortare när spelet pågår. Om du slår alla mol som visar, kommer en ny uppsättning att visas; så att snabbare du är desto fler mol får du chansen att slå.

När ett spel är klart kommer displayen att återspegla poängen, tända en led för varje 10 mol som knackades. Eftersom spelet får 10 poäng för varje molhack, skulle 5 tända lysdioder representera en standard Whac-a-Mole poäng på 500+. För att spela ytterligare en omgång måste du välja spelet igen.

Jag använder ett finger på varje knapp för snabb action och höga poäng. För en mer korrekt utmaning bör man bara använda ett finger på ena handen och svara på användningen av en klubba.

Min typiska poäng med ett finger är på 500 -talet, med 4 fingrar (ett per knapp) är det 600+. Min högsta poäng är 700+. Att använda flera fingrar är särskilt svårt eftersom att om det finns en överlappning i att trycka på en och annan kommer den andra inte att accepteras av programvaran, vilket kräver att du släpper alla knappar innan en annan accepteras. Om någon får upp alla 12 lysdioderna för ett resultat på 1200+, vänligen meddela oss.

Havsjakt

Det är en osynlig ubåt som rör sig genom djupet. Den ursprungliga platsen och riktningen är slumpmässig. Det gör ett drag längs sin kurs efter varje sväng du tar. Du måste förutsäga var han befinner sig via ekolodsrapporter och sänka den med en djupladdning. Ett ekolod som vågar ut (i båda riktningarna) från dess startplats som ett svagt ljus och lyser (tillsammans med en ping) på avståndet från subben. Observera dock att suben kan vara åt båda hållen och går i okänd riktning. En djupladdning exploderar djupt nedanför där den lanseras. Du hör en dämpad explosion om ingenting, eller om det finns, annars hör du den stora explosionen av sub och en ljus blixt.

För att flytta markören till dit du vill släppa en ekolodboj eller djupladdning görs med Btn2 & Btn3 för vänster och höger. Knapp-1 används för att starta dem.

I version 1 är varje försök en kombination av djupladdnings- och ekolodsrapport; och du kan använda ett obegränsat antal av dem.

I version 2, tur och ordning, för att se vem som lyckas sjunka subben. Spelare 1 använder Btn1 och den andra spelaren använder Btn4 för att starta sina djupavgifter.

I version 3 lanseras djupavgifter och ekolodsrapporter oberoende av Btn1 respektive Btn4. Du har bara tre djupavgifter tillgängliga för dig. Du kan få alla ekolodsrapporter du vill ha. Du förlorar om du inte lyckas få honom med de anklagelserna.

I version 4 kan suben röra sig med en hastighet av 1-3 mellanslag per volley, och spelar annars som version 3, men du får 6 djupavgifter.

Historia: Jag skapade spelet "Sea Hunt" för första gången på 1970 -talet. Då var in- och utmatningsenheten en teletyp. Men då var havet ett 2 -dimensionellt rutnät, i motsats till 1 -dimensionellt som det är här.

OBS: Jag kommenterade djupladdningsbegränsningen i koden, med tanken att det redan var tillräckligt svårt att spela för de flesta.

Vänd

Detta spel med två spelare är lite som Reveri, genom att du försöker vända alla celler till din färg, men detta uppnås på olika sätt.

I detta spel med två spelare är en spelares mål att släcka alla lampor och den andra att tända dem alla. En spelare använder Btn1 för att antingen stänga av en grupp av den andra spelarens lampor eller avstå från en enda av sina "Off lights" (tända den). Den andra spelaren använder Btn4 för att antingen stänga av en grupp "Av -lampor" till På eller en enda av hans rygg Av.

Styrelsen börjar med en slumpmässig uppsättning lysdioder på. När det är den första spelarens tur finns det en snabb dimning eller belysning på lysdioden vid "markören", intressepunkt, för att eventuellt vridas. Under spelare nr 2: s tur blinkar en lång blinkning av en LED som markörindikator. Om fel spelare trycker på sin knapp, ur sin tur, hörs ett mycket kort pip. Markören flyttas till vänster av Btn2 och höger med Btn3. Den förlorande spelaren startar följande spel.

Strategin för vad man ska vända kan vara betydande.

Steg 4: Huvud mot huvud tävlingar

Spel med två knappar / två spelare

I den första uppsättningen med 4 knappspel är det bara 'Whack-a-Mole' som verkligen är beroende av knapphanteringens fullständiga oberoende. Jag har också implementerat fyra head to head -spel, som alla är beroende av oberoende knappdetektering. Dessa spel är: Quick Draw, Tug a War, Chicken och Hot Hands (Slapsies).

Quick Draw (reaktionstest)

Tävlingen inleds med en "Ready"/röd, "Set"/gul och "Draw!"/Grön; är ganska slumpmässig när det ger dig grönt ljus. Den första som trycker på knappen vinner. Slår för tidigt och du är vanära med ett surr.

Spelare 1 använder Btn1 (till vänster) och spelare 2 använder Btn4 (till höger).

Dragkamp

Börjar med "Ready", "Set" … "GO!". Det visas ett föremål i mitten, en "rosett" på ett rep. Sedan slår spelarna på deras knappar så snabbt och ofta som de kan. Fören rör sig mot spelaren med flest träffar. När pilen når ena änden är det vinnaren.

Kyckling

Denna tävling startas på samma sätt. Efter ljudet och den gröna blinkningen "Go!" spelarna trycker och håller ned sina knappar, ljusfläckar (deras vagnar) börjar röra sig från dem mot den andra. Vinnaren är den som släpper sin knapp (hoppar ur sin vagn) sist, precis innan de två blippen skulle krascha i varandra. Om någon släpper för sent eller inte alls, kraschade de och förlorade. Om båda hoppar (släpper) för sent vinner ingen.

I början sveper ett par motsatta lysdioder över displayen, vid denna tidpunkt kommer spelhastigheten att ökas om du träffar Fnc-Btn2. Detta kan upprepas några gånger.

Heta händer

En digital version av handslagspelet (aka Red-Hands or Slapsies). För att starta de två spelarna, tryck ner sina knappar tillsammans, ena sidan släpper sedan försöker trycka på hans knapp två gånger innan den andra sidan kan släppa sin knapp. Därefter försöker den andra sidan göra på samma sätt. Spelaren vars tur det är indikeras i början av en omgång med en belysning av lysdioderna på hans sida. Jag upptäckte att en knapptryckning bara var för snabb och enkel, så jag ställde två krav, vilket tar mer handling och tid, som att behöva både vända handen över och över de andra och sedan slå ner. TBD: I en andra version är det gratis för alla, när som helst kan båda spelarna försöka få det bästa av den andra.

Lägga märke till ! Jag råder dig att skriva ut ovanstående spelregler och läsa dem innan du spelar ett spel som du inte nyligen har spelat. Annars kan du frustrera dig själv; tänker att spelet inte fungerar som det ska, men du och spelet har olika sätt och förväntningar. Jag har själv blivit offer för detta mer än ett par gånger.

Med de åtta spelen här och de fyra i mitt tidigare projekt Single-Line-LED-Display-Games, gör det programvara tillgängligt för att spela 12 spel med denna fyra knappar + ledda hårdvarukombination.

Jag har minst fyra rekreationsaktiviteter för denna (knapp-display) hårdvara som kommer före årets slut.

Steg 5: Valfria kontroller för 2 spelare

Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller
Valfria 2 spelare kontroller

För spelen som bara krävde två knappar kunde jag naturligtvis ha använt 4-knappars kretskort med dessa spel; men när man spelar dessa spel tenderar man att bli ganska fysisk. Så jag använder separata knappkolvar av kolven, tillverkade av en plaströr som är täckt med ett cykelhandtag och en stor knapp.

Knappdelar av kolvtyp:

  • 1/2 "droppledningsrör, sprinkleravstängning eller PVC (järnaffär)
  • Cykelhandtag (Walmart)
  • Stora tryckknappar (eBay)
  • 2 motstånd

För att upprätthålla kompatibiliteten har en knapp ett 75 ohm motstånd i serie med den och den andra har en 36-39 ohm i serie; så att programvaran ser dem som Btn1 respektive Btn4.

Du kan använda slangar från ett kasserat kvast- eller skraphandtag.

En adapter kan till och med göras till vilken du kan ansluta gamla spelkonsolens glädjepinnar; har den ena eldknapparna kopplade som Btn1 och Btn4 för den andra, medan du delar Btn1-4 genom att gå till joy sticks-navigationsknapparna.

April 2018: Nu föredrar du att använda 5/8 kompressionskopplingar som kroppen för externa kolvknappar. De stora knapparna (med lite tejp över sina trådar tillagda) passar perfekt i dem och de passar väldigt bra i handen. Som min barn gillar att använda ett par av dessa, jag lade till ett par uppsättningar rubrikstift för att enkelt ansluta en extern handhållen knapp över Bnt1 -kontakterna och en för Btn4.

Steg 6: Uppdatering (er)

Uppdatering (er)
Uppdatering (er)

Jag gjorde ett 3D-tryckt konsolfodral för att hysa In-Line LED-stegen och knapparna.

Jag har kombinerat de 12 spel som jag skapat hittills, för denna 12 LED -skärm, till en skiss 'Menu_12Games'. Denna programvara kräver projektets hårdvara implementerad med en 32KB blixt MCU (t.ex. Nano eller Uno) och 5 knappar, 4 huvud + en FncKey.

Urvalsmenyn är nu tvålagrad; först väljer du 1 av 4 grupper av spel och sedan spel 1-4 inom den gruppen, … enligt nedan. Medan du väntar på att valda skärmar skannar R-Y-G-B regelbundet trycker du på Btn1-4 som ditt val när som helst, det spelar ingen roll vad som visas när du trycker på ditt val. Under "grupp" -val är alla lysdioder åtminstone delvis lite under RYGB -skanningen. För att avsluta alla spel eller säkerhetskopiera från "spel" till "grupp" -val, tryck på FncKey-Btn1.

Jag har ännu inte kodat upp den sista 4. Jag har 3 skrivna (inklusive "LeMans"). Jag har inte kommit på vad den sista matchen skulle bli. Meddela mig med några idéer.

Uppdatering 25 januari 17: För dig som gillar tillgång till en 3D-skrivare kan du vara intresserad av spelkonsolfodralet som jag gjorde för min enhet: https://www.instructables.com/id/3D-Printed-Case- för-Inline-LED-Display-Console-och/

Uppdatering 17 februari 17: Jag lade till de fyra sista spelen, som nu är tillgängliga som "Menu_16Games.ino" under "Steg 7: Uppdatera, fler spel" i Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino är nu nedlagd)

Gruppspel: 1– Röd 2- Gul 3- Grön 4- Blå

1 röd 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

Rekommenderad: