Sudoku 9x9

Introducere

Nume student: Dinu Marian-Gabriel
Grupa: 333CD

Fiind pasionat de jocuri care solicită creierul, dar și de programare și inginerie, m-am întrebat “Ce aș putea face cu informațiile acumulate până acum?” Răspunsul? Să le pun în practică realizând un proiect ce are la bază un joc pe care îl cunosc prea bine și căruia îi pot aduce îmbunătățiri, anume SUDOKU.

Sudoku este un joc de tip puzzle ce presupune completarea a 9 cadrane, fiecare cu câte 9 căsuțe, cu cifre de la 1 la 9, astfel încât pe linie, coloană și în cadran cifrele să nu se repete. Inițial cadranele nu sunt goale, fiind date câteva valori, iar în funcție de acestea trebuie completate restul de cifre lipsă.

În mod normal Sudoku se joacă pe hârtie, alături de un instrument de scris pentru completare, dar acest proiect vrea să ducă acest joc mai departe, anume în lumea digitală.

Îmbunătățiri față de jocul original:

  • Afișaj pe ecran LCD
  • Localizare poziție prin licărire (apariție/dispariție cifră)
  • Modificare poziție cu ajutorul unui joystick, iar a valorii cu ajutorul unor butoane
  • Timer pentru a vedea timpul de rezolvare / rezolvare sub timp limită
  • Muzică ambientală relaxantă pentru a scăpa de stresul indus de joc

Consider că această nouă modalitate de a vedea acest joc îi va face pe cei care nu l-au încercat încă să îi dea o șansă, astfel ajungând să petreacă timpul liber într-un mod constructiv, stimulând logica, memoria și răbdarea.

Descriere generală

Interacțiunea componentelor:

  • La baza proiectului se găsește un Arduino UNO, care primește și transmite mai departe datele de la componentele adiacente
  • Pentru afișarea jocului, plăcuța de Arduino transmite date către un LCD prin intermediul protocolului SPI
  • Melodiile, precum și puzzle-le de Sudoku, sunt citite de pe un card SD, iar apoi sunt transmise către Arduino tot prin SPI
  • Semnalele sonore sunt transmise mai departe către un amplificator, ce permite schimbarea volumului prin intermediul unui potențiometru
  • Sunetul este redat cu ajutorul a două speakere conectate la amplificator
  • Butoanele reprezintă acțiuni diverse, semnalele generate de acestea fiind considerate drept întreruperi de către Arduino și vor fi rezolvate ulterior
  • Folosind un timer intern, Arduino va trimite către modulul de afișaj cu 4 cifre valoarea încât să îți dai seama cât timp a trecut de la începerea puzzle-ului sau cât timp rămas mai este pentru rezolvarea acestuia

Schema bloc

Hardware Design

Listă componente:

  • Arduino UNO
  • Modul LCD SPI de 1.44'' (128×128) ST7735
  • Afisaj cu LED Rosu de 4 Cifre 3641BS
  • Modul Slot Card Compatibil cu MicroSD
  • 2 speakers 4 ohm, 3 W
  • Modul amplificator audio PAM8403, cu potentiometru
  • Modul joystick doua axe XY
  • butoane

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

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/fstancu/marian_gabriel.dinu.txt · Last modified: 2024/05/06 00:20 by marian_gabriel.dinu
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