Differences

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

Link to this comparison view

pm:prj2023:ncaroi:mini-piano [2023/05/19 20:50]
teodor.juravlea
pm:prj2023:ncaroi:mini-piano [2023/06/02 20:34] (current)
teodor.juravlea
Line 32: Line 32:
 **Schema hardware:** **Schema hardware:**
  
-{{:​pm:​prj2023:​ncaroi:​schema_hardware_mini_pian.png?​1000|}}+{{:​pm:​prj2023:​ncaroi:​schema_hardware_mini_pian.png?​800|}}
  
 ===== Software Design ===== ===== Software Design =====
  
 +Mediu de dezvoltare folosit: Arduino IDE 2.1.0
  
-<note tip> +Biblioteci 3rd-party
-Descrierea codului aplicaţiei (firmware)+  * LiquidCrystal_I2C ​(https://www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/)
-  * mediu de dezvoltare ​(if any) (e.gAVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+Implementarea se bazeaza pe folosirea functiilor tone() si noTone() pentru inceperea si oprirea redarii notelor muzicale. 
 +Sunt folosite mai multe variabile de flag pentru tinerea evidentei starii curente (stare de pian - inregistrare/​nu inregistrare,​ stare de redare inregistrare).
  
-<note tip> +Cand este activat modul inregistrare,​ pentru fiecare nota muzicala redata se va retine frecventa, durata notei (milisecunde) si timpul de pauza pana la urmatoare nota (milisecunde),​ acestea fiind scrise in perechi pe cate o linie, separate printr-un spatiu, intr-un fisier.
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+Modul de redare a inregistrarilor este activat/​dezactivat cu un buton si citeste fisierul selectat linie cu linie, redand notele muzicale cu durata si timpul de pauza inregistrate.
  
-===== Download =====+Se pot selecta fisiere folosind butonul de next song. Acesta cicleaza prin toate fisierele disponibile pe cardul SD. Numele fisierului selectat este afisat pe ecranul LCD. Daca nu exista niciun fisier pe cardul SD, se afiseaza "No files."​.
  
-<note warning>​ +Atunci cand se termina de redat o inregistrarese afiseaza ​pe a doua linie a ecranului textul "​finished"​.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ sursescheme, 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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +Fisierele sunt editabile ​pe alte sisteme, deci exista posibilitatea redarii melodiilor din surse externeatata timp cat sunt reprezentate in formatul corect.
-</​note>​+
  
-===== Jurnal =====+Pentru interfatarea cu cardul microSD este folosita biblioteca standard din Arduino SD.h, iar pentru ecranul LCD este folosita biblioteca 3rd-party LiquidCrystal_I2C.h.
  
-<note tip> +===== Concluzii =====
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 +Am reusit sa implementez proiectul exact cum mi-am propus, cu toate functionalitatile planificate la inceput.
 +
 +Exista totusi un bug caruia nu i-am descoperit cauza: atunci cand se reda o inregistrare,​ intre penultima si ultima nota exista un timp de pauza mai mare decat ar trebui. In fisier pare ca timpul de pauza este corect, asa ca bug-ul apare din implementarea redarii undeva.
 +===== Download =====
 +
 +{{:​pm:​prj2023:​ncaroi:​minipiano.zip|}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +[[https://​www.electronicshub.org/​arduino-based-piano/​ | Implementare basic de pian Arduino folosita ca inspiratie]] 
-Listă ​cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**+ 
-</note>+[[https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/​ | Biblioteca LiquidCrystal_I2C pentru interfatarea ​cu ecran-ul LCD]] 
 + 
 +[[https://​lastminuteengineers.com/​i2c-lcd-arduino-tutorial/​ | Ghid pentru interfatarea cu ecran-ul LCD]] 
 + 
 +[[https://​forum.arduino.cc/​t/​read-sd-card-file-and-put-values-into-variables/​644367 | Ghid pentru citirea numerelor intregi din fisiere pe un card SD]]
  
 <​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>​
  
pm/prj2023/ncaroi/mini-piano.1684518642.txt.gz · Last modified: 2023/05/19 20:50 by teodor.juravlea
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