Differences

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

Link to this comparison view

pm:prj2023:avaduva:vlad_petrovici [2023/05/30 12:16]
vlad.petrovici1602 [Hardware Design]
pm:prj2023:avaduva:vlad_petrovici [2023/05/31 20:38] (current)
vlad.petrovici1602 [Rezultate Obţinute]
Line 30: Line 30:
 Programul va genera un cod pe care il va sugera ori prin aprinderea beculețelor,​ ori prin hint-uri offline. Programul va genera un cod pe care il va sugera ori prin aprinderea beculețelor,​ ori prin hint-uri offline.
  
-User-ul va trebui să deslușească codul din indicii, apoi dacă va apăsa secvența corectă cu ajutorul butoanelor va rezolva una dintre provocări și avansează la urmatorul nivel.+User-ul va trebui să deslușească codul din indicii, apoi dacă va apăsa secvența corectă cu ajutorul butoanelor va rezolva una dintre provocări și avansează la urmatorul nivel. Este folosit în loop-ul programului o mașină de stări în funcție de nivelul la care a ajuns jucătorul. Printr-o variabilă de tip bool, se va afișa o singură dată setup-ul pentru fiecare nivel. De asemenea, input-ul este afișat pe LCD, iar greșelile sunt semnalate de buzzer, dar și trecerea la nivelul următor. Când se apasă un buton, acesta e verificat să fie cel corect din secvență.
  
-Acest nivel hint-uiește că utilizatorul are un mesaj, iar acesta trebuie să înțeleagă sa verifice PC-ul, adică monitorul serial. De acolo, deslușește misterul și apasă butonul corect.+Acest nivel hint-uiește că utilizatorul are un mesaj, iar acesta trebuie să înțeleagă sa verifice PC-ul, adică monitorul serial. De acolo, deslușește misterul și apasă butonul corect. Acesta are 2 încercări pentru a nimeri răspunsul corect, altfel buzzer-ul va cânta o melodie de eșec, iar jocul se va reseta.
  
-Nivelul 3 reprezintă folosirea motorașului pentru a indica ultimele indicii.+Nivelul 3 reprezintă folosirea motorașului pentru a indica ultimele indicii. Acesta este comandat folosing Fast PWM și biblioteca Servo.
  
-Dacă eșuează, și pierde toate viețile, jocul se va reseta. Toate mesajele principale sunt afișate pe un LCD prin I2C. Mesajul secundar din nivelul 2 este afișat în monitorul serial folosing UART.+Dacă eșuează, și pierde toate viețile, jocul se va reseta. Toate mesajele principale sunt afișate pe un LCD prin I2C. Pe ecran când se așteaptă input de la jucător, e afișat un cursor care blink-uiește intermitent. Acesta folosește funcția millis() pentru a se afișa doar la un anumit interval de timp. Mesajul secundar din nivelul 2 este afișat în monitorul serial folosing UART. Melodiile sunt create folosind funcția tone() și secvențele de note preluate din referința [1] (figurată în secțiunea aferentă).
  
-Dacă provocările sunt terminate în timp util, motorașul se va roti pentru a deschide cufărul ​folosind PWM.+Dacă provocările sunt terminate în timp util, motorașul se va roti pentru a deschide cufărul.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
- +{{:​pm:​prj2023:​avaduva:​puzzle_box_final.png?​500|}} 
-[[https://​drive.google.com/​file/​d/​1YLfr5MNFoQlgk-oqytEVd8Gwz-0S1By8/view?usp=share_link]]+[[https://​drive.google.com/​file/​d/​1ZSNrAF6WNEsDdbHpyQNS_if4fDLmGUMT/view?usp=sharing]] (video simulare flow)
 ===== Concluzii ===== ===== Concluzii =====
  
Line 49: Line 49:
 ===== Download ===== ===== Download =====
  
-{{:​pm:​prj2023:​avaduva:​puzzle_box.zip|}} +{{:​pm:​prj2023:​avaduva:​puzzle_box.zip|}} ​(sursa)
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2023/avaduva/vlad_petrovici.1685438192.txt.gz · Last modified: 2023/05/30 12:16 by vlad.petrovici1602
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