Differences

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

Link to this comparison view

pm:prj2022:ionuto:sudoku [2022/05/27 22:50]
albert.piscanu [Jurnal]
pm:prj2022:ionuto:sudoku [2022/06/02 01:00] (current)
albert.piscanu [Software Design]
Line 2: Line 2:
  
 ===== Introducere ===== ===== Introducere =====
 +{{:​pm:​prj2022:​ionuto:​sudkk.png?​700|}}
 +
 +
 Proiectul meu constă în implementarea jocului Sudoku. ​ Jucătorul va avea la dispoziție o telecomandă cu care va completa căsuțele afișate pe un ecran LCD. Proiectul meu constă în implementarea jocului Sudoku. ​ Jucătorul va avea la dispoziție o telecomandă cu care va completa căsuțele afișate pe un ecran LCD.
  
Line 10: Line 13:
  
 ===== Descriere generală ===== ===== Descriere generală =====
-{{:​pm:​prj2022:​ionuto:​untitled_diagram_11_.drawio.png|}}+{{:​pm:​prj2022:​ionuto:​pqooo.png|}}
 ===== Hardware Design ===== ===== Hardware Design =====
   Lista de piese: ​       Lista de piese: ​    
-  *     Placa dezvoltare ​UNO R3 Arduino ​compatibil, AtMega328p, CH340G, MiniUSB ​+  *     Placă de dezvoltare ​Mega 2560 CH340 + cablu USB – Compatibilă ​Arduino
   *     ​Breadboard 400 puncte    *     ​Breadboard 400 puncte
   *     LED RGB, 10mm, catod comun    *     LED RGB, 10mm, catod comun 
Line 37: Line 40:
  
 Am construit diferite functii pentru tratarea interactiunii cu buzzer-ul, senzorul IR, butonul, led-ul RGB sau pentru testarea corectitudinii solutiei. Am construit diferite functii pentru tratarea interactiunii cu buzzer-ul, senzorul IR, butonul, led-ul RGB sau pentru testarea corectitudinii solutiei.
 +
 +
 +Jucatorul apasa butonul pentru a incepe jocul si apoi foloseste o telecomanda pentru a muta cursorul de la o casuta la alta si pentru a introduce cifrele. Daca jocul este completat, un led rgb va lumina rosu sau verde in functie de corectitudinea solutiei. De asemenea, o solutie corecta va fi acompaniata de un sunet victorios scos de buzzer.
 +
 +Functii implementate:​
 +  * get_grid_and_numbers_positions() -> calculeaza pozitia pe ecran a grid-ului si a cifrelor
 +  * configurare_menu() -> construieste meniul initial
 +  * manage_LED() -> controleaza starea ledului
 +  * RGB_color() -> seteaza culoarea ledului
 +  * turn_off() -> opreste ledul
 +  * get_input() -> interpreteaza inputul primit de la telecomanda
 +  * print_grid() -> afiseaza grid-ul
 +  * print_numbers() -> afiseaza cifrele
 +  * display_timer() -> construieste si afiseaza cronometrul
 +  * check_solution() -> verifica corectitudinea solutiei
 +  * game_over() -> afiseaza mesajul "GAME OVER", porneste o melodie redata de buzzer si ofera posibilitatea intoarcerii la meniul initial
 +  * congratulations() -> afiseaza mesajul "​CONGRATULATIONS!",​ porneste o melodie redata de buzzer si ofera posibilitatea intoarcerii la meniul initial
  
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Demo: [[https://​streamable.com/​vv23us|Sudoku_demo]]
  
-{{:​pm:​prj2022:​ionuto:​whatsapp_image_2022-05-27_at_22.02.51.jpeg?700|}}+ 
 +{{:​pm:​prj2022:​ionuto:​20220602_003354.jpg?500}} 
 +{{:​pm:​prj2022:​ionuto:​20220602_003428.jpg?500}} 
 +{{:​pm:​prj2022:​ionuto:​20220602_003438.jpg?​500}} 
 +{{:​pm:​prj2022:​ionuto:​20220602_003604.jpg?500}}
 ===== Concluzii ===== ===== Concluzii =====
  
 +A fost interesant sa descopar mai multe despre functionarea unui senzor IR si a unei telecomenzi in general, precum si interactiunea cu un display LCD. Limitarile de pini ale placutei Arduino Uno ce m-au determinat sa achizitionez o noua placuta Arduino Mega 2560, arderea unui senzor IR , tresarirea la primul zgomot asurzitor scos de buzzer, fumul scos de componentele incinse si socurile electrice resimtite au facut din acest proiect o experienta aparte.
 +===== Download =====
 +{{:​pm:​prj2022:​ionuto:​sudoku.rar|}}
  
 ===== Jurnal ===== ===== Jurnal =====
Line 50: Line 78:
  
   * 07.05.2022 – Descrierea proiectului si fixarea listei de componente necesare   * 07.05.2022 – Descrierea proiectului si fixarea listei de componente necesare
-  * 11.05.2022 – Am intrat in posesia tuturor componentelor necesare 
   * 14.05.2022 – Conectarea si testarea tuturor componentelor   * 14.05.2022 – Conectarea si testarea tuturor componentelor
   * 18.05.2022 – Desenarea grid-ului si facilitarea introducerii numerelor in casute   * 18.05.2022 – Desenarea grid-ului si facilitarea introducerii numerelor in casute
-  * 24.05.2022 – implementarea ​functiei de verificarea ​a solutiei si a interactiunii cu utilizatorul (buton, buzzer, led)+  * 24.05.2022 – Implementarea ​functiei de verificare ​a solutiei si a interactiunii cu utilizatorul (buton, buzzer, led)
   * 27.05.2022 – Finalizarea documentatiei   * 27.05.2022 – Finalizarea documentatiei
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * 3.5inch_Arduino_8BIT_Module_ILI9486_MAR3501_V1.1 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe *Resurse Software* şi *Resurse Hardware*. +  * KY-022 Infrared receiver module Datasheet 
-</note> +  ​https://​github.com/gitcnd/​LCDWIKI_GUI 
 +  * https://​github.com/​robsoncouto/​arduino-songs
 <​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/prj2022/ionuto/sudoku.1653681056.txt.gz · Last modified: 2022/05/27 22:50 by albert.piscanu
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