This shows you the differences between two versions of the page.
pm:prj2024:ccontasel:costin.didoaca [2024/05/25 22:45] costin.didoaca [Hardware Design] |
pm:prj2024:ccontasel:costin.didoaca [2024/05/26 11:03] (current) costin.didoaca |
||
---|---|---|---|
Line 39: | Line 39: | ||
</note> | </note> | ||
+ | |||
+ | |||
Schema electrica: | Schema electrica: | ||
- | Mentionez ca este realizata in TinkerCad; pentru a inlocui componenta FC-16 inexistenta in acest mediu de simulare, am inlocuit pinii acesteia cu un Pin Extender de 8 pini (Folosind primii 4 in urmatoarea ordine: CLK, CS, DIN, GND, VCC) | + | Mentionez ca este realizata in TinkerCad; pentru a inlocui componenta FC-16 inexistenta in acest mediu de simulare, am inlocuit pinii acesteia cu un Pin Header de 8 pini (Folosind primii 4 in urmatoarea ordine: CLK, CS, DIN, GND, VCC) |
{{:pm:prj2024:ccontasel:schema_electrica_2306.jpg?650|}} | {{:pm:prj2024:ccontasel:schema_electrica_2306.jpg?650|}} | ||
+ | |||
+ | <note tip> | ||
+ | In implementarea circuitului am lipit cele 4 module MAX7219 cu Dot Matrix atasate pin la pin folosind pin-headere duble a cate 5 pini(pini: CLK, CS, D IN/OUT, GND, VCC) si un header in L pentru directionarea inputului(cabluri mama-tata) cu fludor. Am alimentat separat modulele cu 5V DC prin intermediul unui transformator de telefon si un cablu USB sectionat si izolat, atasand firele de VCC si GND pe un breadboard separat. | ||
+ | </note> | ||
DEMO circuit: | DEMO circuit: | ||
Line 55: | Line 61: | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
* mediu de dezvoltare: ArduinoIDE, VSCode, PyCharm - surse: *.cpp, *.ino, *.py | * mediu de dezvoltare: ArduinoIDE, VSCode, PyCharm - surse: *.cpp, *.ino, *.py | ||
- | * librării şi surse 3rd-party: MD_MAX72xx | + | * biblioteci şi surse 3rd-party: MD_MAX72xx |
* reproducerea jocului Tetris (folosirea deplasarii matriceale) | * reproducerea jocului Tetris (folosirea deplasarii matriceale) | ||
Line 93: | Line 99: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Video cu cablajul si gameplay: <link> </link> |
+ | |||
+ | Video cu varianta finala: <link> </link> | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Prin implementarea acestui proiect am reusit sa inglobez dezvoltarea software in hardware. La inceput axandu-ma pe implementarea software a popularului joc "Tetris", am putut sa creez un device care expune acest joc in mediul fizic, real. | ||
+ | Acest model are posibilitatea sa fie imbunatatit foarte usor prin adaugarea unui difuzor(sau buzzer), unui DISPLAY LED/OLED pentru afisarea scorului(parte care este deja implementata in cod, trebuie doar conectat display-ul fizic si transmis output-ul). | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | Codul sursa complet, organizarea claselor si o imagine cu cablajul: |
- | 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**. | + | {{:pm:prj2024:ccontasel:tetris_game_arduino_source.zip|}} |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 121: | Line 129: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | Listă cu documente, datasheet-uri, resurse Internet folosite: |
- | </note> | + | |
- | + | ||
- | Resurse: | + | |
[[https://www.youtube.com/watch?v=XuL_Dmm5V4Y&list=WL&index=2&t=1220s| Coding Tetris in Arduino Explained]] | [[https://www.youtube.com/watch?v=XuL_Dmm5V4Y&list=WL&index=2&t=1220s| Coding Tetris in Arduino Explained]] | ||
[[https://www.hackster.io/sherwinchiu89/tetris-shield-on-an-arduino-mega-9e3a24| Inspo Tetris Project]] | [[https://www.hackster.io/sherwinchiu89/tetris-shield-on-an-arduino-mega-9e3a24| Inspo Tetris Project]] | ||
[[https://www.youtube.com/watch?v=BnVyMB8orBs| Interface Multiple Buttons in 1 ARDUINO Input]] | [[https://www.youtube.com/watch?v=BnVyMB8orBs| Interface Multiple Buttons in 1 ARDUINO Input]] | ||
+ | </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> | ||