Taula de continguts:

Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C: 7 passos
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C: 7 passos

Vídeo: Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C: 7 passos

Vídeo: Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C: 7 passos
Vídeo: Normal People VS Programmers #coding #python #programming #easy #funny #short 2024, Desembre
Anonim
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C
Joc de tisores de paper Arduino de mà amb pantalla LCD de 20x4 amb I2C

Hola a tothom o potser hauria de dir "Hola món!"

Seria un gran plaer compartir amb vosaltres un projecte que ha estat la meva entrada a moltes coses Arduino. Es tracta d’un joc de mà Arduino Paper Rock Scissors que utilitza una pantalla LCD I2C 20x4. Sé que podríeu estar pensant: "Un altre joc de Paper Rock Scissors?" Però la majoria de jocs de paper Rock Scissors d’Arduino utilitzen LED senzills i també n’he vist un que feia servir símbols de paper aixecats per servos. Són genials. Aquest projecte utilitza una pantalla LCD de 20x4 i en va fer un amb I2C i un sense (no es mostra aquí). Volia un cas econòmic amb un aspecte acabat, no només un embolic. No tothom té accés a una impressora 3D i vol pagar a algú que sí. I volia que fos fàcil de fer per poder compartir les idees amb els altres. Com que les meves habilitats de programació són de nivell novell, l'esbós és bastant senzill i fàcil d'entendre i editar. Aquesta va ser la meva educació personal per crear un esbós. Trobareu moltes notes a l’esbós i ha passat per moltes, moltes (20+?) Iteracions fins que crec que és correcte. El cost del projecte és inferior a 20 $ (sense I2C).

Vaig començar amb Arduino el 2018 i vaig passar pel seu lloc web i vaig llegir tot el que vaig poder. Construït i experimentat amb els exemples de projectes que inclou i heu llegit moltes instruccions que molts de vosaltres heu compartit al llarg dels anys. Aprecieu-los realment i he après molt de vosaltres. Gràcies. Ara vull compartir part del que he après afegint la meva pròpia creativitat. Abans que la secció de comentaris s’amuntegui amb moltes preguntes sobre com fer això i que, si us plau, tingueu en compte, ho vaig començar sense experiència a Arduino. Vaig aprendre construint els exemples de projectes als llocs web Arduino i Instructables. He après de vosaltres. Quan us quedeu atrapats, és possible que siguin la manera més ràpida de trobar una solució.

Pas 1: Introducció del projecte

Introducció del projecte
Introducció del projecte
Introducció del projecte
Introducció del projecte

Hem seleccionat la pantalla LCD d’Amazon i he escollit la pantalla LCD I2C 20x4 perquè és de baix cost (aproximadament entre 12 i 18 dòlars) i la facilitat de cablejat i programació. Si voleu, podeu utilitzar-ne un sense I2C i en podreu obtenir un de tan barat com 7 $. Però haureu d’utilitzar una biblioteca i un esquema de cablejat diferents i fer servir més pins Arduino. No us amoïneu, ja n’hi ha prou per anar-hi. Seria I2C 20x4 seria més fàcil de construir, menys cables són menys confusos. Però la pantalla LCD paral·lela de 20x4 costa aproximadament 5 dòlars més. Vaig dibuixar esquemes per a tots dos sistemes de cablejat. La majoria de les altres parts les he comprat a Amazon i a un parell de botigues locals. La meva caixa és una barreja de begudes caputxina buida. M'agrada que la tapa s'apliqui fàcilment per encendre / apagar, treballar en qualsevol component o canviar la bateria. I "Ei!" la caixa era gratuïta i m'agrada el caputxí. Reciclar plàstic és bo per al medi ambient. Podeu utilitzar la caixa que vulgueu perquè tot s’adapti o fins i tot saltar-la o la taula de pa del projecte. Volia un "aspecte de projecte acabat" a bon preu. Aposto a que algú crea una versió impresa en 3D. L'Arduino juga al joc de Paper Rock Scissors a la pantalla LCD, manté la puntuació, es pot introduir amb els botons i, si ho tria, hi ha una opció que permet fer trampes. Originalment, la funció de trampes es va escriure amb finalitats de depuració i, quan vaig acabar-la, la vaig comentar. Només per diversió, el vaig tornar a posar.

Pas 2: Tauler de pa

Taula de pa
Taula de pa
Taula de pa
Taula de pa

Vaig embarcar els meus circuits amb Arduino Uno, però al muntar-ho tot, vaig fer servir Arduino Nano perquè s’adapta millor a la caixa. Per tant, podeu crear-ho amb qualsevol. Però recordeu de canviar una configuració de parella a IDE. El Nano s’instal·la a la part posterior de la pantalla LCD mitjançant tires de comandament o cinta adhesiva de doble cara. Col·loqueu l'Arduino Nano al costat de la placa de seguretat I2C perquè el connector USB estigui orientat cap a l'exterior (a la dreta de la pantalla LCD). Podeu utilitzar una caixa de bateries de 9v o 4x AA (que us proporciona 6v) amb interruptor lliscant SPST per poder muntar-la dins de la caixa també amb tires de comandament. Construït en totes dues direccions, l’Arduino té un regulador de voltatge integrat que el redueix fins als 5 volts que necessita. Si ho penses bé, aquest joc pot reciclar "bateries de 9v principalment mortes" per obtenir energia i funcionar bé. (Canvieu les bateries dels detectors de fum dues vegades a l’any, oi?) Altres dispositius que utilitzen una bateria de 9 V poden dir que està mort a 6 - 8 volts; però no està mort fins que no sigui "Arduino Dead!"

Durant el disseny del projecte, he utilitzat 4 botons de pressió SPST per a l’entrada, però incorporant el joc acabat a la caixa he utilitzat 5 botons de pressió SPST pensant que en el futur podria intentar fer un joc que necessiti més botons. Potser un joc de laberint? Un divisor de tensió de resistència per als botons està muntat junt en un tros de placa proto que també es pot muntar amb tires de comandament.

Pas 3: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Muntatge:

Els quatre conjunts principals són la pantalla LCD amb placa opcional I2C, Arduino Nano, les resistències i els commutadors margarida encadenats a la placa proto d’interconnexió i la caixa de bateries amb interruptor d’encesa / apagada.

Heu de començar fent un panell del circuit o bé cablejant la placa proto seguint l'esquema. M’agrada emmagatzemar la pantalla LCD cap avall a la tapa de la caixa per evitar que la ratlli. Només he utilitzat una capçalera a un costat d'Arduino que té 5v per connectar-la a la placa proto. Vaig fer un pont amb 3 capçaleres (molta feina de soldadura) des de l'Arduino fins a la placa proto perquè quedessin planes a la part posterior de la pantalla LCD amb tires de comandament o cinta adhesiva de doble cara. Però, realment, les plaques es poden connectar només soldant cables d'un a l'altre. S'ha utilitzat una capçalera femenina per connectar la placa proto a la pantalla LCD I2C. Les potes de resistència de la placa proto es poden utilitzar per fer els 5 punts de soldadura dels botons. L’altra cama de cada botó va al pin A0 d’Arduino. Cada botó necessitarà 2 cables soldats. Utilitzeu un comptador d’ohm per determinar quines potes de botó heu d’utilitzar, però en general no us podeu equivocar amb les potes no adjacents (diagonals les unes de les altres).

Trieu la configuració del vostre Arduino a IDE. Descarregueu l’esbós i carregueu-lo a l’Arduino i proveu-ho.

A punt per posar-lo en una caixa? He eliminat l’etiqueta del caputxí, he rentat i assecat la caixa. Mesureu amb cura i talleu el forat de la caixa de la pantalla LCD, tal com podeu veure, i es munta amb 3 tacs cargolats a tres forats de cantonada LCD (2 a la part inferior de la caixa, 1 a prop de la tapa) el temps suficient per arribar a la darrera de la caixa i mantenir-la al seu lloc amb fricció. El forat del cargol de la pantalla LCD de la porta de seguretat podria estar massa a prop del terminal, de manera que l’omet. S'ha utilitzat un ganivet Exacto per perforar forats pilots per a cargols a les clavilles perquè no es dividissin (compte, no rellisqui i no es pugui apunyalar, sostingui els clavells amb alicates). Va haver de doblegar / bolcar una mica la caixa per a la instal·lació final, però torna a la forma adequada. Els forats dels botons es "perforen" posicionant-los (dibuixant línies amb vora recta) i escalfant els terminals amb un soldador fins que "es fonguin" per la caixa. A continuació, traieu els botons després que es refredin i es soldin amb retalls de filferro CAT 5e de 6 "a 9" o filferro de 18ga a 22ga als botons. Torneu a instal·lar els botons de filferro als seus forats i, a continuació, soldeu-los a la placa proto de la resistència. Un punt de súper cola, cola calenta o fins i tot només fricció mantindrà els botons al seu lloc. En una versió, es van utilitzar alguns empalmadors de cables del telèfon (els cercles vermells dels blocs de plàstic transparents) per ajudar a facilitar l'últim grapat de connexions entre la caixa de la bateria, la placa proto-resistència i el conjunt LCD / Arduino. Si voleu, podeu utilitzar soldadura i encongiment. A continuació, empenyeu amb compte i lentament tots els cables i components a la caixa i tanqueu la tapa. Vau instal·lar una bateria i penjar l'esbós d'Arduino abans de fer tot això? També necessitareu la biblioteca per a pantalla LCD de 20x4 amb I2C o sense (el que trieu) que podeu descarregar gratuïtament a Github. Enceneu-lo, proveu-lo i comproveu si funciona. Més tard, vaig editar el meu esbós amb pauses per facilitar la lectura, vaig afegir "l'efecte de punts parpellejants" i algunes altres coses, junt amb molts comentaris. Proveu de col·locar l'Arduino perquè l'USB pugui estar connectat i carregar un nou esbós. S'ha utilitzat un diagrama de flux, per descomptat, en crear l'esbós. Trobareu que els comentaris defineixen pràcticament on era cada bloc del diagrama de flux.

Trobareu que els botons es troben en un circuit en sèrie / paral·lel que us permet utilitzar un pin d’entrada Arduino per a tants botons com vulgueu. El circuit actua com un divisor de tensió per alimentar un valor al pin analògic canviant el valor llegit per cada botó premut. Podeu utilitzar el monitor sèrie per esbrinar els valors del vostre circuit en funció de les resistències i canviar els "valors acceptats" a l'esbós.

Espero que us diverteixin construint els vostres! Si en feu una o fins i tot en feu algun, feu-ho amb la resta de nosaltres. Gràcies per llegir.

Pas 4: programació i configuració

Programació i configuració
Programació i configuració
Programació i configuració
Programació i configuració

Ara per diversió amb IDE. Espero que hagis estat bevent capuccino. És possible que el necessiteu per mantenir-vos desperts.

És possible que hàgiu de configurar algunes biblioteques. Necessitareu Wire.h per a I2C, LCD.h per a LCD, LiquidCrystal_I2C.h per a LCD controlat per I2C. També haureu d’utilitzar l’ordre lcd.begin (20, 4) per dir-li a Arduino que esteu fent servir una pantalla LCD de 4 línies de 20 caràcters i és possible que hi hagi altres paràmetres.

Per obtenir informació sobre la instal·lació de biblioteques, consulteu:

A l'IDE d'Arduino és possible que hàgiu de configurar la placa i el port al qual el teniu connectat. El port es troba al tauler de control de l’ordinador / gestor de dispositius / controladors de bus sèrie universal. Heu d’esbrinar quin Arduino utilitzeu. Estic fent servir Arduino Nano, però també l’Uno funciona. Trieu la configuració amb cura.

És possible que hagueu d’esbrinar la vostra adreça I2C. Hauríeu de ser capaços de llegir-lo directament des dels jumpers del tauler. També podeu descarregar un escàner I2C des d’Arduino.cc o també a https://www.gammon.com.au/forum/?id=10896 i altres llocs.

En algun lloc d’aquest punt hauríeu de poder carregar el programa a l’Arduino i provar-ne la funcionalitat. La pantalla LCD s’il·lumina? Saps llegir personatges? Una de les vegades que vaig construir el circuit, el vaig provar i es va il·luminar la llum de fons, però els caràcters no es podien llegir. He passat hores (és cert, HOURS) provant la configuració i tonificant les connexions per assegurar-se que es va crear correctament. Vaig deixar un parell de dies. Va tornar-hi més tard i es va adonar que la resistència variable de la placa de seguretat estava definida com a mínima. Va activar-lo i els personatges eren visibles. Cap de cop a l'escriptori. Una altra raó per xocar amb el cap a l’escriptori? Si heu de canviar la bateria, és possible que hàgiu de tornar a ajustar aquesta resistència variable. Quan va passar això, vaig tallar un petit forat a la part posterior de la caixa per accedir-hi.

És possible que hàgiu d’establir els vostres propis valors de botó en aquest programa en funció de les resistències que utilitzeu per als botons. Podeu fer servir aquest petit esbós pràctic i recordar d’activar el monitor sèrie. Executeu l'esbós i premeu cada botó i escriviu cada valor. A continuació, editeu l'esbós per reflectir els valors del botó. A continuació, pengeu l’esbós editat al tauler i veureu si funciona.

Hi ha moltes petites variables que totes han de ser correctes i que les vostres poden ser diferents de les meves. Tenir paciència i provar diferents coses l’ajudarà a treballar. Recordeu també, després d’haver definit les variables Arduino (com el nom de la placa, com 3, 5 o el que sigui, processador i programador [tot sota eines]), és possible que les tingueu correctes, però no funcionarà perquè heu de reiniciar. Desconnecteu l'Arduino i torneu-lo a connectar a l'ordinador. És possible que també hàgiu de desar i reiniciar l'ordinador de nou.

Pengeu aquest esbós, executeu el monitor, premeu els botons i anoteu els valors i, a continuació, editeu l'esbós de Paper Rock Scissors substituint els valors de la meva resistència pels vostres. Executeu l’esbós de Paper Rock Scissors i vegeu si funciona correctament. Sí, heu instal·lat els botons en un ordre incorrecte? És possible que hàgiu de tornar a instal·lar-los si els voleu en un ordre concret.

Diverteix-te!

Pas 5: esbós de lectura de botons us ajudarà a trobar els valors de resposta per editar-los a l'esbós principal. Premeu cada botó i anoteu els valors de la resistència per entrar a l'esbós principal

// esbós de lectura de botons

configuració nul·la () {

// posa aquí el teu codi de configuració per executar-lo una vegada:

Serial.begin (9600);

}

bucle buit () {

// posa aquí el teu codi principal per executar-lo repetidament:

int buTTon; // Per a la lectura de botons

buTTon = 0; // Per a la lectura de botons

buTTon = analogRead (A0); // Ordre utilitzat per llegir els botons

retard (100);

Serial.println (buTTon);

Pas 6: llistes de peces i eines que podríeu necessitar

Llista de peces d'Amazon:

Arduino Uno o Arduino Nano

Pantalla LCD de 20x4 amb I2C o sense

Caixa de bateries de 9v o 6v amb interruptor lliscant SPST (o obteniu l'interruptor lliscant per separat)

5x botons SPST

1x resistència de tracció 1k - 5k

Les resistències 5x inferiors a 1 k, de 200 a 500 ohms són bones

Llistes de peces Altres ubicacions o botigues:

Bateria d’1,5 volts de 9 v o 4x (l’opció de 9 v us permet reciclar bateries “principalment mortes”)

Command Strips (s’utilitzava un paquet de recàrrega) o cinta adhesiva de doble cara

Empalmadors de cables del telèfon (opcional però facilita la connexió de cables)

Uns centímetres de clavilla de 1/4"

Petits cargols de fusta per muntar tacs a LCD

Soldar

Retràctil tèrmic per a cables de 18 ga

Restes o reciclatge de peces:

Taula de barreja de begudes de caputxí buida (no tothom té una impressora 3D, té capuccino i recicla una mica de plàstic)

Aproximadament 1 "x 2" ferralla de tauler Proto, tot i que he utilitzat protoboard d'Amazon

Diverses longituds de filferro de 18ga a 22ga o nucli sòlid Cat 5e

Eines que potser necessiteu:

Petit tornavís Philips

Petit tornavís de fulla plana

Ganivet Exacto

Soldador i soldador

Tisores resistents

Tenalles d'agulla

Regle

Pas 7: més informació i l'esbós principal

Gràcies per llegir. Sé que és molt. Aquest és el meu primer Intructable i això només va ser una mica educatiu per a mi. Si miro enrere, veig que en alguns llocs sóc ple de paraules i massa breu en altres. Hauria d’haver dividit el muntatge més en graons. I des que vaig construir aquest projecte aproximadament una dotzena de vegades fins que va ser correcte, algunes de les imatges són d'un model o d'altres. Necessito tornar enrere i fer fotos d’un sol model. També vull incloure un vídeo o dos. Així que sí, tornaré i arreglaré aquestes coses. Però per ara ho poso a les vostres mans. Espero que us agradi construir-lo tant com jo. Gràcies de nou per llegir.

Recomanat: