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:55]
raul_teodor.bocanu [Download]
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 63: Line 63:
 {{ :​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 |}} {{ :​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]]
  
  
Line 76: Line 80:
 ===== Download ===== ===== Download =====
  
-{{ :​pm:​prj2023:​iotelea:​code.zip |}}+Am atasat codul sursa intr-un fisier .txt: 
 + 
 +{{ :​pm:​prj2023:​iotelea:​musicpad_cod.zip |}}
  
  
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.1685296551.txt.gz · Last modified: 2023/05/28 20:55 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