This is an old revision of the document!


Sudoku

  • Autor: Axinia Claudiu-Andrei
  • Grupa: 335CC

Introducere

Proiectul reprezinta implementarea unui joc Sudoku(varianta 4×4), folosind materiale si concepte legate de materia Proiectarea cu Microprocesoare.

Este o varianta mai rapida si mai distractiva atat de implementat, cat si de jucat chiar si pentru pasionatii de Sudoku(inclusiv eu, de unde mi-a venit si ideea pentru acest proiect), comparativ cu variantele clasice pe foaie sau un dispozitiv mobil.

Descriere generală

Jocul poate fi jucat de un jucator pornind de la o configuratie initiala afisata pe un ecran LCD. Trebuie respectate regulile Sudoku: nu pot exista cifre duplicate pe un rand, pe o coloana sau intr-un careu din grila.

Jucatorul va putea selecta din butoanele disponibile atat pozitionarea pe grila de Sudoku(sus/jos/stanga/dreapta), cat si incrementarea si apoi plasarea/stergerea inainte de plasare a unei cifre. In final, in caz de victorie se va primi un mesaj “Ai castigat!” si se va afisa scorul primit.

Hardware Design

Lista componente folosite:

  • Placa compatibila cu Arduino UNO
  • Ecran LCD 128 x 160
  • Breadboard
  • Butoane(x7)
  • LED
  • Buzzer
  • Fire tata-tata
  • Rezistoare 1000 & 470 Ohmi

Conectare LCD 128 X 160 - sursa bibliografie

Implementare hardware

Schema electrica

Schema Bloc

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

Am obtinut jocul de Sudoku(versiunea 4×4), respectand, prin implementarile hardware si software, regulile si design-ul binecunoscute. Jucatorul se poate deplasa in toate cele 4 directii pe ecran si poate plasa/sterge numere in grila pentru a rezolva jocul. In final, se calculeaza scorul conform regulilor afisate la inceput si, in caz de victorie, se afiseaza un mesaj de felicitari “Ai castigat!”. Functionalitati:

Reguli - ecran de start

Joc initial

Joc final

Mesaj "Ai castigat!" si scor

Concluzii

- A fost un proiect distractiv de implementat, care a necesitat cunostinte matematice pentru implementarea software a Sudoku, rabdare in intampinarea si solutionarea dificultatilor si munca pentru asamblarea hardware prin aplicarea cunostintelor invatate la materia PM.

- Jocul este foarte asemanator cu cel clasic pe hartie, folosind bineinteles o altfel de implementare prin jocul din butoane push pe LCD.

- Am tratat si cazuri absurde precum jucatorul incercand sa stearga numerele date deja initial sau iesirea in afara grilei.

- Codul este o baza solida caruia i se pot aplica in viitor lucruri/functii suplimentare prin updatarea acestuia.

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

06.05: Creare pagina de ocw si descriere detalii despre proiect, implementare, piese folosite si schema bloc.

Saptamana 16-20 mai: procurare materiale si piese necesare, incepere implementare hardware(conectare ecran LCD) & software(reguli Sudoku).

Saptamana 23-27 mai: finalizare implementare hardware & software, finalizare wiki pagina OCW.

Bibliografie/Resurse

https://github.com/olikraus/ucglib - Biblioteca UCGLIB;

https://www.youtube.com/watch?v=boagCpb6DgY&ab_channel=educ8s.tv - Conectare ecran LCD 128 x 160;

https://acoptex.com/project/263/basics-project-054a-18-spi-tft-lcd-128x160-module-and-flickering-streaks-at-acoptexcom/ - Conectare ecran LCD & alte informatii legate de el;

- Diverse surse de pe internet( + cunostinte proprii :) ) referitoare la regulile Sudoku si cum ar corespunde ele in cadrul proiectului;

Export to PDF

pm/prj2022/robert/sudoku.1653682294.txt.gz · Last modified: 2022/05/27 23:11 by claudiu.axinia
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