This shows you the differences between two versions of the page.
pm:prj2022:rtilimpea:simonsays [2022/06/01 23:00] ionut.niculaie [Jurnal] |
pm:prj2022:rtilimpea:simonsays [2022/06/02 02:34] (current) ionut.niculaie [Software Design] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Simon Says ====== | ====== Simon Says ====== | ||
+ | <note> **Autor:** Niculaie Ionut-Lucian \\ **Grupa:** 335CB \\ </note> | ||
===== Introducere si descriere generala ===== | ===== Introducere si descriere generala ===== | ||
Line 10: | Line 11: | ||
La fiecare avansare de nivel, se va aprinde cu un LED mai mult, adaugandu-se la ordinea | La fiecare avansare de nivel, se va aprinde cu un LED mai mult, adaugandu-se la ordinea | ||
- | de la nivelul anterior. | + | de la nivelul anterior. Jocul are un numar maxim de 30 de nivele. Daca jucatorul reuseste |
+ | sa treaca de toate cele 30 de nivele va castiga si va avea parte de un cantec al victoriei. | ||
Ideea de la care am pornit este pasiunea mea pentru mici joculete care te pot relaxa, | Ideea de la care am pornit este pasiunea mea pentru mici joculete care te pot relaxa, | ||
Line 36: | Line 38: | ||
*4 x Rezistente 3.3K Ohm | *4 x Rezistente 3.3K Ohm | ||
*1 x Buzzer | *1 x Buzzer | ||
- | *Fire Tata-Tata si Mama-Mama | + | *Fire Tata-Tata |
Rezistentele de 330 Ohm le-am folosit pentru LED-uri, pentru a limita curentul | Rezistentele de 330 Ohm le-am folosit pentru LED-uri, pentru a limita curentul | ||
Line 55: | Line 57: | ||
*Adafruit_SSD1306.h | *Adafruit_SSD1306.h | ||
- | Ordinea in care se vor aprinde LED-urile va fi salvate si actualizate intr-un array. | + | Ordinea in care se vor aprinde LED-urile va fi salvata si actualizata intr-un array. Randomizarea |
+ | se face prin alegerea unui seed aleator la inceputul programului. Am folosit functia analogRead pe | ||
+ | un pin neconectat pentru a realiza acest lucru. | ||
In cadrul proiectului, functia level() constituie modul prin care un nivel este prezentat | In cadrul proiectului, functia level() constituie modul prin care un nivel este prezentat | ||
Line 64: | Line 68: | ||
butoanele au fost apasate in ordinea cea buna, atunci se va pregati nivelul urmator prin adaugarea | butoanele au fost apasate in ordinea cea buna, atunci se va pregati nivelul urmator prin adaugarea | ||
unui nou LED in array. | unui nou LED in array. | ||
+ | |||
+ | Ca element bonus, am adaugat melodii, atat atunci cand utilizatorul castiga, cat si atunci cand pierde. | ||
+ | Aceste bucati de cod au fost preluate de pe internet, iar sursele sunt mentionate in bibliografie. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{:pm:prj2022:rtilimpea:bb943e75-edb4-426a-985f-0928406b7f94.jpg?800|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{:pm:prj2022:rtilimpea:c3730a52-cbb5-4a88-a400-1acc16ea9858.jpg?800|}} |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 74: | Line 80: | ||
Ca si concluzii, am reusit sa finalizez proiectul cu toate functiile pe care mi le-am propus, ba | Ca si concluzii, am reusit sa finalizez proiectul cu toate functiile pe care mi le-am propus, ba | ||
chiar la final am reusit sa reusesc sa-mi dau frau liber imaginatiei, adaugand anumite elemente | chiar la final am reusit sa reusesc sa-mi dau frau liber imaginatiei, adaugand anumite elemente | ||
- | care pot crea amuzament sau un zambet. | + | care pot crea amuzament sau un zambet celui care joaca jocul(anumite melodii care se redau atunci |
+ | cand jocul se castiga sau se pierde). | ||
Fiind primul proiect in Arduino, mi-a fost putin mai greu | Fiind primul proiect in Arduino, mi-a fost putin mai greu | ||
Line 83: | Line 90: | ||
<note warning> | <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ă ;-). | + | Pentru ca programul sa ruleze va trebui sa se instaleze biblioteca pentru OLED. |
- | 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**. | + | Tools -> Manage Libraries -> Adafruit SSD1306 |
</note> | </note> | ||
+ | |||
+ | {{:pm:prj2022:rtilimpea:simonsays.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
* **08.05.2022**: Alegerea temei pentru proiect | * **08.05.2022**: Alegerea temei pentru proiect | ||
- | * **15.05.2022**: Alegerea și comandarea pieselor | + | * **15.05.2022**: Comandarea resurelor hardware |
* **20.05.2022**: Finalizarea unei variante initiale | * **20.05.2022**: Finalizarea unei variante initiale | ||
* **24.05.2022**: Adaugarea ecranului in cadrul proiectului | * **24.05.2022**: Adaugarea ecranului in cadrul proiectului | ||
* **26.05.2022**: Mici ajustari ale codului | * **26.05.2022**: Mici ajustari ale codului | ||
- | * **27.06.2022**: Finalizarea documentatiei | + | * **27.05.2022**: Finalizarea documentatiei |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse Software |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | *https://github.com/Rahul24-06/Arduino-Coffin-Dance-Theme/blob/master/Coffin_dance_arduino/Coffin_dance_arduino.ino |
- | </note> | + | *https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives |
+ | *https://www.youtube.com/watch?v=ksNbEuhO4fU | ||
<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> |