Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:arosca:233710 [2022/04/21 14:03]
teodor_andrei.ivan [Nume proiect]
pm:prj2022:arosca:233710 [2022/06/02 03:46] (current)
teodor_andrei.ivan [Descriere generală]
Line 5: Line 5:
 In loc sa desenezi acelasi chenar de X si O de 1000 de ori pe o foaie, ar fi dragut sa poti avea o platforma relativ portabila, interactiva si animata pe care poti sa joci acest joc simplu al copilariei In loc sa desenezi acelasi chenar de X si O de 1000 de ori pe o foaie, ar fi dragut sa poti avea o platforma relativ portabila, interactiva si animata pe care poti sa joci acest joc simplu al copilariei
 </​note>​ </​note>​
-===== Descriere generală ===== 
  
-<note tip> 
-Realizarea unui joc Tic Tac Toe pe o matrice de 9 leduri, cu un buton pentru fiecare led. Se va afisa dupa fiecare mutare la seriala/pe un LCD cat a durat fiecare mutare si la final ce simbol/​culoare a castigat. La inecputul si finalul jocului se va folosi un buzzer pentru o semnalare sonora 
- 
-https://​www.youtube.com/​watch?​v=LwVzQhuowlw&​ab_channel=K%C3%A1rolyIv%C3%A1n 
-</​note>​ 
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 19: Line 13:
   * Arduino   * Arduino
   * Breadboard   * Breadboard
-  * Ecran LCD +  * Joystick 
-  * Buzzer +  * Leduri Bicolore 
-  * Butoane +  * IC SN74HC595 ( shift register ) 
-  * Leduri+ 
 +{{ :​pm:​prj2022:​arosca:​led_wiring.png?​300 |}} 
 + 
 +In poza de mai sus este reprezentat modul in care au fost legate cele 9 leduri bicolore la placuta arduino. Am folosit doi registrii pentru canalele de verde si rosu mai putin ultimele doua leduri, ce au canalele de rosu direct la placuta pentru a economisi un registru. Primul registru se ocupa de canalele de verde ale primelor 8 leduri, iar al doilea de ultimul canal de verde si primele 7 canale de rosu. 
 + 
 +Pentru selectarea spatiului dorit, am folosit un joystick generic pentru navigarea prin grid. La apasarea acestuia, se selecteaza ledul si se aprinde cu culoarea corespunzatoare jucatorului 
 +{{ :​pm:​prj2022:​arosca:​joystick.png?​300 |}}
 </​note>​ </​note>​
  
Line 29: Line 29:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei (firmware):​ +Pentru afisarea pe gridul ​de leduri am folosit functia shiftOut din biblioteca de Advanced I/O ArduinoAceasta primeste pinii de data si ceas ai registruluimodul in care sa trimita byte-ul si byte-ul in sine. Deci modificarea byte-ului ​(a celor doi bytes pentru ca avem doi registrii) inseamna defapt modificarea gridului de leduriAstfel, facand sau logic cu masca pentru bitul corespunzator ledului, putem aprinde orice led
-  * mediu de dezvoltare (if any) (e.gAVR StudioCodeVisionAVR) + 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +Pentru a retine ce lumini au fost aprinse si de cine au fost aprinse, am folosit un array de 9, fiecare element fiind setat pe 0, 1 sau 2, semnificand stins, rosu, respectiv verde. 
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi + 
-  * (etapa ​3) surse şi funcţii implementate+Aprinderea acestora se face cand se citeste de pe pinul digital ​(SW al joystick-uluivaloarea 0 (adica a fost apasat). In acel moment led-ul curent este aprins in culoarea jucatorului curent, cursorul este mutat pe urmatoarea pozitie disponibila si culoarea acestuia se modifica, semnaland faptul ca este tura urmatorului jucator.
 </​note>​ </​note>​
  
Line 43: Line 43:
  
 ===== Concluzii ===== ===== Concluzii =====
 +{{ :​pm:​prj2022:​arosca:​leds_ivan_teodor.jpg?​400 |}}
 +  ​
 +  ​
 +  ​
 + 
 + 
 +{{ :​pm:​prj2022:​arosca:​wires_ivan_teodor.jpg?​400 |}}
  
-===== 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**. 
-</​note>​ 
- 
-===== Jurnal ===== 
- 
-<note tip> 
-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 =====
pm/prj2022/arosca/233710.1650539008.txt.gz · Last modified: 2022/04/21 14:03 by teodor_andrei.ivan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0