Sommario:
- Passaggio 1: avere le cose di cui avrai bisogno
- Passaggio 2: recupera e scarica il codice
- Passaggio 3: giocare
- Passaggio 4: esperimenti opzionali con componenti esterni
Video: Testa Arduino nudo, con software di gioco utilizzando input capacitivo e LED: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Gioco interattivo "Push-It" che utilizza una scheda Arduino nuda, senza bisogno di parti esterne o cablaggio (utilizza un ingresso 'touch' capacitivo). Mostrato sopra, mostra che funziona su due schede diverse.
Push-It ha due scopi.
- Per dimostrare/verificare rapidamente che la tua scheda Arduino funzioni e che tu sia configurato correttamente per scaricare un nuovo sketch di codice su di essa. Vedrai che esegue l'input e l'output (rileva il livello dell'ingresso digitale, invia al LED di bordo); memorizzare e recuperare un valore dalla memoria EEPROM non volatile. Il tutto senza collegare cavi o dispositivi.
- Fornisci un gioco divertente e stimolante interagendo con una scheda Arduino.
Questa istruzione presuppone che tu abbia già installato un IDE Arduino e che tu abbia almeno una minima familiarità con il suo utilizzo. Se no ti rimando a questi link:
Iniziare con Arduino
Aggiunta del supporto Digispark (con bootloader) all'IDE Arduino 1.6.x esistente
Push-It funzionerà con la maggior parte delle schede Arduino, ad es. una scheda Nano, Uno o DigiSpark Attiny85. L'ho testato con un Nano 3.1 e un DigiSpark. Nel testo quando mi riferisco ai nomi/numeri dei pin saranno come usati sulla scheda Nano (al contrario del DigiSpark).
Passaggio 1: avere le cose di cui avrai bisogno
Che è semplicemente qualsiasi Arduino o una scheda comparabile.
Se non ne hai già uno, ti consiglio di iniziare con un DigiSpark Pro (~ $ 12) o un Nano 3.0 di eBay per ~ $ 3 (ma avrai una settimana o due in più per aspettare che arrivi dalla Cina; e dovrai installare un driver USB CH340). Il DigiSpark ~$10 (non Pro) è molto adatto per questo "videogioco" a bit singolo (questa unità ridotta, con solo 6 I/O, è un po' più complicata da caricare)
Collegamenti all'hardware qui utilizzato:
Nano V3.0 Atmega328P su eBay
Scheda di sviluppo USB Digispark
Passaggio 2: recupera e scarica il codice
Copia il codice qui sotto in un file di schizzo arduino (ad es. …/Push_It/Push_It.ino) Ho provato a commentarlo abbastanza bene. Spero che trovi il codice facilmente comprensibile. La logica per determinare quando aumentare, diminuire e quando no è alquanto complicata, ma quella parte è anche codice specializzato e non è di utilità generale. Per maggiori dettagli sulla creazione di un nuovo 'schizzo' (progetto di codice) da utilizzare con l'IDE Arduino vede:
Creazione di un nuovo schizzo Arduino
Scarica lo sketch "Push_It" nel nostro microcontrollore seguendo le istruzioni dell'IDE Arduino per la tua scheda.
Passaggio 3: giocare
L'obiettivo del gioco è far lampeggiare il LED (a bordo) il maggior numero di volte possibile in una serie di lampeggi che poi si ripetono
Giocare al gioco:
Push-It inizia con un singolo lampo, che poi si ripeterà. Se tocchi il dito vicino al pin di input mentre il LED è acceso, il ciclo successivo farà lampeggiare il LED due volte.
Ogni volta che si preme lo pseudo pulsante durante il primo lampeggio di una serie di lampeggi, a quel gruppo verrà aggiunto un altro lampo. Generalmente non importa quando sollevi/rimuovi il dito.
Ma se "spingi" prima o dopo il primo lampeggio, il conteggio dei lampeggi in un set verrà ridotto.
Se non fai altro, il numero di lampeggi in un set viene mantenuto. Inoltre, quando il conteggio rimane invariato per un ciclo completo, il numero di conteggio viene memorizzato nella memoria EEPROM.
Ogni volta che riesci ad aumentare il numero di flash, il tempo aumenta leggermente, rendendo sempre più difficile raggiungere un numero di flash elevato. Quando si commette un errore e il numero di lampeggi si riduce, ci sarà una pausa più lunga prima del lampeggio di inizio del ciclo successivo. Ciò fornisce una sfida aggiuntiva, in quanto può aumentare la probabilità che tu salti la pistola. Quindi stai attento.
Una volta che hai portato la tua unità a un numero di flash elevato, puoi portarla (o spedirla per posta, cosa per cui DigiSpark è utile) a un amico, dove dopo averlo collegato vedranno quanto è alto il conteggio dei flash che hai aumentato a. Ho trovato difficile portarlo a più di 8. Con un vero pulsante attaccato sono riuscito a farlo arrivare a più di una dozzina. Per tornare a un conteggio inferiore è possibile premerlo ripetutamente in qualsiasi momento prima o dopo il primo lampeggio. Inoltre, se si collega il pin di ingresso a massa durante l'accensione, il conteggio verrà ripristinato a 1.
Nota che la scheda DigiSpark originale ha un ritardo di 10 secondi dopo l'accensione prima del quale inizierà a eseguire il codice "Push-It" e a giocare. Usa questo tempo per provare a parlare attraverso i pin USB per ricevere un possibile nuovo aggiornamento del codice di download.
Se la scheda Arduino che stai utilizzando ha un LED USB TX su di essa, questo LED avrà un piccolo flash veloce quando hai effettivamente "premuto il pulsante". Ci sarà un lampeggio più significativo di questo LED ogni volta che il valore di conteggio nella EEPROM viene aggiornato con un nuovo valore. Questo feedback può aiutarti notevolmente a sapere quando o ad assicurarti di aver effettivamente attivato un evento "pulsante premuto". Potrebbe essere necessario assicurarsi di non toccare la massa del circuito (come il metallo attorno a un connettore micro-USB) in modo che la figura induca effettivamente rumore sul pin di ingresso aperto. Ci saranno sfide aggiuntive e in qualche modo imprevedibili dovute al fatto che il pin di ingresso è flottante (non tirato su o giù da un carico conduttivo/resistivo) e il rumore del segnale variabile che passa attraverso il dito.
Un'onda quadra a 250Hz viene emessa su un pin vicino al pin di input che migliora notevolmente la certezza di un segnale di input iniettato quando il dito copre entrambi i pin.
Ho scoperto che la risposta della tavola DigiSpark è abbastanza coerentemente prevedibile con una leggera pressione delle dita all'angolo della tavola dove si trovano D3-D5.
Quando gioco a "Push-It" mi piace farlo con la scheda collegata a una batteria mobile USB 5v (vedi foto). Questi possono generalmente essere trovati a buon mercato nei contenitori accanto a quelli degli adattatori USB AC e 12v per auto; nella maggior parte dei grandi magazzini reparto di elettronica.
Passaggio 4: esperimenti opzionali con componenti esterni
Nota: se alleghi un pulsante reale, c'è una riga di codice che deve essere commentata, come indicato nel codice.
Con un altoparlante, un lato a terra, se tocchi l'altro cavo a D4 sentirai il suono di un'onda quadra a 250 Hz. A D3 c'è un'onda quadra di 500Hz. Se colleghi l'altoparlante tra D3 e D4, sentirai un composito dei due segnali.
È molto interessante collegare un LED al posto di un altoparlante come sopra. Non è necessario preoccuparsi della tensione, dei livelli di corrente, dei resistori o persino della polarità (nel caso peggiore non si accende, quindi giralo semplicemente). Prova, prima di tutto, con il cavo negativo (catodo) collegato a massa e l'altro a D3 o D4. Il LED sarà 'mezzo' acceso, a causa delle onde quadre. Inoltre non è necessaria alcuna resistenza poiché l'uscita delle MicroControllerUnit è limitata in corrente. Ho effettuato misurazioni di corrente risultanti rispettivamente in 15ma e 20ma per gli MCU Attiny85 e Atmega328. Questi livelli sono circa la metà dell'attuale valore limitato per queste parti a causa della natura del ciclo di lavoro del 50% dei segnali a onda quadra di pilotaggio. Le letture del contatore sono in realtà una media della corrente attraverso il circuito testato.
È interessante notare che se si collega tra D3 e D4 con il LED (vedi immagine sopra ea sinistra) si accenderà in entrambi i modi e a circa ½ della luminosità come ha fatto con un lato collegato a terra. Ti invito a riflettere sul perché.
Consigliato:
Controller di gioco fai-da-te basato su Arduino - Controller di gioco Arduino PS2 - Giocare a Tekken con il gamepad Arduino fai da te: 7 passaggi
Controller di gioco fai-da-te basato su Arduino | Controller di gioco Arduino PS2 | Giocare a Tekken con il gamepad Arduino fai da te: Ciao ragazzi, giocare è sempre divertente, ma giocare con il tuo controller di gioco personalizzato fai-da-te è più divertente. Quindi creeremo un controller di gioco usando arduino pro micro in queste istruzioni
Gioco arcade di basket intelligente con cerchi per il conteggio dei punteggi utilizzando la piattaforma incorporata Evive- Arduino: 13 passaggi
Smart Basketball Arcade Game Con Score Counting Hoops Usando Evive- Arduino Embedded Platform: Di tutti i giochi là fuori, i più divertenti sono i giochi arcade. Quindi, abbiamo pensato perché non crearne uno noi stessi a casa! Ed eccoci qui, il gioco fai da te più divertente a cui avresti mai giocato fino ad ora: il gioco di basket arcade fai da te! Non solo è th
Arte interattiva con nudo conduttore e trucco truccato: 10 passaggi
Arte interattiva con nudo conduttore e trucco truccato: usa un dipinto di un negozio dell'usato per dare vita all'arte. Parti: Inchiostro conduttivo nudo Makey Makey Ponticelli di diverse dimensioni Pittura del negozio dell'usato (o altra arte) Strumenti: Nastro software Soundplant per laptop
Ingresso tattile capacitivo ESP32 utilizzando "tappi per fori metallici" per i pulsanti: 5 passaggi (con immagini)
Ingresso tattile capacitivo ESP32 utilizzando "tappi con foro metallico" per i pulsanti: mentre stavo finalizzando le decisioni di progettazione per un imminente progetto basato su ESP32 WiFi Kit 32 che richiedeva l'ingresso a tre pulsanti, un problema evidente era che il WiFi Kit 32 non possiede un singolo pulsante meccanico, ma solo tre pulsanti meccanici, f
Controller di gioco Arduino con luci che rispondono al tuo gioco Unity:: 24 passaggi
Controller di gioco Arduino con luci che rispondono al tuo gioco Unity:: Prima di tutto ho scritto questa cosa a parole. Questa è la prima volta che uso istruibile, quindi ogni volta che dico: scrivi il codice in questo modo sappi che mi riferisco all'immagine nella parte superiore di quel passaggio. In questo progetto uso 2 arduino per eseguire 2 bit separati