This shows you the differences between two versions of the page.
pm:prj2024:tdicu:alina_diana.pintoiu [2024/05/26 13:04] alina_diana.pintoiu [Hardware Design] |
pm:prj2024:tdicu:alina_diana.pintoiu [2024/05/26 18:48] (current) alina_diana.pintoiu [Hardware Design] |
||
---|---|---|---|
Line 34: | Line 34: | ||
* 1 x LCD de 2.8'' cu SPI și Controller ILI9341 | * 1 x LCD de 2.8'' cu SPI și Controller ILI9341 | ||
* 1 x Keyboard | * 1 x Keyboard | ||
+ | * 1 x Translator de Nivel Bidirectional cu 4 Canale | ||
</note> | </note> | ||
Line 46: | Line 47: | ||
* RES <-> Pinul digital 8; | * RES <-> Pinul digital 8; | ||
* DC <-> Pinul digital 9; | * DC <-> Pinul digital 9; | ||
- | * CS <-> Pinul digital 10; | + | * CS1 <-> Pinul digital 10; |
Rolul tastaturii este de a putea insera caractere intr-un mod cat mai usor. Pentru conectarea tastaturii am taiat cablul acesteia si am conectat 4 fire: | Rolul tastaturii este de a putea insera caractere intr-un mod cat mai usor. Pentru conectarea tastaturii am taiat cablul acesteia si am conectat 4 fire: | ||
Line 57: | Line 58: | ||
=== Implementare fizica === | === Implementare fizica === | ||
- | {{wordle_without_keyboard.jpeg}} | + | {{wordle_without_keyboard.jpeg?400x600}} |
- | {{wordle_with_keyboard.jpeg}} | + | Pentru functionarea ecranului LCD ili9341 a trebuit sa folosesc un Translator de Nivel Bidirectional cu 4 Canale, pentru CLK, MOSI, RES si DC, deoarece display-ul functiona pe 3v3, iar placuta arduino pe 5v. |
+ | De asemenea, am realizat un divizor de tensiune pentru CS1, deoarce acesta este un canal unidirectional si nu aveam nevoie sa translatam in ambele parti. | ||
- | {{playing_mode.jpeg}} | + | {{wordle_with_keyboard_wide.jpeg?600x400}} |
+ | |||
+ | Pentru keyboard, am taiat cablul de ps/2 de la tastatura si am vazut cele 4 fire descrise si mai sus. Dupa ce le-am identificat si am facut un test cu osciloscopul ca trimite bine semnalele, am conectat-o la arduino. | ||
+ | |||
+ | {{playing_mode.jpeg?400x600}} | ||
+ | |||
+ | Tot ce tine de logica jocului si design-ul acestuia este realizat din software si descris mai jos. | ||
+ | |||
+ | === Final Look === | ||
+ | |||
+ | {{wordle_in_box.jpeg?400x600}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 201: | Line 213: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Rezultatele obținute în urma realizării proiectului a fost implementarea efectiva a jocului Wordle. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | == Funcționalitatea Jocului Wordle: == | ||
+ | * Am reușit să implementez jocul Wordle, care permite utilizatorilor să ghicească un cuvânt de cinci litere într-un număr maxim de șase încercări. | ||
+ | * Jocul oferă feedback vizual clar pentru fiecare ghicire, utilizând culorile verde, galben și gri pentru a indica pozițiile corecte, literele corecte dar plasate greșit și literele incorecte. | ||
+ | |||
+ | == Interfața Grafică și Interacțiunea cu Utilizatorul: == | ||
+ | * Am realizat o interfață grafică atractivă folosind ecranul TFT Adafruit ILI9341. | ||
+ | * Utilizatorii pot naviga ușor în meniul principal și pot alege între opțiunile de vizualizare a regulilor jocului sau începerea unui joc nou. | ||
+ | * Feedback-ul vizual este prezentat clar și într-un mod ușor de înțeles pentru utilizatori. | ||
+ | |||
+ | == Meniul și Opțiunile de Joc: == | ||
+ | * Meniul principal permite utilizatorilor să acceseze regulile jocului sau să înceapă un nou joc. | ||
+ | * Am implementat și un popup pentru afișarea regulilor jocului, oferind utilizatorilor o experiență informativă și intuitivă. | ||
+ | |||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul a demonstrat că este posibil să fie implementat un joc interactiv și educativ pe o platformă de microcontrolere, utilizând ecranul TFT și tastatura PS2. | ||
+ | |||
+ | De asemenea, de la inceput am vrut ca jocul sa fie cat mai usor de jucat, de aceea am implementat inserarea cuvintelor prin tastatura. | ||
+ | |||
+ | Sper ca prin acest proiect o sa invete si alti oameni de acest joc si o sa fie placut surprinsi de el ^_^. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | ||
- | 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**. | + | {{Wordle.zip}} |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
+ | - **05.05.2024** : A creat pagina de wiki intitulata Wordle | ||
+ | - **05.05.2024** : Am comandat piesele | ||
+ | - **15.05.2024** : Am incercat sa leg display-ul si tastatura(aici aveam tastatura usb si incercam sa o leg cu un cablu de usb mama taiat) | ||
+ | - **15.05.2024** : Realizat ca nu ajunge curent la tastatura, comandat tastatura ps/2 | ||
+ | - **22.05.2024** : Implementat pentru display un level shifter ca sa poata mearga display-ul si intr-un final a mers si tastatura | ||
+ | - **22.05.2024-ongoing** : Implementat software descris mai sus. | ||
+ | - **27.05.2024** : Prezentare proiect PM Fair. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | **Resurse Software:** |
+ | *https://www.youtube.com/watch?v=EFAfcsYOriM | ||
+ | *https://electronoobs.com/eng_arduino_tut58.php | ||
+ | |||
+ | **Resurse Hardware:** | ||
+ | *https://www.instructables.com/Connect-PS2-Keyboard-to-Arduino/ | ||
+ | *https://www.youtube.com/watch?v=waeLQvtQZoU | ||
+ | *https://github.com/slu4coder/YouTube/blob/main/Arduino-PS2-Keyboard-Reader/ArduinoPS2Keyboard/ArduinoPS2Keyboard.ino | ||
+ | *https://forum.arduino.cc/t/ps-2-keyboard/19926/7 | ||
+ | *https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/3544-modul-lcd-spi-de-28-cu-touchscreen-controller-ili9341-i-xpt2046-240x320-px.html?search_query=ILI9341&results=7 | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||