Differences

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

Link to this comparison view

pm:prj2023:iotelea:musicpad [2023/05/28 20:38]
raul_teodor.bocanu [Rezultate Obţinute]
pm:prj2023:iotelea:musicpad [2023/05/29 20:10] (current)
raul_teodor.bocanu [Rezultate Obţinute]
Line 51: Line 51:
 De asemenea, am setat un timer folosind registrii. Timer-ul este pornit prin apelarea functiei **startTimer()**,​ functie apelata odata ce unul din cele sase butoane este apasat, si aprinde LED-ul verde care, cat timp este aprins, permite redarea celor sase sound-uri. Odata ce timpul a expirat (18 secunde), se va aprinde LED-ul rosu timp de 5 secunde. Aprinderea LED-ului rosu permite redarea/​resetarea secventei, sau, in cazul in care nu se doreste niciuna din cele doua optiuni, dupa ce acesta se stinge, se poate relua mixing-ul sound-urilor care va deschide un nou ciclu, pornind un nou timer. Timer-ul se foloseste de o intrerupere in care se intra odata la 0.5 secunde, asa ca am contorizat numarul de intrari in intrerupere pentru a putea verifica timpii doriti. De asemenea, am setat un timer folosind registrii. Timer-ul este pornit prin apelarea functiei **startTimer()**,​ functie apelata odata ce unul din cele sase butoane este apasat, si aprinde LED-ul verde care, cat timp este aprins, permite redarea celor sase sound-uri. Odata ce timpul a expirat (18 secunde), se va aprinde LED-ul rosu timp de 5 secunde. Aprinderea LED-ului rosu permite redarea/​resetarea secventei, sau, in cazul in care nu se doreste niciuna din cele doua optiuni, dupa ce acesta se stinge, se poate relua mixing-ul sound-urilor care va deschide un nou ciclu, pornind un nou timer. Timer-ul se foloseste de o intrerupere in care se intra odata la 0.5 secunde, asa ca am contorizat numarul de intrari in intrerupere pentru a putea verifica timpii doriti.
  
-In functia **setup()**,​ declar modul de folosire al piniilor (INPUT/​OUTPUT),​ pornesc interfata seriala si LCD-ul, afisand un mesaj de inceput. In plus, se apeleaza trei functii auxiliare de setup pentru setarea registrilor corespunzatori intreruperilor si timer-ului si calculul specific fiecarui sound, mentionat la inceputul sectiunii. Pentru LCD am folosit libraria **LiquidCrystal_I2C.h**.+In functia **setup()**,​ declar modul de folosire al piniilor (INPUT/​OUTPUT),​ pornesc interfata seriala si LCD-ul, afisand un mesaj de inceput. In plus, se apeleaza trei functii auxiliare de setup pentru setarea registrilor corespunzatori intreruperilor si timer-ului si calculul specific fiecarui sound, mentionat la inceputul sectiunii. Pentru LCD am folosit libraria **LiquidCrystal_I2C.h**, astfel comunicand I2C cu acesta.
  
 In functia **loop()**, verific care dintre cele trei functionalitati a fost folosita: "​Play",​ "​Reset",​ sau unul din cele 6 butoane pentru sound-uri. In functia **loop()**, verific care dintre cele trei functionalitati a fost folosita: "​Play",​ "​Reset",​ sau unul din cele 6 butoane pentru sound-uri.
Line 61: Line 61:
 La final, am reusit sa creez un Music Pad minimalist si perfect functional, fiind usor de folosit si totodata fun si relaxant. La final, am reusit sa creez un Music Pad minimalist si perfect functional, fiind usor de folosit si totodata fun si relaxant.
  
-{{:​pm:​prj2023:​iotelea:​musicpad_ex1.jpg?​400 |}}+{{ :​pm:​prj2023:​iotelea:​musicpad_ex1.jpg?​400 |}} {{ :​pm:​prj2023:​iotelea:​musicpad_ex2.jpg?​400 |}} {{ :​pm:​prj2023:​iotelea:​musicpad_ex3.jpg?​400 |}} {{ :​pm:​prj2023:​iotelea:​musicpad_ex4.jpg?​400 |}} 
 + 
 + 
 + ​[[https://​drive.google.com/​file/​d/​14OhikOYIM5vypfy0tHz2h-RwUwbI8oyG/​view|Demo1]] 
 + 
 + ​[[https://​drive.google.com/​file/​d/​1H-B3WkImNg7Ag_2iyvDFiP4P9MbvkPZs/​view|Demo2]] 
 + 
  
-{{:​pm:​prj2023:​iotelea:​musicpad_ex2.jpg?​300 |}} 
  
-{{:​pm:​prj2023:​iotelea:​musicpad_ex3.jpg?​300 |}} 
  
-{{:​pm:​prj2023:​iotelea:​musicpad_ex4.jpg?​300 |}} 
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +Realizare proiectului nu a fost o munca usoara neaparat, lovindu-ma de multe probleme care m-au adus des in pragul in care sa vrea sa renunt la tot. Cu toatea acestea, de fiecare data cand am reusit sa implementez o functionalitate,​ ma bucura maxim sa vad un efect imediat, un efect tangibil, realizat de mine. Acest proiect mi-a dovedit ca pot sa dobor niste bariera pe care mi le-am pus initial, neasteptandu-ma sa duc totul la capat.
 +
 +Acest tip de proiect este primul, si probabil ultimul, din cadrul facultatii si s-a dovedit a fi o experienta foarte placuta, care m-a ajutat sa inteleg anumite aspecte, sa vad ce inseamna lucrul practic, fiind obisnuiti in general cu experiente mult mai putin palpinante, si nu in ultimul rand, sa ma distrez.
 ===== Download ===== ===== Download =====
  
-<note warning> +Am atasat codul sursa intr-un fisier .txt: 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+ 
 +{{ :pm:​prj2023:​iotelea:​musicpad_cod.zip |}}
  
-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>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 83: Line 89:
     *18.05.2023:​ Am adăugat partea de Hardware Design si am conectat toate componentele fizice     *18.05.2023:​ Am adăugat partea de Hardware Design si am conectat toate componentele fizice
     *20.05.2023:​ Am realizat testarea componentelor si cateva functionalitati de baza pentru proiect     *20.05.2023:​ Am realizat testarea componentelor si cateva functionalitati de baza pentru proiect
 +    *23.05.2023:​ Am implementat redarea sunetelor prin butoane si functiile de Play si Reset
 +    *26.05.2023:​ Am terminat implementarea Software a proiectului si am finisat pagina OCW
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2023|Lab PM 2]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023|Lab PM 3]] 
-</note>+  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2022|Lab PM 6]] 
 +  ​[[https://​www.youtube.com/​watch?​v=MeWgnt0YLj8|Exemplu conectare mai multe butoane la acelasi pin]] 
 +  ​[[https://​github.com/​robsoncouto/​arduino-songs|Arduino Songs]] 
 +  * [[https://​chat.openai.com/​|ChatGPT pentru a genera sound-urile ca note]] 
 +  * {{ :​pm:​prj2023:​iotelea:​music_pad-1.pdf |}} 
 + 
 + 
  
 <​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/iotelea/musicpad.1685295486.txt.gz · Last modified: 2023/05/28 20:38 by raul_teodor.bocanu
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