This is an old revision of the document!
Sudoku
Introducere
Proiectul propune implementarea jocului Sudoku pe un microcontroller Arduino, redat pe un display LCD. Jucatorul se va putea misca intre celule folosind un joystick, iar cifrele vor fi introduse folosind o tastatura numerica.
Scopul proiectului este de a imbina cunostinte hardware si software, dar si de a crea un joc lejer, de tip puzzle care iti testeaza abilitatile logice.
Descriere generală
Jocul de Sudoku, in forma clasica, are urmatoarele reguli:
Tabla de joc este o grila de 9×9 celule, impartita in subgrile de 3×3.
O celula poate tine o cifra de la 1 la 9.
Toate cifrele dintr-o subgrila trebuie sa fie diferite.
Toate cifrele de pe un rand trebuie sa fie distincte.
Toate cifrele de pe o coloana trebuie sa fie distincte.
Initial, jocul pleaca de la o grila completata partial (anumite celule contin deja cifre) iar jucatorul nu le poate schimba pe acestea.
Un Sudoku este considerat complet atunci cand toate celulele contin cate o cifra si toate regulile jocului sunt respectate.
Jucatorul va naviga intre celule folosind joystick-ul si le va scrie o cifra in celula folosind tastatura numerica. Pe ecranul LCD se va afisa grila jocului.
Hardware Design
Lista de piese
Microcontroller Arduino Nano (ATmega328P).
Ecran 1.8” LCD (128×160).
Joystick.
Tastatura numerica 4×4.
Breadboard, rezistori, fire.
Schema electrica
Software Design
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
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
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.
Jurnal
22/04/2024 - Alegerea proiectului, aprobare.
23/04/2024 - Comandarea componentelor.
29/04/2024 - Pagina de wiki initiala.
09/05/2024 - Hardware design.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF