This shows you the differences between two versions of the page.
pm:prj2023:drtranca:space_invaders [2023/05/07 22:39] iulia.plaiasu [Hardware Design] |
pm:prj2023:drtranca:space_invaders [2023/05/30 12:47] (current) iulia.plaiasu [Rezultate Obţinute] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Space Invaders ====== | + | ====== Space Invaders - Plăiașu Iulia-Silvia 334CB ====== |
===== Introducere ===== | ===== Introducere ===== | ||
- | <note tip> | + | === Ce face proiectul? === |
- | Prezentarea pe scurt a proiectului vostru: | + | O variantă simplificată a [[https://en.wikipedia.org/wiki/Space_Invaders]] în care nu există scuturi. |
- | * ce face | + | Mai exact, ai o navă spațială pe care o poți mișca stânga dreapta și poți trage. Apar niște extratereștrii în partea de sus a ecranului și mai întâi încep să se deplaseze la dreapta apoi la stânga și apoi se mișcă cu un rând mai aproape de tine. Scopul este să îi omori pe toți, înainte ca aceștia să ajungă la tine. Poți să miști dintr-un potențiometru nava și să împuști din butoane. |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
- | </note> | + | |
- | ===== Descriere generală ===== | + | |
- | <note tip> | + | === Care este scopul lui? === |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Scopul lui este de a pune în aplicare lucrurile învățate despre Atmega328P precum și alte cunoștințe de PM într-un mod distractiv. |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | === Care a fost ideea de la care am pornit? === |
- | </note> | + | Am pornit de la ideea că vreau să încerc să recreez un joc clasic (pe care nu l-am mai recreat). |
+ | === De ce este util? === | ||
+ | Proiectul are scop educațional. | ||
+ | ===== Descriere generală ===== | ||
+ | {{:pm:prj2023:drtranca:space_invaders.drawio.png?400|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | |||
- | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | ||
- | * listă de piese | ||
- | * 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> | ||
=== Listă de piese === | === Listă de piese === | ||
Line 44: | Line 35: | ||
* Buzzer | * Buzzer | ||
+ | === Schemă === | ||
+ | {{:pm:prj2023:drtranca:space_diagram.png?400}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | == Mediu de dezvoltare == | ||
+ | Arduino IDE | ||
- | <note tip> | + | == Librării și surse 3rd-party == |
- | 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 | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | LiquidCrystal_I2C.h |
- | <note tip> | + | == Algoritmi și structuri == |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | Un vector cu structuri potențial goale pentru gloanțe |
+ | |||
+ | Game loop din întreruperi | ||
+ | |||
+ | == Laboratoare folosite == | ||
+ | I2C - ecran LCD | ||
+ | ADC - mișcare jucător | ||
+ | |||
+ | Timere și întreruperi - game loop, spațiere temporală între trasul gloanțelor. Trasul gloanțelor. Muzică. | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | https://www.youtube.com/watch?v=MB6mTb3gO5s | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Am învățat ce înseamnă programarea cu microprocesoare adevărată și nu doar cu funcțiile pe care le dă Arduino. M-am distrat făcând muzica. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{pm:prj2023:drtranca:space_invaders_plaiasu_iulia-silvia_334cb.zip}} |
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 78: | Line 74: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | https://arduinogetstarted.com/reference/library/lcd-createchar Crearea de caractere custom | ||
- | <note> | + | https://www.instructables.com/Quick-Setup-Guide-to-Arduino-LCD-2004-With-PCF8574/ Conectarea LCD. |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </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> |