This shows you the differences between two versions of the page.
pm:prj2022:bogdanc:2048-game [2022/05/12 14:51] catalin_marius.duta |
pm:prj2022:bogdanc:2048-game [2022/06/01 15:11] (current) catalin_marius.duta |
||
---|---|---|---|
Line 26: | Line 26: | ||
<note tip> | <note tip> | ||
Schema bloc: | Schema bloc: | ||
- | {{ :pm:prj2022:bogdanc:schema_bloc_2048.png |}} | + | {{ :pm:prj2022:bogdanc:schema_bloc_2048_final.png |}} |
</note> | </note> | ||
Line 34: | Line 34: | ||
Se vor utiliza următoarele piese: | Se vor utiliza următoarele piese: | ||
* LCD grafic 128×64 | * LCD grafic 128×64 | ||
- | * Baretă 20 pini mamă | + | * Modul joystick PS2 |
- | * 2 barete 20 pini tată | + | * 3 butoane |
- | * 4 butoane | + | * Buzzer pasiv |
- | * cablu tip panglică | + | * Rezistori 220R |
- | * conectori cablu | + | |
* fire legătură | * fire legătură | ||
</note> | </note> | ||
+ | |||
+ | ==== Schema Electrica ==== | ||
+ | |||
+ | {{ :pm:prj2022:bogdanc:schema_electrica_2048.png?300 |}} | ||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
Line 46: | Line 50: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Setup: |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | - pornesc ADC + întreruperea de ADC |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | - realizez inițializarea buzzer-ului, a celor 2 butoane, a joystick-ului și a display-ului |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | - activez întreruperile externe pentru PCINT-uri |
- | * (etapa 3) surse şi funcţii implementate | + | - setez display-ul sa printeze meniul principal (PrintMenu) |
+ | Loop: | ||
+ | * apelez GameLogic, care realizeaza decurgerea logica a jocului | ||
+ | PrintBoard: | ||
+ | * Afiseaza tabla si scorul la momentul actual | ||
+ | GeneratePiece: | ||
+ | * Genereaza o noua piesa, daca acest lucru este posibil | ||
+ | Move (Up/Down/Left/Right): | ||
+ | * Realizeaza mutarea pieselor in directia dorita si merge-ul dintre acestea | ||
</note> | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{ :pm:prj2022:bogdanc:2048_start_game.jpeg?300 |}} |
- | </note> | + | |
+ | {{ :pm:prj2022:bogdanc:2048_in_game.jpeg?300 |}} | ||
+ | |||
+ | {{ :pm:prj2022:bogdanc:2048_win.jpeg?300 |}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | A fost un proiect interesant, care mi-a solicitat intr-o mare masura atat atentia, concentrarea, cat si rabdarea. Lipirea pieselor | ||
+ | a fost partea cea mai dificila, fiin un aspect nou, pe care nu il mai incercasem pana atunci. | ||
+ | |||
+ | ===== Jurnal ===== | ||
+ | |||
+ | * 12.05: Am creat pagina de wiki | ||
+ | * 17.05: Am adaugat introducerea, descrierea generala si Hw design | ||
+ | * 18-19.05: Am creat schema electrica, am scris partea de cod si am testat pe breadboard | ||
+ | * 20-25.05: Am realizat montajul, am lipit firele, am modificat putin functionalitatea fata de ideea initiala (2 butoane in loc de 3) | ||
+ | * 1.06: Am terminat documentatia, am adugat poze cu rezultatele si Sw design + Biblografie si resurse | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | {{:pm:prj2022:bogdanc:2048.zip|}} |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
</note> | </note> | ||
Line 72: | Line 96: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | === Biblioteci === |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit_GFX.h]] |
- | </note> | + | * [[https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library|Adafruit_PCD8544.h]] |
+ | * [[https://github.com/robjen/GFX_fonts|Font4x7Fixed.h]] | ||
+ | |||
+ | === Hardware === | ||
+ | * [[https://components101.com/displays/nokia-5110-lcd|Nokia5110 LCD]] | ||
+ | * [[https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/blob/master/Adafruit_PCD8544.h|Adafruit_PCD]] | ||
+ | * [[https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45|Buzzer]] | ||
+ | |||
+ | === Altele === | ||
+ | * [[https://app.diagrams.net/|Draw Io]] | ||
+ | * [[https://iamzxlee.wordpress.com/2014/04/16/2048-on-arduino/|2048 on Arduino]] | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||