Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 5: Line 5:
 Proiectul isi propune implementarea unui joc de Sudoku. Controlul va fi facut dintr-o tastatura numerica ce va avea rolul de navigator prin puzzle (selectarea casutei) si de a introduce o cifra pentru completarea casutei. Afisarea puzzle-ului se va face pe un LCD. Proiectul isi propune implementarea unui joc de Sudoku. Controlul va fi facut dintr-o tastatura numerica ce va avea rolul de navigator prin puzzle (selectarea casutei) si de a introduce o cifra pentru completarea casutei. Afisarea puzzle-ului se va face pe un LCD.
 ===== Descriere generală ===== ===== Descriere generală =====
 +
 +Schema bloc
  
 {{:​pm:​prj2021:​abirlica:​schema_bloc_sudoku.png?​200|Schema bloc}} {{:​pm:​prj2021:​abirlica:​schema_bloc_sudoku.png?​200|Schema bloc}}
Line 25: 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 36: 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.gProcyon 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 demohttps://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>​
  
pm/prj2021/abirlica/sudoku.1622307798.txt.gz · Last modified: 2021/05/29 20:03 by lucian.mincea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0