This shows you the differences between two versions of the page.
pm:prj2021:avaduva:sudoku [2021/05/20 10:17] andrei.capanu |
pm:prj2021:avaduva:sudoku [2021/05/31 20:00] (current) andrei.capanu |
||
---|---|---|---|
Line 6: | Line 6: | ||
<nowiki> | <nowiki> | ||
- | Am pornit de la ideea ca multi oamenii sunt interesati de jocurile de logica, care antreneaza mintea. Printre ele se numara si SUDOKU, un joc destul de interesant. Acesta consta in completarea unui careu cu cifre(de la 1 la 9 sau de la 1 la 4) in anumite combinatii, astfel incat pe fiecare linie / coloana sa ai toate cifrele de la cifra minima la cifra maxima o singura data. Totodata, careul cel mare se sparge in careuri mai mici, care trebuie sa contina toate cifrele de la cifra minima la cifra maxima, fara duplicate. | + | Am pornit de la ideea ca multi oameni sunt interesati de jocurile de logica, care antreneaza mintea. Printre ele se numara si SUDOKU, un joc destul de interesant. Acesta consta in completarea unei matrici cu cifre(de la 1 la 9 sau de la 1 la 4) in anumite combinatii, astfel incat pe fiecare linie / coloana sa ai toate cifrele de la cifra minima la cifra maxima o singura data. Totodata, matricea cea mare se sparge in matrici mai mici, care trebuie sa contina toate cifrele de la cifra minima la cifra maxima, fara duplicate. |
</nowiki> | </nowiki> | ||
<nowiki> | <nowiki> | ||
- | Proiectul meu implementeaza jocul SUDOKU. M-am ca gandit ca aceasta varaianta va facilita o mai buna experienta a utilizatorului focalizata pe jocul efectiv, nu pe verificare solutiei, care in mod traditional se face uitandu-te la finalul cartii :). | + | Proiectul meu implementeaza jocul SUDOKU. M-am gandit ca aceasta varianta va facilita o mai buna experienta a utilizatorului focalizata pe jocul efectiv, nu pe verificare solutiei, care in mod traditional se face uitandu-te la finalul cartii :). |
</nowiki> | </nowiki> | ||
<nowiki> | <nowiki> | ||
- | Utilitatea acestui proiect este data de faptul ca se inlocuieste calea traditionala de a juca acest joc pe o carte sau pe un site, avand la dispozitie o interfata care face verificarea solutiei pentru utilizator, iar la rezolvarea unu careu principal, aceasta trece la un nivel urmator, la un nou careu principal de rezolvat. Astfel, se ajunge la o varianta dinamica, interesanta, care face ca practicarea acestui joc sa fie una mai usoara si mai placuta. | + | Utilitatea acestui proiect este data de faptul ca se inlocuieste calea traditionala de a juca acest joc pe o carte sau pe un site, avand la dispozitie o interfata care face verificarea solutiei pentru utilizator, iar la rezolvarea matricii , aceasta trece la un nivel urmator, la o noua matrice de rezolvat. Astfel, se ajunge la o varianta dinamica, interesanta, care face ca practicarea acestui joc sa fie una mai usoara si mai placuta. |
</nowiki> | </nowiki> | ||
=====Descriere generală===== | =====Descriere generală===== | ||
- | Pe LCD se va afisa matricea de completarea SUDOKU, cu cateva causte completate pentru a ii da idee userului cum sa completeze. Userul se va folosi de un touchpen pentru a-si alege cifra din casuta selectata. Acesta tine apasat pe casuta dorita, astepta pana i se copleteaza pe ecran cifra dorita. Acesta va putea face check pentru a vedea daca este pe calea cea buna. La gasirea unei combinatii corecte va castiga un punctaj.Se vor folosi matrice de 4X4 pentru joc. Ma gandesc sa fac pe mai multe niveluri, de la nivelul usor la dificil, cu crestrea punctajului in functie de nivelului de dificultate. | + | Pe LCD se va afisa matricea de completarea SUDOKU, cu cateva causte completate pentru a ii da idee utilizatorului cum sa completeze. Utilizatorul se va folosi de un touchpen pentru a-si alege cifra din casuta selectata. Acesta tine apasat pe casuta dorita, astepta pana i se completeaza pe ecran cifra dorita. Acesta va putea face check pentru a vedea daca solutia sa este cea corecta. Daca este cea corecta, va castiga un punctaj si se trece la urmatorul nivel, daca nu este cea corecta, va primi un mesaj de atentionare.Se vor folosi matrici 4X4 pentru joc. O sa fac ca jocul sa fie pe mai multe niveluri, de la nivelul usor la dificil, cu crestrea punctajului in functie de nivelul de dificultate. |
{{:pm:prj2021:avaduva:schema_bloc_sudoku_capanu_andrei_claudiu.png?600x200}} | {{:pm:prj2021:avaduva:schema_bloc_sudoku_capanu_andrei_claudiu.png?600x200}} | ||
- | Modulul LCD preia inputurile de la user, le transmite mai departe catre placa arduino, iar aceasta in functie de logica pe care o executa, ii trimie modulului LCD ce anume sa faca mai departe, ce sa afiseze. | + | Modulul LCD preia inputurile de la user, le transmite mai departe catre placa Arduino, iar aceasta in functie de logica pe care o executa, ii trimie modulului LCD ce anume sa faca mai departe, ce sa afiseze. |
Line 33: | Line 33: | ||
Lista piese: | Lista piese: | ||
* [[https://cleste.ro/modul-lcd-tft-35inch-uno.html?utm_medium=GoogleAds&utm_campaign=GoogleAdsSearch&utm_source=DynamicAdGroup&gclid=EAIaIQobChMI2cL4zd_L8AIVDQCiAx31-wmJEAAYASAAEgLBr_D_BwE|modul LCD TFT 3.5 INCH ]] | * [[https://cleste.ro/modul-lcd-tft-35inch-uno.html?utm_medium=GoogleAds&utm_campaign=GoogleAdsSearch&utm_source=DynamicAdGroup&gclid=EAIaIQobChMI2cL4zd_L8AIVDQCiAx31-wmJEAAYASAAEgLBr_D_BwE|modul LCD TFT 3.5 INCH ]] | ||
- | * [[https://ardushop.ro/ro/home/29-placa-de-dezvoltare-uno-r3.html?gclid=EAIaIQobChMIqKnW8N_L8AIVx-d3Ch3RAwuWEAYYASABEgIu2PD_BwE|placuta arduino UNO R3]] | + | * [[https://ardushop.ro/ro/home/29-placa-de-dezvoltare-uno-r3.html?gclid=EAIaIQobChMIqKnW8N_L8AIVx-d3Ch3RAwuWEAYYASABEgIu2PD_BwE|placuta Arduino UNO R3]] |
=====Software Design===== | =====Software Design===== | ||
* Schema electrica a fost realizata folosind: EAGLE. | * Schema electrica a fost realizata folosind: EAGLE. | ||
Line 41: | Line 41: | ||
- TouchScreen -> ajuta la identificare momentului in care ecranul a fost apasat | - TouchScreen -> ajuta la identificare momentului in care ecranul a fost apasat | ||
-Adafruit_GFX -> bibleoteca de care are nevoie MCUFRIEND_kbv | -Adafruit_GFX -> bibleoteca de care are nevoie MCUFRIEND_kbv | ||
- | * Algoritmi şi structuri pe care plănuiţi să le implementaţi: se vor folosi matrici 4x4. | + | * Structuri pe care plănuiţi să le implementaţi: se vor folosi matrici 4x4. |
=====Rezultate Obţinute===== | =====Rezultate Obţinute===== | ||
- | Link catre videoclipul de prezentare proiect: TO DO. | + | [[https://drive.google.com/drive/folders/1y-GfP4Q_cVExu5DJd5OfSsnq-h_rz-AC?usp=sharing|Link catre videoclipul de prezentare proiect]] |
=====Concluzii===== | =====Concluzii===== | ||
- | Am reusit sa fac proiectul pe care mi l-am propus. A fost o exeperienta inedita, combinand pentru prima data partea de software cu cea de hardware. Partea cea mai grea la acest proiect a fost partea de cautare, astfel incal la un moment dat sa iau tot ce am si ce stiu si sa le pun cap la cap pentru realizarea proiectului. Acest proiect m-a facut sa inteleg care sunt punctele mele slabe si punctele mele tari, urmand ca pe viitor sa imi trasez obiective clare in realizare unor noi proiecte ce vor urma. | + | Am reusit sa fac proiectul pe care mi l-am propus. A fost o experienta inedita, combinand pentru prima data partea de software cu cea de hardware. Partea cea mai grea la acest proiect a fost partea de cautare, astfel incat la un moment dat sa iau tot ce am si ce stiu si sa le pun cap la cap pentru realizarea proiectului. Acest proiect m-a facut sa inteleg care sunt punctele mele slabe si punctele mele tari, urmand ca pe viitor sa imi trasez obiective clare in realizare unor noi proiecte ce vor urma. |
=====Download===== | =====Download===== | ||
- | Cod sursa: TO DO de pus arhiva. | + | [[https://drive.google.com/drive/folders/1-D5aVTriBqUk6BfArv0xQYy2KZemMeVH?usp=sharing|Cod sursa]] |
=====Jurnal===== | =====Jurnal===== | ||
* <nowiki>24-25 Aprilie ---> alegere tema proiect, creare pagina proiect pe OCW</nowiki> | * <nowiki>24-25 Aprilie ---> alegere tema proiect, creare pagina proiect pe OCW</nowiki> | ||
- | * <nowiki>1 Mai ---> adaugare introducere, schema bloc, descreire generala proiect pe OCW</nowiki> | + | * <nowiki>1 Mai ---> adaugare introducere, schema bloc, descriere generala proiect pe OCW</nowiki> |
* <nowiki>11 Mai ---> testarea, calibrarea modulului LCD in contact cu placuta Arduino Uno R3, respectiv inceperea realizarii partii software a proiectului</nowiki> | * <nowiki>11 Mai ---> testarea, calibrarea modulului LCD in contact cu placuta Arduino Uno R3, respectiv inceperea realizarii partii software a proiectului</nowiki> | ||
* <nowiki>15 Mai ---> adaugare schema electrica</nowiki> | * <nowiki>15 Mai ---> adaugare schema electrica</nowiki> | ||
- | * <nowiki>19-20 Mai ---> Finalizarea jocului SUDOKU 4x4 pe ecran.</nowiki> | + | * <nowiki>21 Mai ---> finalizarea jocului SUDOKU pe LCD TFT cu touch, adaugare cod sursa, README, videoclip de prezentare</nowiki> |
=====Bibliografie/Resurse===== | =====Bibliografie/Resurse===== | ||
[[https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/sudoku?do=export_pdf |Export to PDF file]] | [[https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/sudoku?do=export_pdf |Export to PDF file]] | ||
Line 63: | Line 63: | ||
[[http://www.lcdwiki.com/3.5inch_Arduino_Display-UNO| Documentatie modul LCD TFT 3.5 INCH ]] | [[http://www.lcdwiki.com/3.5inch_Arduino_Display-UNO| Documentatie modul LCD TFT 3.5 INCH ]] | ||
- | [[https://www.arduino.cc/reference/en | Deocumentatie placuta Arduino Uno R3]] | + | [[https://www.arduino.cc/reference/en | Documentatie placuta Arduino Uno R3]] |
[[https://www.sparkfun.com/datasheets/LCD/HOW%20DOES%20IT%20WORK.pdf | Tutorial cum functioneaza ecranul cu touch]] | [[https://www.sparkfun.com/datasheets/LCD/HOW%20DOES%20IT%20WORK.pdf | Tutorial cum functioneaza ecranul cu touch]] | ||
Line 74: | Line 74: | ||
[[https://github.com/adafruit/Adafruit_TouchScreen| Bibleoteca Touchscreen]] | [[https://github.com/adafruit/Adafruit_TouchScreen| Bibleoteca Touchscreen]] | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=if88hBgQyto | Tutorial1 functionare ecran!]] | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=RG6aejGy3Z0| Tutorial2 functionare ecran!]] | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=_GT_sgbKQrc&t=1791s| Tutorial3 functionare ecran!]] | ||
+ | |||
+ | |||
+ | |||
+ | |||