INHOUDSOPGAWE:
- Stap 1: Inleiding van die projek
- Stap 2: Broodbord
- Stap 3: Montering
- Stap 4: Programmering en instellings
- Stap 5: Knoppie -leeskets help u om u weerstandswaardes te vind om in die hoofskets te wysig. Druk elke knoppie en teken u weerstandswaardes aan om in die hoofskets in te gaan
- Stap 6: Onderdele lyste en gereedskap wat u moontlik benodig
- Stap 7: 'n bietjie meer inligting en die hoofskets
Video: Handheld Arduino Paper Rock -skêrspel met 20x4 LCD -skerm met I2C: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Hallo almal, of miskien moet ek sê "Hallo wêreld!"
Dit sal 'n groot plesier wees om 'n projek met u te deel wat my toetrede tot baie dinge Arduino was. Dit is 'n handheld Arduino Paper Rock -skêrspel met 'n I2C 20x4 LCD -skerm. Ek weet dat jy dalk dink: "Nog 'n Paper Rock Scissors -speletjie?" Maar die meeste Arduino Paper Rock Scissors -speletjies gebruik eenvoudige LED's, en ek sien ook een wat papiersimbole gebruik wat deur servo's opgehef word. Die is gaaf. Hierdie projek gebruik 'n 20x4 LCD -skerm en een met I2C en een sonder (nie hier getoon nie). Wou 'n goedkoop sak met 'n afgewerkte voorkoms, nie net 'n broodbord gemors nie. Nie almal het toegang tot 'n 3D -drukker nie en wil iemand betaal wat dit wel doen. En ek wou hê dit moet maklik wees om die idees met ander te deel. Aangesien my programmeervaardighede op beginnersvlak is, is die skets redelik eenvoudig en maklik om te verstaan en te wysig. Dit was my persoonlike opvoeding om 'n skets te maak. U sal baie notas in die skets vind, en dit het baie, baie (20+?) Herhalings deurgemaak totdat ek glo dat dit reg is. Die projek kos minder as $ 20 (nie I2C) nie.
Ek het in 2018 met Arduino begin en deur hul webwerf gegaan en alles gelees wat ek kon. Gebou en geëksperimenteer met die voorbeeldprojekte waarmee dit gepaard gaan en het baie instruksies gelees wat baie van u deur die jare gedeel het. Waardeer hulle opreg en het so baie by julle almal geleer. Dankie. Nou wil ek deel van wat ek geleer het, en my eie kreatiwiteit toevoeg. Voordat die kommentaarafdeling opgehoop word met baie vrae oor hoe u dit en dit moet doen, moet u dit in gedagte hou, maar ek het sonder ervaring in Arduino begin. Ek het geleer deur die voorbeeldprojekte op die Arduino- en die Instructables -webwerwe te bou. Ek het by julle geleer. As u vasval, is dit moontlik die vinnigste manier om 'n oplossing te vind.
Stap 1: Inleiding van die projek
Die LCD -skerm van Amazon gekies en I2C 20x4 LCD gekies vanweë die lae koste (ongeveer $ 12 - $ 18) en die gemak van bedrading en programmering. As u wil, kan u een sonder I2C gebruik, en u kan een so goedkoop as $ 7 kry. Maar u moet 'n ander biblioteek en bedradingskema gebruik en meer Arduino -penne gebruik. Moenie bekommerd wees nie, dit is genoeg om in elk geval te gaan. Seriële I2C 20x4 sou makliker wees om te bou, minder drade is minder verwarrend. Maar parallelle 20x4 LCD is ongeveer $ 5 goedkoper. Ek het skemas vir albei bedradingskemas geteken. Die meeste ander onderdele het ek by Amazon en 'n paar plaaslike winkels gekoop. My boks is 'n leë mengbak met cappuccino -drankies. Ek hou daarvan dat die deksel maklik oopgaan om die krag aan/af te skakel, aan enige komponente te werk of om die battery te verander. En "Haai!" die boks was gratis en ek hou van cappuccino. Herwinning van plastiek is goed vir die omgewing. U kan die boks wat u wil, gebruik, waarin alles pas, of selfs die boks of broodbord oor die projek slaan. Ek wou 'n "afgehandelde projek kyk" op die goedkoop. Ek wed dat iemand 'n 3D -gedrukte weergawe skep. Die Arduino speel die Paper Rock Scissors -speletjie saam met u op die LCD, hou telling, u kan met die knoppies invoer, en as u kies, is daar 'n opsie waarmee u kan bedrieg. Oorspronklik is die cheat -funksie vir ontfoutingsdoeleindes geskryf, en toe ek daarmee klaar was, het ek kommentaar gelewer. Net vir die plesier sit ek dit weer in.
Stap 2: Broodbord
Ek het met my Arduino Uno-stroombane aan boord gegaan, maar toe ek dit bymekaar sit, het ek Arduino Nano gebruik omdat dit beter in die boks pas. U kan dit dus met beide een bou. Maar onthou om 'n paar instellings in IDE te verander. Die Nano word aan die agterkant van die LCD geïnstalleer met behulp van Command Strips of dubbelzijdige kleeflint. Plaas die Arduino Nano langs die I2C -bakplaat sodat die USB -aansluiting na buite wys (regs van die LCD). U kan 'n 9v of 4x AA (wat u 6v gee) 'n batterykas met SPST -skuifskakelaar gebruik vir krag wat in die boks aangebring word, ook met Command Strips. Die Arduino is op twee maniere gebou en het 'n ingeboude spanningsreguleerder wat dit tot die 5 volt wat dit benodig, laat daal. As u daaraan dink, kan hierdie speletjie 'meestal dooie 9v -batterye' herwin vir krag en goed werk. (U vervang wel rookmelderbatterye twee keer per jaar, of hoe?) Ander toestelle wat 'n 9v -battery gebruik, kan sê dat dit dood is by 6 - 8 volt; maar dit is nie dood voordat dit 'Arduino Dead!'
By die ontwerp van die projek het ek 4 SPST -drukknoppies gebruik om in te voer, maar om die voltooide speletjie in die boks te bou, het ek 5 SPST -drukknoppies in die toekoms probeer dink, maar ek sou probeer om 'n speletjie te maak wat meer knoppies benodig. Miskien 'n doolhofspel? 'N Weerstandspanningsverdeler vir die knoppies word saam gemonteer op 'n stuk prototafel wat ook met Command Strips gemonteer kan word.
Stap 3: Montering
Vergadering:
Die vier hoofbyeenkomste is die LCD met 'n opsionele I2C piggyback -bord, Arduino Nano, die weerstande en skakelaars wat daisy vasgeketting is aan die onderling verbindende protobord en die batterykas met aan/uit -skakelaar.
U moet begin met brood aan boord van die kring of die prototafel vasdraai volgens die skema. Ek hou daarvan om die LCD onderkant in die deksel van die boks te stoor sodat dit nie kan krap nie. Ek het slegs 'n kop aan die een kant van Arduino met 5v gebruik om dit aan die proto -bord te koppel. Ek het 'n brug gemaak met 3 kopstukke (baie soldeerwerk) van die Arduino na die proto-bord sodat hulle plat op die agterkant van die LCD gelê het met Command strips of dubbelzijdige kleeflint. Maar in werklikheid kan die borde met soldeerdrade van die een na die ander verbind word. Gebruik 'n vroulike kop om die protobord aan te sluit op die LCD I2C. Die protobordweerstandbene kan gebruik word om die 5 soldeerpunte vir die knoppies te maak. Die ander been van elke knoppie gaan na die Arduino -pen A0. Elke knoppie benodig 2 drade wat gesoldeer is. Gebruik 'n Ohm -meter om te bepaal watter knoppiebene u moet gebruik, maar gewoonlik kan u nie verkeerd gaan met nie -aangrensende bene (diagonaal van mekaar).
Kies u instellings vir u Arduino in IDE. Laai die skets af en laai dit op die Arduino en toets / probleemoplossing.
Gereed om dit in 'n boks te sit? Die etiket vir cappuccino verwyder, my boks gewas en gedroog. Meet die gat in die boks vir die LCD noukeurig af en sny dit uit, en dit is gemonteer met 3 spykers wat vasgemaak is aan drie LCD -hoekgate (2 aan die onderkant van die boks, 1 naby die deksel), net lank genoeg om die agter in die boks en hou dit op sy plek met wrywing. Die skroefgat op die LCD -paneel kan te naby aan die terminale wees, so ek laat dit weg. Gebruik 'n Exacto -mes om loodgaatjies vir skroewe in die spykers te boor sodat hulle nie skeur nie (versigtig, moenie gly nie en steek jouself vas, hou stutte vas met 'n tang). Ek moes die boks 'n bietjie buig / stamp vir die laaste installasie, maar dit kom weer in die regte vorm. Die gate vir die knoppies word "geboor" deur dit te plaas (trek lyne met reguit rand) en verhit die terminale met 'n soldeerbout totdat dit deur die boks "smelt". Verwyder dan die knoppies nadat dit afgekoel het en soldeer op 6 " - 9" CAT 5e draadstukke of 18ga tot 22ga draad aan die knoppies. Installeer die knoppies eers terug in hul gate en soldeer dan aan die protokol van die weerstand. 'N Stukkie supergom, warm gom of selfs net wrywing hou die knoppies op hul plek. Op 'n gebou het 'n paar telefoonkabelverdelers (die rooi sirkels in die deurskynende plastiekblokkies) gebruik om die laaste handjievol verbindings tussen die batterykas, weerstandsprotbord en LCD / Arduino-eenheid makliker te maak. As u wil, kan u eerder soldeer en krimp gebruik. Druk dan al die draad en komponente versigtig en stadig in die boks en maak die deksel toe. Het u 'n battery geïnstalleer en die Arduino -skets opgelaai voordat u dit alles gedoen het? U benodig ook die biblioteek vir 'n 20x4 LCD -skerm met of sonder I2C (wat u ook al kies) wat u gratis op Github kan aflaai. Skakel dit aan, probeer dit en kyk of dit werk. Later het ek my skets met onderbrekings geredigeer om dit makliker te maak om te lees, het ek die 'knipperende kolletjies -effek' en 'n paar ander dinge bygevoeg, asook baie opmerkings. Probeer om die Arduino te plaas sodat die USB nog steeds verbind kan word en 'n nuwe skets opgelaai kan word. Gebruik natuurlik 'n vloeidiagram tydens die maak van die skets. U sal vind dat die opmerkings omtrent definieer waar elke blok vloeidiagram was.
U sal vind dat die knoppies in 'n reeks / parallelle stroombaan is, waarmee u een Arduino -invoerpen vir soveel knoppies kan gebruik as wat u wil. Die stroombaan werk soos 'n spanningsverdeler om 'n waarde aan die analoog pen te voer en verander die waarde wat deur elke knoppie gedruk word. U kan die seriële monitor gebruik om u kringwaardes op grond van u weerstande uit te vind en die 'aanvaarde waardes' in u skets te verander.
Hoop u het dit baie geniet om u eie te bou! As u een maak of selfs 'n paar mods hiervan maak, deel dit dan met die res van ons. Dankie dat u gelees het.
Stap 4: Programmering en instellings
Nou vir die pret met IDE. Ek hoop jy het 'n bietjie cappuccino gedrink. Miskien het u dit nodig om u te help om wakker te bly.
Miskien moet u 'n paar biblioteke instel. U benodig Wire.h vir I2C, LCD.h vir LCD, LiquidCrystal_I2C.h vir I2C -beheerde LCD. U moet ook die opdrag lcd.begin (20, 4) gebruik om vir Arduino te vertel dat u 'n LCD -skerm van 20 tekens met 4 reëls gebruik, en daar kan ander instellings wees.
Vir meer inligting oor die installering van biblioteke, sien:
In die Arduino IDE sal u moontlik u bord en die poort waarmee u dit gekoppel het, moet instel. Die poort kan gevind word in u rekenaar se bedieningspaneel/apparaatbestuurder/Universal Serial Bus -beheerders. U moet uitvind watter Arduino u gebruik. Ek gebruik Arduino Nano, maar Uno werk ook hiervoor. Kies u instellings noukeurig.
Miskien moet u u I2C -adres bepaal. U behoort dit direk vanaf die bordspringers te kan lees. U kan ook 'n I2C -skandeerder aflaai van Arduino.cc of ook https://www.gammon.com.au/forum/?id=10896 en ander plekke.
Iewers rondom hierdie punt moet u die program na die Arduino kan laai en kan toets of dit funksioneer. Brand die LCD -skerm? Kan jy karakters lees? Een keer het ek die kring gebou en dit daarna getoets, maar die agtergrond het aangesteek, maar karakters was onleesbaar. Spandeer ure (dit is reg, URE) om instellings te probeer en verbindings te versterk om seker te maak dat dit reg gebou is. Het 'n paar dae opgehou. Ek het later daarna teruggekom en besef dat die veranderlike weerstand op die bakplaat tot 'n minimum beperk is. Verhoog dit en die karakters was sigbaar. Klop kop op lessenaar. Nog 'n rede om jou kop teen die lessenaar te slaan? As u die battery moet verander, moet u hierdie veranderlike weerstand moontlik weer aanpas. Toe dit gebeur, het ek 'n klein gaatjie in die agterkant van die boks gesny vir toegang.
Miskien moet u u eie knoppiewaardes in hierdie program stel op grond van die weerstande wat u vir u knoppies gebruik. U kan hierdie handige klein skets daarvoor gebruik en onthou om die seriële monitor te aktiveer. Begin die skets en druk op elke knoppie en skryf elke waarde neer. Wysig dan die skets om u knoppiewaardes te weerspieël. Laai dan die bewerkte skets op u bord op en kyk of dit werk.
Daar is baie klein veranderlikes wat almal presies moet wees, en die uwe kan anders wees as myne. Deur geduldig te wees en verskillende dinge te probeer, sal u help om die uwe te laat werk. Onthou ook nadat u u Arduino-veranderlikes opgestel het (soos bordnaam, com 3, 5 of wat ook al, verwerker en programmeerder [alles onder gereedskap]), kan u dit regstel, maar dit werk nie, want u moet weer begin. Ontkoppel die Arduino en koppel dit weer aan op u rekenaar. Miskien moet u ook u rekenaar stoor en herlaai.
Laai hierdie skets op, voer die monitor uit, druk op die knoppies en teken die waardes aan, en redigeer dan die skets van Paper Rock Scissors en vervang my weerstandswaardes met joune. Begin die skets van Paper Rock Scissors en kyk of dit reg werk. O ja, het u u knoppies in die verkeerde volgorde geïnstalleer? Miskien moet u dit weer installeer as u dit in 'n spesifieke volgorde wil hê.
Hê pret!
Stap 5: Knoppie -leeskets help u om u weerstandswaardes te vind om in die hoofskets te wysig. Druk elke knoppie en teken u weerstandswaardes aan om in die hoofskets in te gaan
// knoppie leesskets
ongeldige opstelling () {
// plaas u opstellingskode hier om een keer te werk:
Serial.begin (9600);
}
leemte -lus () {
// plaas u hoofkode hier om herhaaldelik te werk:
int buTTon; // Vir die lees van knoppies
buTTon = 0; // Vir die lees van knoppies
buTTon = analogRead (A0); // Opdrag wat gebruik is om die knoppies te lees
vertraging (100);
Serial.println (buTTon);
Stap 6: Onderdele lyste en gereedskap wat u moontlik benodig
Onderdele lys van Amazon:
Arduino Uno of Arduino Nano
20x4 LCD -skerm met of sonder I2C
9v of 6v batterykas met SPST -skuifskakelaar (of kry die skuifskakelaar afsonderlik)
5x SPST drukknoppies
1x optrekweerstand 1k - 5k
5x weerstande minder as 1k, 200 - 500 ohm is goed
Onderdele Lys Ander plekke of winkels:
9v of 4x 1,5 volt battery (met 9v opsie kan u 'meestal dooie' batterye herwin)
Command Strips (gebruik 'n hervulverpakking) of dubbelzijdige kleeflint
Telefoonkabelverdelers (opsioneel, maar maak dit maklik om drade aan te sluit)
'N Paar duim 1/4 duim
Klein houtskroewe om pluggies aan die LCD te monteer
Soldeer
Krimp vir 18 ga drade
Stukkies of herwinningsonderdele:
Leë mengbak met cappuccino -drank (nie almal het 'n 3D -drukker nie, drink 'n bietjie cappuccino en herwin plastiek)
Ongeveer 1 "x 2" Proto -bordafval, hoewel ek protobord van Amazon gebruik het
Verskillende lengte van 18ga tot 22ga draad of Cat 5e soliede kern
Gereedskap wat u dalk nodig het:
Klein Philips skroewedraaier
Klein plat lem skroewedraaier
Exacto mes
Soldeerbout en soldeer
Sterk skêr
Naald tang
Heerser
Stap 7: 'n bietjie meer inligting en die hoofskets
Dankie dat u gelees het. Ek weet dit is baie. Dit is my eerste Intructable en dit alleen was vir my 'n bietjie opvoedkundig. As ek terugkyk, sien ek dat ek op sommige plekke woordeloos is en op ander plekke te kort. Ek moes die vergadering meer in trappe verdeel het. En aangesien ek hierdie projek ongeveer 'n dosyn keer gebou het totdat dit reg was, is sommige foto's van die een of ander model. Ek moet teruggaan en net 'n model neem. Ek wil ook 'n video of twee insluit. So ja, ek gaan terugkom en hierdie goed regmaak. Maar vir eers gee ek dit in u hande. Ek hoop dat u dit net so geniet as om dit te bou. Weereens baie dankie dat u gelees het.
Aanbeveel:
Temperatuurmonitor met DHT11 en I2C 20x4 LCD: 6 stappe
Temperatuurmonitor Met DHT11 en I2C 20x4 LCD: In hierdie tutoriaal leer ons hoe u 'n eenvoudige temperatuurmonitor kan maak met 'n DHT11 -sensor en I2C LCD Kyk na die video
Rock Paper Scissor AI: 11 stappe
Rock Paper Scissor AI: Al ooit verveeld alleen? Kom ons speel klip, papier en 'n skêr teen 'n interaktiewe stelsel met intelligensie
Rock Paper Sciss: 10 stappe
Rock Paper Scissors: Doel: Nadat u dit voltooi het, leer u hoe u 'n eenvoudige Rock-, Paper Sciss -speletjie van nuuts af kan maak met Code.org. Materiaal / vereistes benodig: Basiese begrip van Javascript -sintaksis, 'n rekenaar, 'n Code.org -rekening
Karakter LCD I2c -adapter (voorbeeld I2c -verbinding): 12 stappe (met foto's)
Karakter LCD I2c Adapter (I2c Connection Voorbeeld): Ek is besig met 'n verbindingskema vir 'n karakter display i2c adapter. Gaan die opdaterings op my webwerf na. Nou voeg ek olso 'n bedrading verbinding skema om oorspronklike biblioteek te gebruik nie my forked.LiquidCrystal Arduino biblioteek vir die karakter LCD -skerms, vurkprojekte
PCB -handheld met Arduino (met die opsie om draadloos te gaan!): 3 stappe
PCB -handheld met Arduino (met 'n opsie om draadloos te gaan!): Opdatering 28.1.2019 Ek werk tans aan die volgende weergawe van hierdie rekenmachine. U kan die projek op my YouTube -kanaal of Twitter volg. Ek het 'n fout in die PCB -uitleg gevind. Die knoppies links en bo is gekoppel aan slegs analoog penne. Ek het reggemaak