Sommario:
- Fase 1: Introduzione al progetto
- Passaggio 2: tagliere
- Passaggio 3: assemblaggio
- Passaggio 4: programmazione e impostazioni
- Passaggio 5: lo schizzo di lettura del pulsante ti aiuterà a trovare i valori di resistenza da modificare nello schizzo principale. Premi ogni pulsante e registra i valori del resistore per entrare nello schizzo principale
- Passaggio 6: elenchi delle parti e strumenti di cui potresti aver bisogno
- Passaggio 7: qualche informazione in più e lo schizzo principale
Video: Gioco tenuto in mano delle forbici della roccia di carta di Arduino che utilizza il display LCD 20x4 con I2C: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Ciao a tutti o forse dovrei dire "Hello World!"
Sarebbe un grande piacere condividere con voi un progetto che è stato il mio ingresso in molte cose Arduino. Questo è un gioco Arduino Paper Rock Scissors portatile che utilizza un display LCD I2C 20x4. So che potresti pensare: "Un altro gioco di Paper Rock Scissors?" Ma la maggior parte dei giochi Arduino Paper Rock Scissors usa semplici LED e ne ho anche visto uno che usava simboli di carta sollevati da servi. Quelli sono fantastici. Questo progetto utilizza un display LCD 20x4 e ne ha fatto uno con I2C e uno senza (non mostrato qui). Volevo una custodia economica con un aspetto finito, non solo un pasticcio di breadboard. Non tutti hanno accesso a una stampante 3D e vogliono pagare qualcuno che lo fa. E volevo che fosse facile da realizzare in modo da poter condividere le idee con gli altri. Poiché le mie capacità di programmazione sono di livello principiante, lo schizzo è piuttosto semplice e facile da capire e modificare. Questa è stata la mia educazione personale nella creazione di uno schizzo. Troverai molte note nello schizzo e ha attraversato molte, molte (20+?) iterazioni finché non credo che sia giusto. Il progetto costa meno di $ 20 da realizzare (non I2C).
Ho iniziato con Arduino nel 2018 e ho visitato il loro sito Web e ho letto tutto ciò che potevo. Costruito e sperimentato con i progetti di esempio di cui è dotato e letto molti Instructables che molti di voi hanno condiviso nel corso degli anni. Li apprezzo davvero e ho imparato tanto da tutti voi. Grazie. Ora voglio condividere parte di ciò che ho imparato aggiungendo la mia creatività. Prima che la sezione dei commenti si accumulasse con molte domande su come farlo e che tieni a mente, ho iniziato questo senza esperienza in Arduino. Ho imparato costruendo i progetti di esempio sui siti web Arduino e Instructables. Ho imparato da voi ragazzi. Quando rimani bloccato, questo potrebbe essere il modo più rapido per trovare una soluzione.
Fase 1: Introduzione al progetto
Ho selezionato il display LCD da Amazon e ho scelto I2C 20x4 LCD per il basso costo (circa $ 12 - $ 18) e la facilità di cablaggio e programmazione. Se lo desideri, puoi usarne uno senza I2C e potresti ottenerne uno a un prezzo inferiore a $ 7. Ma dovrai utilizzare una libreria e uno schema di cablaggio diversi e utilizzare più pin Arduino. Non preoccuparti, è abbastanza per andare in entrambi i modi. Serial I2C 20x4 sarebbe più facile da costruire, meno cavi creano meno confusione. Ma il display LCD 20x4 parallelo costa circa $ 5 in meno. Ho disegnato gli schemi per entrambi gli schemi di cablaggio. La maggior parte delle altre parti che ho acquistato da Amazon e da un paio di negozi locali. La mia scatola è una scatola vuota per la miscela di bevande al cappuccino. Mi piace che il coperchio si stacchi facilmente per accendere/spegnere l'alimentazione, lavorare su qualsiasi componente o cambiare la batteria. E "Ehi!" la scatola era gratis e mi piace il cappuccino. Riciclare la plastica fa bene all'ambiente. Puoi usare qualsiasi scatola che ti piace in cui tutto si adatta o anche saltare la scatola o il breadboard del progetto. Volevo un "look da progetto finito" a buon mercato. Scommetto che qualcuno crea una versione stampata in 3D. L'Arduino riproduce il gioco Paper Rock Scissors con te sul display LCD, tiene il punteggio, puoi inserire con i pulsanti e, se lo scegli, c'è un'opzione che ti consente di imbrogliare. Originariamente la funzione cheat è stata scritta per scopi di debug e quando ho finito l'ho commentata. Solo per divertimento l'ho rimontato.
Passaggio 2: tagliere
Ho eseguito il breadboard dei miei circuiti utilizzando Arduino Uno, ma quando li ho messi insieme ho usato Arduino Nano perché si adatta meglio alla scatola. Quindi, puoi costruirlo con uno dei due. Ma ricorda di modificare un paio di impostazioni nell'IDE. Il Nano viene installato sul retro dell'LCD utilizzando Command Strips o nastro biadesivo. Posiziona Arduino Nano accanto alla scheda piggyback I2C in modo che il connettore USB sia rivolto verso l'esterno (a destra dell'LCD). È possibile utilizzare una scatola batteria da 9 V o 4x AA (che ti dà 6 V) con interruttore a scorrimento SPST per l'alimentazione montata all'interno della scatola anche con strisce di comando. Costruito in entrambi i modi, l'Arduino ha un regolatore di tensione integrato che lo porta ai 5 volt di cui ha bisogno. Se ci pensi, questo gioco può effettivamente riciclare "batterie per lo più scariche da 9 V" per l'alimentazione e funzionare bene. (Cambi le batterie del rilevatore di fumo due volte all'anno, giusto?) Altri dispositivi che utilizzano una batteria da 9 V potrebbero dire che è scarica a 6 - 8 volt; ma non è morto finché non è "Arduino morto!"
Durante la progettazione del progetto ho utilizzato 4 pulsanti SPST per l'input. Ma costruire il gioco finito nella scatola ha utilizzato 5 pulsanti SPST pensando che in futuro avrei potuto provare a creare un gioco che necessitasse di più pulsanti. Forse un gioco del labirinto? Un divisore di tensione del resistore per i pulsanti è montato insieme su un pezzo di scarto di scheda proto che può anche essere montato con le strisce di comando.
Passaggio 3: assemblaggio
Assemblea:
I 4 gruppi principali sono l'LCD con scheda piggyback I2C opzionale, Arduino Nano, i resistori e gli interruttori collegati a margherita alla scheda proto di interconnessione e il box batteria con interruttore on/off.
Dovresti iniziare con il breadboarding del circuito o cablare la scheda proto seguendo lo schema. Mi piace riporre l'LCD a faccia in giù nel coperchio della scatola per evitare di graffiarlo. Ho usato un'intestazione solo su un lato di Arduino che ha 5v per collegarlo alla scheda proto. Ho realizzato un ponte con 3 intestazioni (molto lavoro di saldatura) dall'Arduino alla scheda proto in modo che si appiattiscano sul retro dell'LCD con strisce di comando o nastro biadesivo. Ma in realtà, le schede possono essere collegate semplicemente saldando i fili dall'una all'altra. Utilizzato un'intestazione femmina per collegare la scheda proto all'LCD I2C. Le gambe del resistore della scheda proto possono essere utilizzate per realizzare i 5 punti di saldatura per i pulsanti. L'altra gamba di ciascun pulsante va al pin A0 di Arduino. Ogni pulsante avrà bisogno di 2 fili saldati. Usa un misuratore di Ohm per determinare quali gambe del pulsante usare, ma generalmente non puoi sbagliare con le gambe non adiacenti (diagonali l'una dall'altra).
Scegli le tue impostazioni per il tuo Arduino in IDE. Scarica lo schizzo e caricalo su Arduino e prova / risoluzione dei problemi.
Pronto a metterlo in una scatola? Tolta l'etichetta per il cappuccino, lavato e asciugato la mia scatola. Misurare con cura e ritagliare il foro nella scatola per l'LCD come si può vedere ed è montato con 3 tasselli avvitati a tre fori angolari dell'LCD (2 sul fondo della scatola, 1 vicino al coperchio) giusto il tempo di raggiungere il retro della scatola e tenerlo in posizione con attrito. Il foro per la vite sul display LCD della scheda piggyback potrebbe essere troppo vicino al terminale, quindi lo ometto. Usato un coltello Exacto per praticare i fori pilota per le viti nei tasselli in modo che non si spezzino (attenzione, non scivolare e pugnalarti, tieni i tasselli con le pinze). Ho dovuto piegare un po' la scatola per l'installazione finale, ma torna alla forma corretta. I fori per i bottoni vengono "forati" posizionandoli (tracciare linee con il bordo dritto) e riscaldando i terminali con un saldatore fino a quando non "fondono" la scatola. Quindi rimuovere i pulsanti dopo che si sono raffreddati e saldare su frammenti di filo CAT 5e da 6" - 9" o filo da 18ga a 22ga ai pulsanti. Installare i pulsanti prima con il filo nei loro fori, quindi saldare alla scheda prototipica del resistore. Un punto di super colla, colla a caldo o anche solo attrito manterranno i pulsanti in posizione. Su una build sono stati utilizzati alcuni giunti per cavi telefonici (i cerchi rossi nei blocchi di plastica trasparente) per facilitare l'ultima manciata di connessioni tra la scatola della batteria, la scheda prototipica del resistore e il gruppo LCD/Arduino. Se vuoi puoi usare la saldatura e il termoretraibile invece. Quindi spingere delicatamente e lentamente tutti i cavi e i componenti nella scatola e chiudere il coperchio. Hai installato una batteria e caricato lo sketch Arduino prima di fare tutto questo? Avrai anche bisogno della libreria per display LCD 20x4 con o senza I2C (a tua scelta) che puoi scaricare gratuitamente su Github. Accendilo, provalo e vedi se funziona. Successivamente ho modificato il mio schizzo con pause per renderlo più facile da leggere, aggiunto l'"effetto puntini lampeggianti" e alcune altre cose insieme a molti commenti. Prova a posizionare l'Arduino in modo che l'USB possa ancora essere collegato e un nuovo schizzo caricato. Usato un diagramma di flusso, ovviamente, durante la creazione dello schizzo. Troverai che i commenti definiscono praticamente dove si trovava ciascun blocco del diagramma di flusso.
Scoprirai che i pulsanti sono in un circuito serie / parallelo che ti consente di utilizzare un pin di ingresso Arduino per tutti i pulsanti che desideri. Il circuito agisce come un partitore di tensione per fornire un valore al pin analogico modificando il valore letto da ogni pulsante premuto. Puoi utilizzare il monitor seriale per calcolare i valori del circuito in base ai resistori e modificare i "valori accettati" nel tuo schizzo.
Spero che tu ti diverta a costruire il tuo! Se ne fai uno o ne fai anche delle modifiche, condividilo con il resto di noi. Grazie per aver letto.
Passaggio 4: programmazione e impostazioni
Ora divertiti con IDE. Spero che tu abbia bevuto un cappuccino. Potresti averne bisogno per aiutarti a rimanere sveglio.
Potresti scoprire che dovrai configurare alcune librerie. Avrai bisogno di Wire.h per I2C, LCD.h per LCD, LiquidCrystal_I2C.h per LCD controllato da I2C. Dovrai anche usare il comando lcd.begin(20, 4) per dire ad Arduino che stai usando un LCD a 4 righe da 20 caratteri e potrebbero esserci altre impostazioni.
Per informazioni sull'installazione delle librerie, vedere:
Nell'IDE di Arduino potresti scoprire che dovrai impostare la tua scheda e la porta a cui l'hai collegata. La porta si trova nel pannello di controllo del computer/gestione dispositivi/controller Universal Serial Bus. Devi capire quale Arduino stai usando. Sto usando Arduino Nano ma Uno funziona anche per questo. Scegli attentamente le tue impostazioni.
Potrebbe essere necessario capire il tuo indirizzo I2C. Dovresti essere in grado di leggerlo direttamente dai jumper della scheda. Puoi anche scaricare uno scanner I2C da Arduino.cc o anche https://www.gammon.com.au/forum/?id=10896 e altri posti.
Da qualche parte intorno a questo punto dovresti essere in grado di caricare il programma su Arduino e testarne la funzionalità. Lo schermo LCD si illumina? Sai leggere i caratteri? Una delle volte che ho costruito il circuito, poi l'ho testato, la retroilluminazione si è accesa ma i caratteri erano illeggibili. Ho passato ore (esatto, HOURS) a provare le impostazioni e le connessioni di tonificazione per assicurarci che fosse costruito correttamente. Rinunciato per un paio di giorni. Ci sono tornato più tardi e ho realizzato che il resistore variabile sulla scheda piggyback era impostato al minimo. L'ho alzato e i personaggi erano visibili. Sbatti la testa sulla scrivania. Un altro motivo per sbattere la testa sulla scrivania? Se è necessario sostituire la batteria, potrebbe essere necessario regolare nuovamente questo resistore variabile. Quando questo è successo ho praticato un piccolo foro nella parte posteriore della scatola per l'accesso.
Potrebbe essere necessario impostare i valori dei pulsanti in questo programma in base ai resistori utilizzati per i pulsanti. Puoi usare questo piccolo schizzo pratico per questo e ricordarti di attivare il monitor seriale. Esegui lo schizzo e premi ogni pulsante e annota ogni valore. Quindi modifica lo schizzo in modo che rifletta i valori del pulsante. Quindi carica lo schizzo modificato sulla tua scheda e verifica se funziona.
Ci sono molte piccole variabili che devono essere tutte giuste e la tua potrebbe essere diversa dalla mia. Essere pazienti e provare cose diverse ti aiuterà a far funzionare il tuo. Ricorda anche che dopo aver impostato le variabili Arduino (come il nome della scheda, com 3, 5 o altro, processore e programmatore [tutto sotto strumenti]) potresti averle impostate tutte correttamente ma non funziona perché è necessario riavviare. Scollega Arduino e ricollegalo al computer. Potrebbe essere necessario salvare e riavviare anche il computer.
Carica questo schizzo, avvia il monitor, premi i pulsanti e registra i valori, quindi modifica lo schizzo Paper Rock Scissors sostituendo i miei valori di resistenza con i tuoi. Esegui lo schizzo Paper Rock Scissors e verifica se funziona correttamente. Oh sì, hai installato i pulsanti nell'ordine sbagliato? Potrebbe essere necessario reinstallarli se li desideri in un ordine particolare.
Divertiti!
Passaggio 5: lo schizzo di lettura del pulsante ti aiuterà a trovare i valori di resistenza da modificare nello schizzo principale. Premi ogni pulsante e registra i valori del resistore per entrare nello schizzo principale
// schizzo di lettura del pulsante
void setup() {
// inserisci qui il tuo codice di installazione, da eseguire una volta:
Serial.begin(9600);
}
ciclo vuoto() {
// inserisci qui il tuo codice principale, da eseguire ripetutamente:
pulsante int; //Per leggere i pulsanti
pulsante = 0; //Per leggere i pulsanti
pulsante = analogRead(A0); //Comando usato per leggere i Pulsanti
ritardo(100);
Serial.println(pulsante);
Passaggio 6: elenchi delle parti e strumenti di cui potresti aver bisogno
Elenco delle parti da Amazon:
Arduino Uno o Arduino Nano
Display LCD 20x4 con o senza I2C
Scatola batteria 9v o 6v con interruttore a scorrimento SPST (o ottenere l'interruttore a scorrimento separatamente)
5x pulsanti SPST
1x resistenza di pull-up 1k - 5k
5x resistori inferiori a 1k, 200 - 500 Ohm sono buoni
Elenchi delle parti Altre sedi o negozi:
Batteria da 9v o 4x 1,5 volt (l'opzione 9v consente di riciclare le batterie "per lo più scariche")
Command Strips (usando una confezione di ricarica) o nastro biadesivo
Giuntatrici per cavi telefonici (opzionali ma semplificano il collegamento dei cavi)
Pochi pollici di tassello da 1/4"
Piccole viti per legno per montare i tasselli sull'LCD
Saldare
Termoretraibile per cavi da 18 ga
Scarti o parti di riciclaggio:
Scatola vuota della miscela di bevande al cappuccino (non tutti hanno una stampante 3D, hanno un cappuccino e riciclano un po' di plastica)
Circa 1" x 2" di scarto di scheda Proto anche se ho usato la scheda prototipi di Amazon
Varie lunghezze di cavo da 18ga a 22ga o nucleo solido Cat 5e
Strumenti di cui potresti aver bisogno:
Cacciavite Philips piccolo
Piccolo cacciavite a lama piatta
Coltello esatto
Saldatore e saldatore
Forbici pesanti
Pinze ago
Governate
Passaggio 7: qualche informazione in più e lo schizzo principale
Grazie per aver letto. So che è molto. Questo è il mio primo Intructable e questo da solo è stato un po' educativo per me. Guardando indietro vedo che sono verboso in alcuni punti e troppo breve in altri. Avrei dovuto suddividere l'assemblea in più fasi. E poiché ho costruito questo progetto circa una dozzina di volte fino a quando non è stato giusto, alcune delle immagini provengono da un modello o da altri. Devo tornare indietro e fotografare un solo modello. Voglio anche includere un video o due. Quindi sì, tornerò e aggiusterò questa roba. Ma per ora lo metto nelle tue mani. Spero che ti divertirai a costruirlo tanto quanto me. Grazie ancora per aver letto.
Consigliato:
Gioco delle forbici di carta di pietra: 6 passaggi
Stone Paper Scissor Game: questo è il mio primo istruibile. Volevo scriverne uno da molto tempo ma non avevo nessun progetto a portata di mano che avrei potuto pubblicare qui. Quindi, quando mi è venuta l'idea di questo progetto, ho deciso che questo è l'unico. Quindi stavo navigando sul sito di tensorflow.js, io
Sensore di visione Micro:bit MU per principianti - Valori delle etichette e riconoscimento della carta numerica: 6 passaggi
Sensore di visione MU Micro:bit per principianti - Valori delle etichette e riconoscimento della scheda numerica: questa è la mia seconda guida al sensore di visione MU. In questo progetto programmeremo il micro:bit per riconoscere le diverse tessere numeriche utilizzando i valori delle etichette
Forbici di carta sasso: 10 passaggi
Rock Paper Scissors: Scopo: Dopo aver completato questo, imparerai come creare un semplice gioco di Rock, Paper Scissors da zero usando Code.org. Materiali / Requisiti necessari: Comprensione di base della sintassi Javascript, un computer, un account Code.org
Display LCD I2C / IIC - Utilizzare un display LCD SPI sul display LCD I2C utilizzando il modulo SPI su IIC con Arduino: 5 passaggi
Display LCD I2C / IIC | Utilizzare un display LCD SPI per il display LCD I2C utilizzando il modulo da SPI a IIC con Arduino: Ciao ragazzi poiché un normale LCD 1602 SPI ha troppi fili da collegare, quindi è molto difficile interfacciarlo con arduino ma c'è un modulo disponibile sul mercato che può convertire il display SPI in display IIC, quindi è necessario collegare solo 4 fili
Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: 13 passaggi (con immagini)
Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: Gesture Hawk è stato presentato in TechEvince 4.0 come una semplice interfaccia uomo-macchina basata sull'elaborazione delle immagini. La sua utilità sta nel fatto che non sono necessari sensori aggiuntivi o indossabili tranne un guanto per controllare l'auto robotica che funziona su diversi