This shows you the differences between two versions of the page.
pm:prj2024:ccontasel:sabin.pocris [2024/05/17 23:49] sabin.pocris |
pm:prj2024:ccontasel:sabin.pocris [2024/05/27 10:45] (current) sabin.pocris |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== BattleshipBoy ====== | + | ====== 🎮 BattleshipBoy 🎮 ====== |
===== Introducere ===== | ===== Introducere ===== | ||
Line 13: | Line 13: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2024:ccontasel:schema_block_pm_battleshipboy.png?600|}} | + | {{:pm:prj2024:ccontasel:ps_schema_block_pm_battleshipboy.jpg?600|}} |
- | + | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 21: | Line 19: | ||
Componente necesare: | Componente necesare: | ||
* 1 x arduino | * 1 x arduino | ||
- | * 6 x butoane push fara retinere | + | * 5 x butoane push fara retinere |
* 1 x lcd | * 1 x lcd | ||
+ | * 1 buzzer pasiv | ||
* 1x breadboard + necesare | * 1x breadboard + necesare | ||
</note> | </note> | ||
- | {{:pm:prj2024:ccontasel:screenshot_2024-05-10_at_23.19.55.png?600|}} | + | {{:pm:prj2024:ccontasel:asdfadfwefqwf.png?600|}} |
- | + | ||
- | + | ||
- | TODO: | + | |
- | + | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 37: | Line 31: | ||
Laboratoare necesare: | Laboratoare necesare: | ||
* GPIO | * GPIO | ||
- | * Întreruperi | + | * SPI |
* Timere | * Timere | ||
* I2C | * I2C | ||
Line 47: | Line 41: | ||
* librării şi surse 3rd-party | * librării şi surse 3rd-party | ||
* [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit-GFX-Library]] | * [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit-GFX-Library]] | ||
+ | * am decis sa folosesc aceasta librarie pentru a reutiliza conceptele de afisare grafica, nefiind nevoit sa le reimplementez | ||
* algoritmi şi structuri pe care plănuiţi să le implementaţi | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
* concepte facute la EGC | * concepte facute la EGC | ||
Line 52: | Line 47: | ||
* prefetching | * prefetching | ||
* tile rendering | * tile rendering | ||
+ | * `pitches.h` preluat din exemplele din Arduino IDE, pentru a usura folosinta buzzer-ului | ||
</note> | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | * Youtube: [[https://youtu.be/2ZlNst9Aejg|Link]] |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | {{:pm:prj2024:ccontasel:asdasdadasda.jpeg?600|}} |
+ | |||
+ | {{:pm:prj2024:ccontasel:whatsapp_image_2024-05-27_at_10.11.42.jpeg?500|}} | ||
+ | |||
+ | {{:pm:prj2024:ccontasel:whatsapp_image_2024-05-27_at_10.31.27.jpeg?500|}} | ||
+ | |||
+ | ===== Tinte de performanta ===== | ||
+ | - Viteza de raspuns: <= 1 sec | ||
+ | - Viteza de decizie a PC-ului: <= 1 sec | ||
+ | - Consum ram: <= 2KB | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Dezvoltarea jocului Battleship pe Arduino a implicat provocari semnificative, cum ar fi crearea unei interfete grafice clare pe un ecran LCD mic, gestionarea precisa a coordonatelor pentru afisarea hartilor si a cursorului, si detectarea corecta a apasarilor butoanelor prin debouncing. Implementarea logicii de joc pentru plasarea si atacul navelor, alaturi de crearea unei logici de atac aleatorii pentru calculator, a fost esentiala pentru a oferi o experienta de joc captivanta. Utilizarea buzzer-ului pentru redarea sunetelor specifice actiunilor din joc a adaugat un element suplimentar de interactivitate, dar si complexitate in gestionarea temporizarii si frecventelor. | ||
+ | |||
+ | Acest proiect a oferit o invatare profunda in programarea pe Arduino, inclusiv manipularea pinilor si perifericelor, interactiunea cu ecranul LCD PCD8544 si buzzer-ul, si implementarea graficii simple cu biblioteca Adafruit GFX. | ||
+ | |||
+ | A fost distractiv! | ||
===== Download ===== | ===== Download ===== | ||
Line 70: | Line 80: | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | {{:pm:prj2024:ccontasel:online_gantt_ps.png?900|}} |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |