This shows you the differences between two versions of the page.
pm:prj2022:ionuto:tintar [2022/05/11 19:10] ioana_maria.popescu |
pm:prj2022:ionuto:tintar [2022/06/01 19:57] (current) ioana_maria.popescu |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Un joc de Țintar(Moara) pentru 2 jucatori afisat pe un ecran LCD. Jucatorul al carui rand este trebuie selecteze casuta in care va pune piesa cu ajutorul unui joystick. Se vor juca in ture pana cand se determina castigatorul conform regulamentului clasic. Se va aprinde un LED si se va activa un buzzer pentru castigator la finalul jocului. | + | Un joc de Țintar(Moara) pentru 2 jucatori afisat pe un ecran LCD. Jucatorul al carui rand este trebuie sa selecteze casuta in care va pune piesa. Se vor juca in ture pana cand se determina castigatorul conform regulamentului clasic. Se va aprinde un LED pentru a arata jucatorul al carui rand este si se va activa un buzzer pentru castigator la finalul jocului. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{ :pm:prj2022:ionuto:schema.png |}} | + | {{ :pm:prj2022:ionuto:tintar_schemabloc.png |}} |
+ | |||
+ | Schema electrica: | ||
+ | |||
+ | {{ :pm:prj2022:ionuto:tintar_schemaelectrica.png |}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Lista de piese: | Lista de piese: | ||
- | *Arduino UNO | + | *Arduino UNO (ATMega328p) |
- | *Display LCD | + | *Display LCD ST7735 |
- | *Joystick | + | *Buzzer pasiv |
- | *Buzzer | + | *LED-uri |
- | *LED | + | *Butoane |
*Fire de legatura | *Fire de legatura | ||
- | |||
- | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | ||
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | ||
- | * diagrame de semnal | ||
- | * rezultatele simulării | ||
- | </note> | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | In implementarea proiectului m-am folosit de urmatoarele biblioteci: |
- | Descrierea codului aplicaţiei (firmware): | + | * Adafruit_GFX - Core graphics library |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Adafruit_ST7735. - Hardware-specific library for ST7735 |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * SPI.h |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | Pe acestea le-am folosit pentru a lucra cu ecranul LCD ST7735, de unde am apelat drawPixel, fillCircle, fillScreen cu care am construit tabla de joc si cu care am pus piesele pe tabla, in functie de input-ul jucatorilor. |
- | </note> | + | |
+ | Majoritatea codului este folosit pentru implementarea jocului propriu-zis de tintar. Am implementat cele 3 etape: | ||
+ | * Etapa I: se asteapta plasarea celor 9 piese pe rand, de la fiecare jucator si se tine cont de formarea unei mori; | ||
+ | * Etapa II: se asteapta mutarea unei piese cu o pozitie(daca are spatiul necesar) de la fiecare jucator, in partea de loop() pana un jucator ajunge la 3 piese; | ||
+ | * Etapa III: pentru jucatorul cu 3 piese se permite mutarea cu mai multe pozitii, pana se decide castigatorul rundei. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{ :pm:prj2022:ionuto:tintar1.jpeg?400 |}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | {{ :pm:prj2022:ionuto:tintar2.jpeg?400 |}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Un proiect interesant, chiar a fost foarte enjoyable sa lucrez la el. Pe partea de hardware n-am avut prea mari probleme, mai multe au fost la cod, ca am avut destule cazuri de tratat. N-am avut chiar foarte mult timp pentru proiect si mi-ar fi placut sa mai adaug si alte functionalitati, dar per total mi se pare ca a iesit bine ce am reusit sa fac. |
- | <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**. | + | ===== Download ===== |
- | </note> | + | |
+ | https://github.com/IoanaPopescu0310/Tintar---PM | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 10.05.2022 - Comandat piese |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 15.05.2022 - Milestone 1 |
- | </note> | + | * 26.05.2022 - Cod |
+ | * 27.07.2022 - Milestone 2 | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.electronics-lab.com/project/using-st7735-1-8-color-tft-display-arduino/ |
- | </note> | + | * https://en.wikipedia.org/wiki/Nine_men%27s_morris |
<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> | ||