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:58]
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 75: Line 79:
 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. 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 =====
 +
 +Am atasat codul sursa intr-un fisier .txt:
  
 {{ :​pm:​prj2023:​iotelea:​musicpad_cod.zip |}} {{ :​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.1685296685.txt.gz · Last modified: 2023/05/28 20:58 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