This shows you the differences between two versions of the page.
pm:prj2021:abirlica:sudoku [2021/05/29 20:03] lucian.mincea [Descriere generală] |
pm:prj2021:abirlica:sudoku [2021/05/31 16:21] (current) lucian.mincea [Rezultate Obţinute] |
||
---|---|---|---|
Line 27: | Line 27: | ||
Lista de piese: | Lista de piese: | ||
* Arduino Uno | * Arduino Uno | ||
- | * Ecran LCD SPI | + | * Ecran LCD 1.8\" SPI |
* Tastatura numerica 4x3 | * Tastatura numerica 4x3 | ||
- | * Breadborad | + | * Breadboard |
- | * Rezistente | + | * Rezistenta 1k - pentru pinul de LED+ al LCD-ului |
* Fire | * Fire | ||
Line 38: | Line 38: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Diagrama de activitati | ||
- | <note tip> | + | {{:pm:prj2021:abirlica:activity_diagram_sudoku.png?300|}} |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | Diagrama de stari |
- | <note tip> | + | {{:pm:prj2021:abirlica:state_diagram_sudoku.png?300|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | Functii: |
+ | * set_board() - initializeaza tabla de joc cu unul din cele 5 jocuri statice | ||
+ | * draw_sudoku() - deseneaza pe LCD tabla de joc, pozitia jucatorului fiind reprezentata prin culoarea rosu | ||
+ | * get_key() - Keypad.getKey(); functie de biblioteca pentru a verifica daca o tasta a fost apasata; functie neblocanta | ||
+ | * interpret_key() - se interpreteaza inputul utilizatorului in functie de starea jocului | ||
+ | * move si fill_cell sunt descrise in functia intepret_key() | ||
+ | * check_result() - se verifica starea jocului | ||
+ | * draw_menu - deseneaza meniul ce apare la apasarea tastei '#'; afiseaza un mesaj un functie de rezultatul verificarii si afiseaza optiunile de "NEW GAME" si "CONTINUE" | ||
- | ===== Download ===== | + | Biblioteci folosite: |
+ | * SPI.h si TFT.h - afisarea pe LCD | ||
+ | * Keypad.h - interpretarea inputului venit de la keypad | ||
- | <note warning> | + | ===== Rezultate Obţinute ===== |
- | 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ă ;-). | + | |
- | 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**. | + | Rezultatul obtinut este acela al unui joc sudoku 6x6 functional. |
- | </note> | + | |
+ | {{:pm:prj2021:abirlica:sudoku_layout.jpeg?300|}} | ||
+ | |||
+ | Link demo: https://ctipub-my.sharepoint.com/:v:/g/personal/lucian_mincea_stud_acs_upb_ro/EVdple31PT5FpDQ-qQWiFRABWQ4WvmL-MsfOVFpzQOP3rQ?e=CbELtV | ||
+ | |||
+ | Cod sursa: {{:pm:prj2021:abirlica:sudoku_pm.zip|}} | ||
+ | ===== Concluzii ===== | ||
- | ===== Jurnal ===== | + | Proiectul a presupus mai multe etape, alegerea temei fiind cea mai dificila si importanta prin prisma timpului alocat documentarii asupra elementelor de care dispunem pentru a pune cap la cap un proiect. |
+ | Ceea ce am invatat din acest proiect este lucrul cu biblioteca TFT si interactiunea cu un dispozitiv LCD ce este compatibil cu aceasta biblioteca. | ||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.arduino.cc/en/Reference/TFTLibrary |
- | </note> | + | * https://robojax.com/learn/arduino/?vid=robojax-keypad-4x3 |
<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> | ||