Cuprins:

Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C: 7 pași
Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C: 7 pași

Video: Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C: 7 pași

Video: Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C: 7 pași
Video: Jocuri uimitoare din hârtie pentru tine și prietenii tăi 2024, Iulie
Anonim
Joc de foarfece portabil cu hârtie Arduino, cu ecran LCD 20x4 cu I2C
Joc de foarfece portabil cu hârtie Arduino, cu ecran LCD 20x4 cu I2C
Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C
Joc cu foarfece portabile din hârtie Arduino, cu ecran LCD 20x4 cu I2C
Joc de foarfece portabil cu hârtie Arduino, cu ecran LCD 20x4 cu I2C
Joc de foarfece portabil cu hârtie Arduino, cu ecran LCD 20x4 cu I2C

Bună ziua tuturor sau poate ar trebui să spun „Bună ziua lumii!”

Ar fi o mare plăcere să vă împărtășesc un proiect care a fost intrarea mea în multe lucruri Arduino. Acesta este un joc portabil Arduino Paper Rock Scissors folosind un ecran LCD I2C 20x4. Știu că s-ar putea să vă gândiți: „Un alt joc de foarfecă din hârtie rock?” Dar majoritatea jocurilor Arduino Paper Rock Scissors folosesc LED-uri simple și am văzut și unul care folosea simboluri de hârtie ridicate de servouri. Sunt cool. Acest proiect folosește afișaj LCD 20x4 și a făcut unul cu I2C și unul fără el (nu este prezentat aici). Am vrut un caz ieftin, cu un aspect finit, nu doar o mizerie de panou. Nu toată lumea are acces la o imprimantă 3D și vrea să plătească pe cineva care o are. Și am vrut să fie ușor de realizat pentru a putea împărtăși ideile altora. Deoarece abilitățile mele de programare sunt la nivel de începător, schița este destul de simplă și ușor de înțeles și de editat. Aceasta a fost educația mea personală în crearea unei schițe. Veți găsi o mulțime de note în schiță și a trecut prin multe, multe (20+?) Iterații până când cred că este corect. Proiectul costă mai puțin de 20 USD (fără I2C).

Am început cu Arduino în 2018 și am trecut prin site-ul lor și am citit tot ce am putut. Construit și experimentat cu exemplele de proiecte cu care vine și ați citit o mulțime de instructabile pe care mulți dintre voi le-ați împărtășit de-a lungul anilor. Apreciați-i cu adevărat și ați învățat atât de multe de la voi toți. Mulțumesc. Acum vreau să împărtășesc o parte din ceea ce am învățat adăugând propria mea creativitate. Înainte ca secțiunea de comentarii să se acumuleze cu o mulțime de întrebări despre cum să faceți acest lucru și care vă rog să rețineți, am început acest lucru fără experiență în Arduino. Am învățat construind exemplele de proiecte pe site-urile web Arduino și Instructables. Am învățat de la voi. Când vă blocați, acestea pot fi cel mai rapid mod de a găsi o soluție.

Pasul 1: Introducerea proiectului

Introducerea proiectului
Introducerea proiectului
Introducerea proiectului
Introducerea proiectului

Am selectat afișajul LCD de la Amazon și am ales ecranul LCD I2C 20x4 din cauza costului redus (aproximativ 12 - 18 USD) și a ușurinței de cablare și programare. Dacă doriți, puteți utiliza unul fără I2C și s-ar putea obține unul la fel de ieftin ca 7 USD. Dar va trebui să utilizați o altă bibliotecă și o schemă de cablare și să utilizați mai mulți pini Arduino. Nu vă faceți griji, este suficient să mergeți în ambele sensuri. Seria I2C 20x4 ar fi mai ușor de construit, mai puține fire sunt mai puțin confuze. Dar ecranul LCD paralel 20x4 este cu aproximativ 5 USD mai ieftin. Am desenat schemele pentru ambele scheme de cablare. Majoritatea celorlalte părți le-am cumpărat de la Amazon și câteva magazine locale. Cutia mea este o cutie de băutură cappuccino goală. Îmi place că capacul se desprinde cu ușurință pentru a porni / opri alimentarea, pentru a lucra la orice componente sau pentru a schimba bateria. Și „Hei!” cutia era gratuită și îmi place cappuccino. Reciclarea plasticului este bună pentru mediu. Puteți utiliza orice cutie doriți ca totul să se potrivească sau chiar săriți cutia sau panoul de proiectare. Am vrut un „aspect de proiect terminat” la prețuri ieftine. Pun pariu că cineva creează o versiune tipărită 3D. Arduino joacă jocul Paper Rock Scissors cu tine pe LCD, ține scorul, poți introduce cu butoanele și, dacă alegi, există o opțiune care îți permite să trișezi. Inițial caracteristica de cheat a fost scrisă în scopuri de depanare și când am terminat-o am comentat-o. Doar pentru distracție am pus-o la loc.

Pasul 2: Pâine

Pâine
Pâine
Pâine
Pâine

Mi-am îmbarcat circuitele folosind Arduino Uno, dar când am pus totul împreună, am folosit Arduino Nano pentru că se potrivește mai bine în cutie. Deci, puteți construi acest lucru cu oricare dintre ele. Dar nu uitați să modificați câteva setări în IDE. Nano este instalat pe partea din spate a ecranului LCD folosind benzi de comandă sau bandă adezivă pe două fețe. Poziționați Arduino Nano lângă placa piggyback I2C, astfel încât conectorul USB să fie orientat spre exterior (în dreapta ecranului LCD). Puteți utiliza o cutie de baterii de 9v sau 4x AA (care vă oferă 6v) cu comutator glisant SPST pentru alimentare montată în interiorul cutiei și cu benzi de comandă. Construit în ambele sensuri, Arduino are un regulator de tensiune la bord care îl reduce la 5 volți de care are nevoie. Dacă vă gândiți la acest joc, acest joc poate recicla „baterii de 9V în mare parte moarte” pentru energie și funcționează bine. (Schimbați bateriile detectoarelor de fum de două ori pe an, nu?) Alte dispozitive care utilizează o baterie de 9V ar putea spune că este moartă la 6 - 8 volți; dar nu este mort până când nu este „Arduino Dead!”

În timp ce proiectam proiectul, am folosit 4 butoane SPST pentru intrare, dar construind jocul terminat în cutie am folosit 5 butoane SPST gândind în viitor că aș putea încerca să fac un joc care să aibă nevoie de mai multe butoane. Poate un joc de labirint? Un divizor de tensiune al rezistorului pentru butoane este montat împreună pe o bucată de bucată de placă proto care poate fi montată și cu benzi de comandă.

Pasul 3: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Asamblare:

Cele 4 ansambluri principale sunt LCD-ul cu placa opțională I2C piggyback, Arduino Nano, rezistențele și comutatoarele daisy înlănțuite la placa proto interconectată și cutia bateriei cu comutator pornit / oprit.

Ar trebui să începeți prin îmbarcarea circuitului sau prin cablul dur al plăcii proto în urma schemei. Îmi place să păstrez LCD-ul cu fața în jos în capacul cutiei pentru a nu-l zgâria. Am folosit un antet doar pe o parte a Arduino care are 5v pentru a-l conecta la placa proto. Am făcut o punte cu 3 anteturi (o mulțime de lucruri de lipit) de la Arduino la placa proto, astfel încât să se așeze plat pe partea din spate a ecranului LCD cu benzi de comandă sau bandă lipicioasă pe două fețe. Dar, într-adevăr, plăcile pot fi conectate doar fire de lipit de la unul la altul. S-a folosit un antet feminin pentru a conecta placa proto la LCD I2C. Picioarele rezistenței plăcii proto pot fi utilizate pentru a face cele 5 puncte de lipit pentru butoane. Celălalt picior al fiecărui buton merge la pinul Arduino A0. Fiecare buton va avea nevoie de 2 fire lipite. Folosiți un contor Ohm pentru a determina picioarele butonului de utilizat, dar, în general, nu puteți greși cu picioarele nonadiacente (diagonală una de cealaltă).

Alegeți setările pentru Arduino în IDE. Descarcă schița și încarcă-o pe Arduino și testează / depanează.

Sunteți gata să-l puneți într-o cutie? Am scos eticheta pentru cappuccino, mi-am spălat și uscat cutia. Măsurați cu atenție și decupați orificiul din cutie pentru ecranul LCD, după cum puteți vedea și este montat cu 3 dibluri înșurubate la trei găuri de colț LCD (2 în partea de jos a cutiei, 1 lângă capac) suficient de lung pentru a ajunge la partea din spate a cutiei și păstrați-o la loc cu frecare. Gaura șurubului de pe ecranul LCD al panoului piggyback ar putea fi prea aproape de terminal, așa că o omit. Am folosit un cuțit Exacto pentru găurirea orificiilor pilot pentru șuruburile din dibluri, astfel încât acestea să nu se despartă (atenție, nu alunecați și nu vă înfundați, țineți diblurile cu clești). A trebuit să îndoiți / amestecați cutia puțin pentru instalarea finală, dar se întoarce la forma corectă. Găurile pentru butoane sunt „găurite” prin poziționarea lor (trasați linii cu margine dreaptă) și încălzind terminalele cu un fier de lipit până când se „topesc” prin cutie. Apoi scoateți butoanele după ce se răcesc și se lipesc pe resturi de sârmă CAT 5e de 6 "- 9" sau sârmă de 18ga la 22ga la butoane. Instalați butoanele cu sârmă mai întâi înapoi în orificiile lor, apoi lipiți pe placa proto-rezistor. Un punct de super lipici, lipici fierbinte sau chiar doar frecare va menține butoanele în poziție. Într-o singură versiune, s-au folosit câteva îmbinări de cablu pentru telefon (cercurile roșii din blocurile transparente de plastic) pentru a facilita ultima mână de conexiuni între cutia bateriei, proto-placa rezistorului și ansamblul LCD / Arduino. Dacă doriți, puteți folosi lipirea și termocontractarea. Apoi, împingeți cu grijă și încet toate firele și componentele în cutie și închideți capacul. Ați instalat o baterie și ați încărcat schița Arduino înainte de a face toate acestea? De asemenea, veți avea nevoie de bibliotecă pentru afișaj LCD 20x4 cu sau fără I2C (oricare ar fi alegerea) pe care o puteți descărca gratuit de pe Github. Porniți-l, încercați-l și vedeți dacă funcționează. Mai târziu mi-am editat schița cu pauze pentru a ușura citirea, am adăugat „efectul de puncte intermitente” și alte lucruri împreună cu o mulțime de comentarii. Încercați să poziționați Arduino, astfel încât USB-ul să poată fi conectat în continuare și să încarce o schiță nouă. S-a folosit o diagramă de flux, desigur, la crearea schiței. Veți găsi comentariile care definesc destul de mult unde a fost fiecare bloc de diagramă.

Veți găsi că butoanele se află într-un circuit serie / paralel care vă permite să utilizați un pin de intrare Arduino pentru câte butoane doriți. Circuitul acționează ca un divizor de tensiune pentru a alimenta o valoare pinului analogic schimbând valoarea citită de fiecare buton apăsat. Puteți utiliza monitorul serial pentru a afla valorile circuitului pe baza rezistențelor dvs. și pentru a schimba „valorile acceptate” din schița dvs.

Sper că te distrezi construindu-ți propriul! Dacă faceți una sau chiar faceți unele modificări, vă rugăm să ne împărtășiți cu ceilalți. Mulțumesc că ai citit.

Pasul 4: Programare și setări

Programare și setări
Programare și setări
Programare și setări
Programare și setări

Acum, pentru distracție cu IDE. Sper că ai băut niște cappuccino. S-ar putea să aveți nevoie de el pentru a vă ajuta să rămâneți treaz.

Este posibil să constatați că va trebui să configurați unele biblioteci. Veți avea nevoie de Wire.h pentru I2C, LCD.h pentru LCD, LiquidCrystal_I2C.h pentru LCD controlat I2C. De asemenea, va trebui să utilizați comanda lcd.begin (20, 4) pentru a spune Arduino că utilizați un LCD cu 20 de caractere de 4 linii și pot exista și alte setări.

Pentru informații despre instalarea bibliotecilor, consultați:

În IDE-ul Arduino s-ar putea să găsiți că va trebui să vă setați placa și portul la care ați conectat. Portul poate fi găsit în panoul de control al computerului / managerul dispozitivului / controlerele Universal Serial Bus. Trebuie să-ți dai seama ce Arduino folosești. Folosesc Arduino Nano, dar Uno funcționează și pentru asta. Alegeți cu atenție setările.

S-ar putea să trebuiască să vă aflați adresa I2C. Ar trebui să îl puteți citi direct de pe jumperii de bord. De asemenea, puteți descărca un scaner I2C de pe Arduino.cc sau, de asemenea, https://www.gammon.com.au/forum/?id=10896 și alte locuri.

Undeva în jurul acestui punct ar trebui să puteți încărca programul pe Arduino și să testați funcționalitatea. Se aprinde ecranul LCD? Poți citi personaje? De câte ori am construit circuitul, apoi l-am testat, lumina de fundal s-a aprins, dar personajele erau ilizibile. Ore petrecute (așa este, ORE) încercând setări și tonificând conexiunile pentru a vă asigura că a fost construită corect. Am renunțat câteva zile. M-am întors la el mai târziu și am realizat că rezistența variabilă de pe placa piggyback a fost setată la minim. A transformat-o și personajele erau vizibile. Cu capul de la birou. Un alt motiv pentru a-ți bate capul pe birou? Dacă trebuie să schimbați bateria, poate fi necesar să reglați din nou această rezistență variabilă. Când s-a întâmplat acest lucru, am tăiat o mică gaură în spatele cutiei pentru acces.

Este posibil să trebuiască să setați propriile valori ale butonului în acest program pe baza rezistențelor pe care le utilizați pentru butoane. Puteți utiliza această schiță la îndemână și nu uitați să activați monitorul serial. Rulați schița și apăsați fiecare buton și scrieți fiecare valoare. Apoi editați schița pentru a reflecta valorile butonului. Apoi încărcați schița editată pe tablă și vedeți dacă funcționează.

Există o mulțime de mici variabile care trebuie să fie toate corecte, iar a ta ar putea fi diferită de a mea. Să ai răbdare și să încerci diferite lucruri te va ajuta să lucrezi. Amintiți-vă, de asemenea, după ce ați setat variabilele Arduino (cum ar fi numele plăcii, com 3, 5 sau orice altceva, procesor și programator [toate sub instrumente]) s-ar putea să le aveți pe toate setate corect, dar nu funcționează, deoarece trebuie să reporniți. Deconectați Arduino și reconectați-l la computer. S-ar putea să trebuiască să salvați și să reporniți din nou computerul.

Încărcați această schiță, rulați monitorul, apăsați butoanele și înregistrați valorile, apoi editați schița de foarfecă de hârtie înlocuind valorile rezistenței mele cu ale dvs. Rulați schița de foarfecă de hârtie și vedeți dacă funcționează corect. Da, ai instalat butoanele în ordinea greșită? Este posibil să trebuiască să le reinstalați dacă le doriți într-o anumită ordine.

A se distra!

Pasul 5: Schița de citire a butoanelor vă va ajuta să găsiți valorile de rezistență pentru a edita în schița principală. Apăsați fiecare buton și înregistrați valorile rezistorului pentru a intra în schița principală

// schiță de citire a butonului

configurare nulă () {

// puneți codul de configurare aici, pentru a rula o dată:

Serial.begin (9600);

}

bucla nulă () {

// puneți codul principal aici, pentru a rula în mod repetat:

int buTTon; // Pentru citirea butoanelor

buTTon = 0; // Pentru citirea butoanelor

buTTon = analogRead (A0); // Comandă folosită pentru citirea Butoanelor

întârziere (100);

Serial.println (buTTon);

Pasul 6: Liste de piese și instrumente de care ați putea avea nevoie

Lista pieselor de la Amazon:

Arduino Uno sau Arduino Nano

Afișaj LCD 20x4 cu sau fără I2C

Cutie de baterii de 9v sau 6v cu comutator glisant SPST (sau obțineți comutatorul glisant separat)

5 butoane SPST

1x rezistență de tracțiune 1k - 5k

Rezistoarele 5x mai mici de 1k, 200 - 500 Ohmi sunt bune

Liste de piese Alte locații sau magazine:

Baterie de 9V sau 4x 1,5 V

Command Strips (a folosit un pachet de reumplere) sau bandă adezivă pe două fețe

Dispozitive de îmbinare a cablurilor telefonice (opțional, dar facilitează conectarea firelor)

Câțiva centimetri de diblă de 1/4"

Șuruburi mici pentru lemn pentru a monta dibluri pe LCD

Solder

Termocontractor pentru fire de 18 ga

Resturi sau piese de reciclare:

Cutie de băutură cappuccino goală (nu toată lumea are o imprimantă 3D, are niște cappuccino și reciclează niște plastic)

Aproximativ 1 "x 2" resturi de placă Proto, deși am folosit protoboard de la Amazon

Diverse lungimi de sârmă de 18ga până la 22ga sau miez solid Cat 5e

Instrumente de care ai putea avea nevoie:

Șurubelniță mică Philips

Șurubelniță cu lamă mică

Cuțit Exacto

Fier de lipit și lipit

Foarfece grele

Cleste pentru nas

Rigla

Pasul 7: Mai multe informații și schița principală

Mulțumesc că ai citit. Știu că este mult. Acesta este primul meu Intructable și acest lucru singur a fost un pic educativ pentru mine. Privind în urmă, văd că sunt slab în unele locuri și prea scurt în altele. Ar fi trebuit să descompun ansamblul mai mult în trepte. Și de când am construit acest proiect de vreo zece ori până când a fost corect, unele dintre fotografii provin dintr-un model sau altele. Trebuie să mă întorc și să fac poze unui singur model. De asemenea, vreau să includ un videoclip sau două. Deci da, mă voi întoarce și voi rezolva aceste lucruri. Dar deocamdată l-am pus în mâinile tale. Sper că vă place să o construiți la fel de mult ca și mine. Vă mulțumesc din nou pentru că ați citit.

Recomandat: