Sommario:

Giochi a 4 pulsanti che utilizzano un ingresso analogico: 6 passaggi (con immagini)
Giochi a 4 pulsanti che utilizzano un ingresso analogico: 6 passaggi (con immagini)

Video: Giochi a 4 pulsanti che utilizzano un ingresso analogico: 6 passaggi (con immagini)

Video: Giochi a 4 pulsanti che utilizzano un ingresso analogico: 6 passaggi (con immagini)
Video: Come conquistare una ragazza del CLASSICO 2024, Novembre
Anonim
Image
Image

Questa istruzione si concentra sull'utilizzo di una linea di ingresso analogica per più pulsanti che possono essere rilevati indipendentemente l'uno dall'altro.

E per evidenziare l'uso di questi pulsanti è incluso il software per giocare a quattro diversi giochi a 4 pulsanti. Tutti i giochi (8 in totale) qui utilizzano un display ladder a Led (fare riferimento al progetto precedente: istruzioni: Single-Line-LED-Display-Games).

È possibile utilizzare il proprio gruppo a 4 pulsanti con altri output di visualizzazione, utilizzare semplicemente la funzione 'scanButtons()' da uno degli schizzi inclusi. E usa quegli schizzi per usarli ad esempio.

I giochi sono un gioco di abilità: Whack-a-Mole, un gioco di memoria: Simon Says, i giochi di logica Sea Hunt e Flip'd un gioco per due giocatori simile a Reveri. Più avanti, in questo tutorial, introdurrò anche quattro giochi a due persone di competizione testa a testa.

Passaggio 1: determinazione della configurazione ottimale dei pulsanti

Il semplice utilizzo di alcuni resistori in serie con i pulsanti toccati tra di loro funzionerà se non devi mai preoccuparti che la pressione di un pulsante ne occlude un altro. In una tale configurazione ogni pulsante, quando viene premuto, blocca tutti quelli sotto di esso. Anche quando ti servono solo due pulsanti e ti interessa solo uno alla volta, come in un'implementazione del ping-pong; sarebbe un problema se un giocatore non riesce (solo per essere troppo lento o maliziosamente) a rimuovere il dito dal suo pulsante prima che l'altro debba premere il suo.

Più pulsanti sono stati spesso collegati a una singola linea analogica, ciascuno con i propri valori di resistenza diversi che vanno all'ingresso. Puoi, abbastanza facilmente, differenziare quale pulsante o coppia viene premuto quando ci sono solo 2 o 3 pulsanti. Ma non in modo affidabile con più pulsanti o più di due premuti, poiché la combinazione di letture nel caso peggiore diventa ambiguamente troppo ravvicinata.

Qui con quella che chiamo una configurazione a doppia Y di quattro pulsanti e resistori, puoi distinguere in modo affidabile qualsiasi singolo, doppio, persino triplo o tutti e quattro i pulsanti premuti. Il driver software per farlo è trattato nella sezione successiva e nell'elenco dei codici.

Con il desiderio di avere quattro pulsanti collegati a un ingresso analogico in cui la pressione di ciascun pulsante potesse essere rilevata indipendentemente dallo stato degli altri pulsanti, ho modellato diverse configurazioni in un foglio di calcolo. Ho scoperto che una configurazione a doppia Y (composta da 2 set di tre resistori) offriva le migliori possibilità. Vedere lo schema elettrico di seguito. Li stavo valutando in base alla massima separazione della resistenza totale tra due combinazioni qualsiasi di pulsanti premuti. Ho ulteriormente modellato i valori analogici calcolati. Fare riferimento al file del foglio di calcolo di seguito.

Per determinare i migliori valori da utilizzare nelle configurazioni di cui sopra ho scritto una simulazione, che ha provato in modo esaustivo tutte le possibili permutazioni dei potenziali valori dei resistori, trovando l'insieme che produceva la massima differenza minima tra i possibili ingressi di lettura. Ho fornito il codice che ho usato. Questo era uno strumento di forza bruta che ho messo insieme, ho ottenuto quello che volevo e l'ho messo da parte, quindi non è stato in alcun modo ottimizzato. È totalmente così com'è, solo per riferimento storico (Solve_4R.html sotto).

Ecco il suo output per la revisione:

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 min R delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 min R 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: Delta 18 minR: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: Delta 22 minR: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 Delta minR: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 Delta minR: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 Delta minR: 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: Delta 27 minR: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: Delta 27 minR: 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: Delta 27 minR: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: Delta 15 minR: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: Delta 27 minR: 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 min Delta R: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 min Delta R: 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: Delta 36 minR: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: Delta 39 minR: 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: Delta 18 minR: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: Delta 15 minR: 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 min Delta R: 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: Delta 18 minR: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: Delta 27 minR: 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: Delta 27 minR: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: Delta 36 minR: 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

Passaggio 2: il mio gruppo a 4 pulsanti

Il mio gruppo a 4 pulsanti
Il mio gruppo a 4 pulsanti

Per i miei quattro pulsanti ho usato questi pulsanti e un PCB perforato e resistori come indicato nello schema sopra. Il modo in cui implementi fisicamente i tuoi quattro pulsanti è ampiamente aperto e dipende dalle tue esigenze e dai tuoi progetti. A patto che sia elettricamente quello che c'è nello schema sopra. Assicurati che la tua struttura di montaggio sia tale da non entrare in contatto con il cablaggio dei pulsanti in quanto ciò eliminerebbe le letture con conseguente comportamento errato dei pulsanti.

Ho un piccolo pulsante aggiunto sulla mia scheda che uso come un tasto "Funzione". È in serie con un resistore da 2 megaohm, che non elimina in modo significativo le mie altre letture di input; anche se posso rilevarlo solo quando viene premuto da solo. Puoi ignorarlo o controllare il codice per capire ulteriormente come lo utilizzo.

Lo schizzo di prova 'Test_12Leds_6Btns' può essere utilizzato per testare il rilevamento della pressione dei pulsanti da parte dell'MCU e dell'effettivo gruppo di pulsanti. La sua uscita è impostata per essere visualizzata con un LED Ladder o il monitor seriale. Potrebbe essere facilmente modificato per l'output tramite qualsiasi tipo di display tu possa avere.

Potrebbe essere necessario regolare il set di letture di riferimento del codice con cui confronta l'ingresso, a causa di potenziali differenze nel resistore di pull-up interno dell'MCU o delle tolleranze dei resistori utilizzati. Potresti, se preferisci, usare resistori di precisione, si spera di non dover effettuare regolazioni di calibrazione. A proposito, non ho usato un pull-up esterno in quanto interferirebbe con altri usi che pianifico per uno dei miei progetti.

Una delle principali azioni software intraprese, per garantire che la determinazione di quale pulsante o pulsanti vengono premuti non sia influenzata dal livello di tensione di alimentazione (&/o variazione MCU), è quella di ridimensionare l'ingresso analogico in base alla sua lettura massima che a sua volta è influenzato dalla tensione di alimentazione.

Il 'driver' del software che serve questi pulsanti è la routine 'scanButtons()'. Attende che il valore dell'ingresso analogico si stabilizzi quindi mappa la lettura in una serie di valori predeterminati; e lo traduce negli stati corrispondenti per la raccolta dei pulsanti. Questa routine, e le variabili pubbliche che condivide con il software applicativo, è tutto ciò che serve per fare un uso simile di questo set in pulsanti indipendenti.

Nota! L'attuale versione di 'scanButtons()' non cerca di identificare in modo univoco tutte e tre le possibili combinazioni di pulsanti poiché, per me, non era realisticamente necessario e complicherebbe ulteriormente il codice e l'accuratezza della calibrazione richiesta.

Passaggio 3: gioco

Entrambi gli sketch, "LadderGames4" o "Head2head" possono essere caricati ed eseguiti dalla maggior parte degli MCU Arduino, ma LadderGames4 deve avere "SimonSays" o uno qualsiasi degli altri due giochi commentati per adattarsi agli 8K byte di spazio del programma in un Attiny-85. Anche l'audio è un problema con un ATtiny-85, vedere il progetto precedente menzionato sopra. Il codice è configurato con la compilazione condizionale ed è noto per funzionare con Nano, Uno e ATtiny-85.

Con ognuno di questi schizzi dopo l'inizializzazione ti viene presentato il Menu, con un colore alla volta che accende tutti i Led Rosso…Giallo…Verde…Blu, corrispondenti alle quattro possibili scelte di gioco. Premi Btn1 quando l'opzione desiderata è accesa o in qualsiasi momento premi Btn2-4 per i giochi 2-4. Il modo ridondante di selezionare è in modo da essere compatibile con implementazioni e giochi sia a due che a quattro pulsanti. Se ci sono più versioni del gioco, dovrai selezionare il rosso lampeggiante per la versione 1, il giallo lampeggiante per la versione 2 e così via.

Giochi a 4 pulsanti

Un gioco di memoria, un gioco di coordinazione occhio-mano e due giochi di strategia.

Simon Says Questa è una reimplementazione del gioco dalla forma in cui l'ho avuto, in questi progetti precedenti:

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

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

Funziona come la maggior parte degli altri giochi 'Simon Says'.

Qui, però, ho aggiunto la versione per due persone (quando selezioni l'opzione 2, giallo lampeggiante), in cui ogni giocatore, a sua volta, aggiunge una nuova nota di luce alla serie. Il primo che non ripete correttamente tutto ciò che è accaduto prima perde la partita.

Colpisci una talpa

Per 30 secondi compaiono diversi nei (rosso, giallo, verde, blu) 1, 2 o 3 alla volta. Devi "colpirli" premendo i pulsanti corrispondenti Btn1-4. Verranno accettate solo pressioni di un singolo pulsante, nessuna pressione simultanea di più pulsanti. Il tempo di permanenza di una serie di talpe si accorcia man mano che il gioco va avanti. Se colpisci tutte le talpe mostrate, apparirà un nuovo set; in modo tale che più velocemente sei, più talpe avrai la possibilità di colpire.

Una volta terminato il gioco, il display rifletterà il punteggio, accendendo un led per ogni 10 talpe che sono state colpite. Poiché il gioco ottiene 10 punti per ogni colpo di talpa, 5 led accesi rappresenterebbero un punteggio standard di punti Whac-a-Mole di 500+. Per giocare un altro round dovrai riselezionare il gioco.

Uso un dito su ciascun pulsante per azioni rapide e punteggi più alti. Per una sfida più corretta si dovrebbe usare solo un dito su una mano, rispondendo all'uso di un martello.

Il mio punteggio tipico usando un dito è nel 500, usando 4 dita (uno per pulsante) è 600+. Il mio punteggio più alto è 700+. L'utilizzo di più dita è particolarmente complicato in quanto se si verifica una sovrapposizione nel premere l'uno e l'altro, il secondo non verrà accettato dal software, richiedendo di rilasciare tutti i pulsanti prima che un altro venga accettato. Se qualcuno ottiene tutti e 12 i led alla luce, per un punteggio di 1200+, faccelo sapere.

Caccia al mare

C'è un sottomarino invisibile che si muove nelle profondità. La posizione iniziale e la direzione sono casuali. Fa una mossa lungo il suo percorso dopo ogni turno che fai. Devi prevedere dove si trova tramite i rapporti del sonar e affondarlo con una carica di profondità. Il suono del sonar esce (in entrambe le direzioni) dalla sua posizione di partenza come una luce fioca e si illumina (insieme a un rumore metallico) alla distanza del sottomarino. Tuttavia, tieni presente che il sottomarino potrebbe essere in entrambi i modi e si sta muovendo in una direzione sconosciuta. Una carica di profondità esplode in profondità al di sotto del punto in cui viene lanciata. Si sente un'esplosione smorzata se non c'è niente, o c'è, altrimenti si sente la grande esplosione del sottomarino e un lampo luminoso.

Per spostare il cursore nel punto in cui si desidera far cadere una boa sonar o la carica di profondità viene eseguita con Btn2 e Btn3 per sinistra e destra. Button-1 viene utilizzato per avviarli.

Nella versione 1, ogni tentativo è una combinazione di carica di profondità e rapporto sonar; e puoi usarne un numero illimitato.

Nella versione 2, Testa a testa, a turno, per vedere chi riesce ad affondare il sottomarino. Il giocatore 1 usa Btn1 e il secondo giocatore usa Btn4 per lanciare le sue cariche di profondità.

Nella versione 3, le cariche di profondità e i rapporti sonar vengono lanciati indipendentemente rispettivamente da Btn1 e Btn4. Hai solo tre cariche di profondità a tua disposizione. Puoi ottenere tutti i rapporti sonar che desideri. Perdi se non riesci a prenderlo con quelle accuse.

Nella versione 4 il sottomarino potrebbe muoversi a una velocità di 1-3 spazi per tiro al volo, e altrimenti gioca come la versione 3, ma ottieni 6 cariche di profondità.

Storia: ho creato per la prima volta il gioco "Sea Hunt" negli anni '70. Quindi il dispositivo di input e output era una telescrivente. Tuttavia, allora il mare era una griglia bidimensionale, invece di 1 dimensionale come lo è qui.

NOTA: ho commentato la limitazione della carica di profondità nel codice, con l'idea che fosse già abbastanza difficile da giocare per la maggior parte delle persone.

capovolto

Questo gioco a due giocatori è un po' come Reveri, in quanto stai cercando di trasformare tutte le celle del tuo colore, ma questo si ottiene in modo diverso.

In questo gioco a due giocatori, l'obiettivo di un giocatore è spegnere tutte le luci e l'altro accenderle tutte. Un giocatore usa Btn1 per spegnere un gruppo di luci dell'altro giocatore o per rinunciare a una delle sue "luci spente" (accendendolo). L'altro giocatore usa Btn4 per accendere o spegnere un gruppo di "luci spente".

La scheda inizia con una serie casuale di led accesi. Quando è il turno del primo giocatore c'è un rapido oscuramento o accensione del led in corrispondenza del 'cursore', punto di interesse, potenzialmente da accendere. Durante il turno del giocatore #2 c'è un lungo lampeggio di un led come indicatore del cursore. Se il giocatore sbagliato preme il suo pulsante, fuori turno, viene emesso un segnale acustico molto breve. Il cursore viene spostato a sinistra da Btn2 ea destra da Btn3. Il giocatore perdente inizia il gioco successivo.

La strategia su cosa capovolgere può essere significativa.

Fase 4: Concorsi testa a testa

Giochi a due pulsanti/due giocatori

Nella prima serie di giochi a 4 pulsanti solo 'Whack-a-Mole' si basa veramente sulla completa indipendenza dell'elaborazione dei pulsanti. Ho anche implementato quattro giochi testa a testa, che dipendono tutti dal rilevamento indipendente dei pulsanti. Questi giochi sono: Quick Draw, Tug a War, Chicken e Hot Hands (Slapsies).

Estrazione rapida (test di reazione)

Il concorso inizia con un 'Pronto'/rosso, 'Set'/giallo e un 'Draw!'/verde; essendo abbastanza casuale su quando ti dà il via libera. Il primo a premere il pulsante vince. Colpire troppo presto e sei disonorato con un ronzio.

Il giocatore 1 usa Btn1 (a sinistra) e il giocatore 2 usa Btn4 (a destra).

Tiro alla fune

Inizia con un 'Pronto', 'Imposta' … 'GO!'. Appare un oggetto nel mezzo, un 'arco' su una corda. Quindi i giocatori premono i pulsanti il più velocemente e spesso possibile. L'arco si sposterà verso il giocatore con il maggior numero di colpi. Una volta che l'arco raggiunge un'estremità, questo è il vincitore.

Pollo

Questo concorso è iniziato in modo simile. Dopo il suono e il lampo verde di "Vai!" i giocatori premono e tengono premuti i loro pulsanti, i lampi di luce (i loro carri) iniziano a muoversi da loro verso l'altro. Il vincitore è colui che rilascia il pulsante (salta fuori dal carro) per ultimo, appena prima che i due segnalini si scontrino l'uno con l'altro. Se qualcuno rilascia troppo tardi o non lo fa affatto, si è schiantato e ha perso. Se entrambi saltano (rilasciano) troppo tardi nessuno vince.

All'inizio una coppia di led opposti attraversano il display, in questo momento se premi Fnc-Btn2 la velocità di gioco sarà aumentata. Questo può essere ripetuto alcune volte.

Mani calde

Una versione digitale del gioco di schiaffi delle mani (noto anche come Red-Hands o Slapsies). Per iniziare, i due giocatori premono insieme i loro pulsanti, un lato rilascia quindi prova a premere il suo pulsante due volte prima che l'altro lato possa rilasciare il suo pulsante. Poi l'altro lato cerca di fare lo stesso. Il giocatore di turno è indicato all'inizio di un round dall'accensione dei led sul suo fianco. Ho scoperto che premere uno schiaffo con un solo pulsante era troppo veloce e facile, quindi ne ho richiesti due, che richiedono più azione e tempo, come dover entrambi capovolgere la mano sopra e sopra gli altri e poi schiaffeggiarla. TBD: In una seconda versione, è gratuita per tutti, in qualsiasi momento entrambi i giocatori possono provare a ottenere il meglio dall'altro.

Avviso ! Ti consiglio di stampare le regole di funzionamento dei giochi di cui sopra e di rileggerle prima di giocare a un gioco a cui non hai giocato di recente. Altrimenti, puoi frustrarti; pensare che il gioco non funzioni correttamente quando in realtà lo è, ma tu e il gioco avete modi e aspettative diversi. Io stesso sono caduto preda di questo più di un paio di volte.

Con gli otto giochi qui e i quattro nel mio precedente progetto Single-Line-LED-Display-Games, che rende disponibile il software per giocare a 12 giochi con questa combinazione hardware di quattro pulsanti + led ladder.

Ho almeno altre quattro attività ricreative per questo hardware (display a pulsanti) in arrivo prima della fine dell'anno.

Passaggio 5: controller per 2 giocatori opzionali

Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali
Controller per 2 giocatori opzionali

Per i giochi che richiedevano solo due pulsanti, ovviamente avrei potuto usare il PCB a 4 pulsanti con quei giochi; tuttavia, giocando a questi giochi si tende a diventare piuttosto fisici. Quindi, uso gruppi di pulsanti separati del tipo a stantuffo, realizzati con un pezzo di tubo di plastica coperto da un'impugnatura per bicicletta e un pulsante grande.

Parti del pulsante di tipo a stantuffo:

  • Tubo per linea di gocciolamento da 1/2", supporto per irrigatore o PVC (negozio di ferramenta)
  • Impugnatura per bicicletta (Walmart)
  • Pulsanti grandi (eBay)
  • 2 resistori

Per mantenere la compatibilità un pulsante ha una resistenza da 75 ohm in serie e l'altro ha una resistenza da 36-39 ohm in serie; in modo tale che il software li vedrà rispettivamente come Btn1 e Btn4.

Potresti usare i tubi di una scopa scartata o il manico di un tergipavimento.

Si potrebbe addirittura realizzare un adattatore al quale collegare vecchi joystick per console di gioco; fare in modo che i pulsanti di fuoco di uno siano cablati come Btn1 e Btn4 per l'altro, mentre si condivide Btn1-4 andando ai pulsanti di navigazione dei joystick.

Aprile 2018: ora preferisco usare gli accoppiatori a compressione da 5/8 come corpo per i pulsanti esterni in stile stantuffo. ai bambini piace usare un paio di questi, ho aggiunto un paio di set di pin di intestazione in modo da collegare facilmente un pulsante tenuto in mano esterno attraverso i contatti Bnt1 e uno per Btn4.

Passaggio 6: aggiornamento/i

Aggiornamento/i
Aggiornamento/i

Ho realizzato una custodia per console stampata in 3D per ospitare il display e i pulsanti della scala a LED in linea.

Ho combinato i 12 giochi che ho creato finora, per questo display a 12 LED, in uno schizzo "Menu_12Games". Questo software richiede l'hardware di questo progetto implementato con un MCU flash da 32 KB (es. Nano o Uno) e 5 pulsanti, 4 principali + un tasto FncKey.

Il menu di selezione ora è a due livelli; prima selezioni 1 dei 4 gruppi di giochi, quindi i giochi 1-4 all'interno di quel gruppo, … come elencato di seguito. In attesa che i display selezionati scansionano periodicamente R-Y-G-B, si preme Btn1-4 come selezione in qualsiasi momento, non fa differenza ciò che viene visualizzato quando si preme la selezione. Durante la selezione 'gruppo' tutti i Led sono almeno parzialmente accesi durante la scansione RYGB. Per uscire da qualsiasi gioco o eseguire il backup dalla selezione "gioco" a "gruppo", premere FncKey-Btn1.

Devo ancora codificare i 4 finali. Ne ho scritti 3 (incluso "LeMans"). Non ho pensato a quale sarebbe stata l'ultima partita. Messaggio me con tutte le idee.

Aggiornamento 25 gennaio 17: Per quelli di voi che amano l'accesso a una stampante 3D, potrebbe interessarti la custodia per console di gioco che ho realizzato per il mio dispositivo: https://www.instructables.com/id/3D-Printed-Case- per-Console-Display-LED-in linea-e/

Aggiornamento 17 17 febbraio: ho aggiunto i 4 giochi finali, che ora sono disponibili come "Menu_16Games.ino" in "Step 7: Update, more Games" di Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino è ora defunta)

Gioco di gruppo: 1– Rosso 2- Giallo 3 – Verde 4 – Blu

1 rosso 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

Consigliato: