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