This shows you the differences between two versions of the page.
pm:prj2022:arosca:electronic-keyboard [2022/05/05 22:08] vlad.enculesei [Rezultate Obţinute] |
pm:prj2022:arosca:electronic-keyboard [2022/05/05 22:49] (current) vlad.enculesei [Download] |
||
---|---|---|---|
Line 30: | Line 30: | ||
Mediul de dezvoltare a fost Tinkercad, iar mai apoi Arduino IDE, mai ales pentru ca nu exista LCD cu I2C in Tinkercad, asa cum s-a mai mentionat si mai sus. | Mediul de dezvoltare a fost Tinkercad, iar mai apoi Arduino IDE, mai ales pentru ca nu exista LCD cu I2C in Tinkercad, asa cum s-a mai mentionat si mai sus. | ||
+ | |||
+ | Pentru LCD-ul cu I2C a fost instalata biblioteca LiquidCrystal I2C by Marco Schwartz version 1.1.2 si a fost initializata o variabila LiquidCrystal_I2C cu adresa 0X27 LCD-ului si 16 caractere pe cate 2 linii. Functia setup seteaza starea initiala a butoanelor (LOW), seteaza corespunzator pinii si seteaza si LCD-ul. | ||
+ | |||
+ | Functia resetDisplay reseteaza display-ul pe 7 segmente si LCD-ul in asa fel incat sa nu se afiseze nimic. Functiile p*, unde * apartine multimii de note muzicale, seteaza LCD-ul si display-ul cu 7 segmente pentru a se afisa o nota muzicala in doua moduri si respectiv o cifra de la 1 la 8. Functia debounce, dupa cum ii spune si numele, face debouncing pentru butoanele pianului. | ||
+ | |||
+ | Finctiile check*, unde * apartine multimii de note muzicale, verifica daca s-a apasat butonul corespunzator notei muzicale respective, activeaza buzzer-ul si apoi apeleaza p* pentru afisaj. In functia loop, se apeleaza functiile check* si mai apoi resetDisplay. | ||
<code java> | <code java> | ||
Line 292: | Line 298: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | {{ :pm:prj2022:arosca:image1_vlad_enculesei.jpg?200 |}} | + | {{ :pm:prj2022:arosca:image1_vlad_enculesei.jpg?700 |}} |
- | {{ :pm:prj2022:arosca:image2_vlad_enculesei.jpg?200 |}} | + | {{ :pm:prj2022:arosca:image2_vlad_enculesei.jpg?700 |}} |
- | {{ :pm:prj2022:arosca:image3_vlad_enculesei.jpg?200 |}} | + | {{ :pm:prj2022:arosca:image3_vlad_enculesei.jpg?700 |}} |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul acesta poate fi folositor ca jucarie pentru copiii foarte mici care doresc sa se joace cu un pian si sa si invete, in acelasi timp, notele muzicale. Mie mi-a placut proiectul pentru ca am invatat cum sa folosesc un LCD cu I2C si un buzzer pasiv. In plus, am invatat sa fac debouncing pentru butoanele pianului. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:arosca:vlad_enculesei_335ca.zip|Arhiva proiectului (cod + README)}} |
- | 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> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * [[https://www.electroniclinic.com/common-anode-and-common-cathode-seven-segment-display-arduino-project-for-beginners/|Display pe 7 segmente (catod comun vs anod comun)]] |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://www.electronics-lab.com/project/arduino-button-debounce-tutorial/|Debounce butoane]] |
- | </note> | + | * [[https://arduinogetstarted.com/tutorials/arduino-lcd-i2c|LCD cu I2C]] |
+ | * [[https://pages.mtu.edu/%7Esuits/notefreqs.html|Note muzicale (de la C4 la C5)]] | ||
+ | * [[https://create.arduino.cc/projecthub/littlefalcon9/passive-buzzer-d4997b|Buzzer pasiv]] | ||
<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> |