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

pm/prj2024/rvirtan/sudoku.1715873818.txt.gz · Last modified: 2024/05/16 18:36 by alicuriceanu
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