This shows you the differences between two versions of the page.
pm:prj2024:fgul:ionela.strimbeanu [2024/05/26 23:36] ionela.strimbeanu [Rezultate Obţinute] |
pm:prj2024:fgul:ionela.strimbeanu [2024/05/27 12:37] (current) ionela.strimbeanu [Download] |
||
---|---|---|---|
Line 17: | Line 17: | ||
- Pe cele doua matrici secundare de LED-uri se vor forma doua imagini. Matricile sunt conectate serial, miscorand astfel numarul de pini digitali necesari de pe microcontroler. | - Pe cele doua matrici secundare de LED-uri se vor forma doua imagini. Matricile sunt conectate serial, miscorand astfel numarul de pini digitali necesari de pe microcontroler. | ||
- Prin intermediul a doua butoane, simbolizand DA sau NU, jucatorul trebuie sa raspunda corect la intrebarea: "Cele doua imagini sunt la fel?" | - Prin intermediul a doua butoane, simbolizand DA sau NU, jucatorul trebuie sa raspunda corect la intrebarea: "Cele doua imagini sunt la fel?" | ||
- | - Se repeta pasii anteriori de 6 ori. | + | - Se repeta pasii anteriori de 5 ori. |
- Prin intermediul unei matrice de butoane, corespunzatoare LED-urilor de pe matricea principala, jucatorul trebuie sa introduca corect secventa de LED-uri aprinse anterior. | - Prin intermediul unei matrice de butoane, corespunzatoare LED-urilor de pe matricea principala, jucatorul trebuie sa introduca corect secventa de LED-uri aprinse anterior. | ||
- Daca utilizatorul introduce corect secventa de lumini SI a raspuns corect la toate intrebarile referitoare la imagini, inseamna ca a castigat si se vor inalta steagurile victoriei, pe fundalul unei melodii triumfatoare. | - Daca utilizatorul introduce corect secventa de lumini SI a raspuns corect la toate intrebarile referitoare la imagini, inseamna ca a castigat si se vor inalta steagurile victoriei, pe fundalul unei melodii triumfatoare. | ||
Line 27: | Line 27: | ||
Schema hardware - realizata in wokwi.com: | Schema hardware - realizata in wokwi.com: | ||
- | {{:pm:prj2024:fgul:schema_circuit.png?500|}} | + | {{:pm:prj2024:fgul:schema_circuit_cristina.png?500|}} |
Lista piese: | Lista piese: | ||
Line 43: | Line 43: | ||
* Dupa cum se observa pe schema hardware, am doua constructii diferite de matrici de LED-uri, motiv pentru care, pentru usurinta, matricea principala nu am conectat-o tot la pinii speciali de SPI de pe placa. In schimb, am conectat-o la pinii D36, D38, D40, biblioteca folosita realizand "bit banging", ceea ce imi permite sa folosesc orice pini digitali. | * Dupa cum se observa pe schema hardware, am doua constructii diferite de matrici de LED-uri, motiv pentru care, pentru usurinta, matricea principala nu am conectat-o tot la pinii speciali de SPI de pe placa. In schimb, am conectat-o la pinii D36, D38, D40, biblioteca folosita realizand "bit banging", ceea ce imi permite sa folosesc orice pini digitali. | ||
* Butoanele "DA" si "NU", folosite pentru a afirma daca imaginile de pe cele doua matrici sunt identice, folosesc intreruperi externe, deci sunt conectate la pinii D20 si D21. | * Butoanele "DA" si "NU", folosite pentru a afirma daca imaginile de pe cele doua matrici sunt identice, folosesc intreruperi externe, deci sunt conectate la pinii D20 si D21. | ||
- | * Cele doua Servo Motoare folosesc PWM si trebuie conectate la pini adecvati (care accepta PWM). Am ales random D2 si D12. | + | * Cele doua Servo Motoare folosesc PWM si trebuie conectate la pini adecvati (care accepta PWM). Am ales random D2 si D3. |
* Restul componentelor folosesc pini digitali, alesi random. Am incercat totusi sa ii aleg astfel incat sa minimizez firele intercalate si sa arate cat mai bine. | * Restul componentelor folosesc pini digitali, alesi random. Am incercat totusi sa ii aleg astfel incat sa minimizez firele intercalate si sa arate cat mai bine. | ||
Line 107: | Line 107: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Mereu mi-a placut ideea de harware, de lucrat cu piese si fire, si ma bucur ca am avut oportunitatea de a crea un proiect de la 0, atat din punct de vedere software, cat si hardware. |
- | <note warning> | + | A fost o provocare. Fiind primul proiect de acest gen, a necesitat multa documentare. Chiar daca tema proiectului ales nu este una foarte complicata, consider ca am reusit sa fac un proiect interesant si, cel mai important, complet functional, intr-un timp limitat. |
- | 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**. | + | Inca de la inceput, stiam exact ce vreau sa fac, fiecare pas al proiectului. A necesitat putina cautare pentru a gasi piesele potrivite, astfel incat sa nu imi ingreunez inutil munca. Pe parcursul realizarii jocului am hotarat ca ar fi mai distractiv sa am muzica permanent in fundal. Ideea a evoluat apoi, astfel in proiectul final exista mai multe melodii, cate una pentru fiecare etapa a jocului. |
- | </note> | + | |
+ | Am pornit de la premisa ca voi folosi breadboard-uri, pentru usurinta, in detrimentul lipirii. Pentru un design mai estetic am hotarat sa folosesc mini breadboard-uri, negre in principal, si am optat pentru ascunderea firelor si a placutei Arduino. Astfel jucatorul este mai concentrat pe joc, si nu pe mediul inconjurator. | ||
+ | |||
+ | Singurul lucru care nu mi-a placut in dezvoltarea acestui proiect a fost faptul ca, lucrand in Arduino IDE, nu am reusit sa folosesc fisiere .c sau .cpp pentru modularizarea codului. Probabil se poate, dar nu am reusit sa fac sa mearga si nici nu mi-am dedicat mult timp pentru a gasi o solutie. | ||
+ | Am considerat ca este mai important sa mearga intr-un mod corect si optim decat sa fie impartit in mai multe fisiere. | ||
+ | ===== Download ===== | ||
+ | |||
+ | Arhiva proiect: | ||
+ | {{:pm:prj2024:fgul:proiect_pm.zip|Remember_the_Glow_arhiva.zip}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | 02.05 - Creare pagina si Introducere |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | + | 03.04 - Comandare piese |
- | <note> | + | 04.05 - Descriere generala si Comandare piese |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | 05.05 - Incepere Hardware si Software (pe parti) |
+ | |||
+ | 10.05 - Unire piese Hardware intr-un singur proiect | ||
+ | |||
+ | 13.05 - Incepere unire Software intr-un singur proiect | ||
+ | |||
+ | 16.05 - Harware Design | ||
+ | |||
+ | 18.05 - Comandare piese pentru Design Final Estetic Hardware | ||
+ | |||
+ | 23.05 - Software Design | ||
+ | |||
+ | 26.05 - Completare pagina ocw cu scheme, imagini noi si concluzii | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | * [[https://ocw.cs.pub.ro/courses/pm | Laboratoare 0-3]] |
+ | * [[https://wokwi.com/ | Wokwi.com]] | ||
+ | * [[https://www.optimusdigital.ro/ro/| OptimusDigital]] | ||
+ | * Exemple oferite de Arduino IDE, cu bibliotecile folosite: | ||
+ | * [[https://arduinogetstarted.com/tutorials/arduino-led-matrix| LED Matrix]] | ||
+ | * [[https://arduinogetstarted.com/tutorials/arduino-keypad| Keypad]] | ||
+ | * [[https://arduinogetstarted.com/tutorials/arduino-7-segment-clock| Timer]] | ||
+ | * [[https://arduinogetstarted.com/tutorials/arduino-buzzer-library | Buzzer]] | ||