This shows you the differences between two versions of the page.
pm:prj2022:rtilimpea:simonsays [2022/06/02 01:31] ionut.niculaie [Rezultate Obţinute] |
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 37: | 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 56: | 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 65: | 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 ===== | ||
Line 84: | 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 ===== | ||
Line 96: | Line 104: | ||
* **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 ===== |