Differences

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

Link to this comparison view

pm:prj2021:abasoc:lightsmusical [2021/06/01 18:44]
miruna.orzata [Rezultate Obținute]
pm:prj2021:abasoc:lightsmusical [2021/06/01 21:06] (current)
miruna.orzata [Comentarii]
Line 20: Line 20:
 ^Componente ​  ​^Numar ​  ^ ^Componente ​  ​^Numar ​  ^
 |Arduino Uno   ​|1 ​     | |Arduino Uno   ​|1 ​     |
-|Difuzor ​  ​|1 ​     |+|Difuzor ​SparkFun 0.5W   ​|1 ​     | 
 +|Amplificator lm386   |1      |
 |Modul card SD   ​|1 ​      | |Modul card SD   ​|1 ​      |
 |Card SD   ​|1 ​      | |Card SD   ​|1 ​      |
-|Led RGB |     | +|Led RGB |     | 
-|Rezistente 1k   |     |+|Rezistente 1k   |     |
 |Breadboard ​  ​|1 ​      | |Breadboard ​  ​|1 ​      |
 |Butoane ​  ​|2 ​      | |Butoane ​  ​|2 ​      |
-|Ecran LCD   |1       | +|Ecran LCD cu interfata I2C  ​|1       |
-|Potentiometru ​  |1       |+
 |Fire tata-tata ​ |30      | |Fire tata-tata ​ |30      |
-|Condensator ​    |      |+|Fire mama-tata ​ |13      | 
 +|Condensator ​    |      |
 \\ \\
 **Schema cablaj:** \\ **Schema cablaj:** \\
Line 39: Line 40:
  
 \\ \\
-^__Librariile necesare:__ ^ +^__Bibliotecile folosite:__ ^ 
-|-> #​include ​"SD.h" ​|+|-> #​include ​<SD.h|
 |-> #include <​LiquidCrystal_I2C.h>​ | |-> #include <​LiquidCrystal_I2C.h>​ |
-|-> #​include ​"SPI.h" ​|+|-> #​include ​<SPI.h|
  
 \\ \\
Line 317: Line 318:
  
 \\ \\
 +====== Comentarii ======
 +Ideea initiala a proiectului a fost de a reda melodii .wav de pe un card SD
 +si de adauga un fundal luminos pentru a armoniza culorile si notele muzicale,
 +iar display-ul LCD trebuia sa afiseze informatii despre melodia curenta.
  
 +Din motive necunoscute,​ prin intermediul bibliotecii TMRpcm, nu am reusit sa redau
 +fisierele .wav de pe cardul SD.
 +
 +Din aceasta cauza, am ales sa stochez pe card mai multe fisiere .txt cu note pentru
 +fiecare melodie in parte, ca apoi sa citesc notele dintr-un anumit fisier intr-un
 +vector si sa le redau cu ajutorul functiei "​note"​ din Arduino IDE.
 +
 +Cu ajutorul primului buton se poate schimba melodia curenta, iar cel
 +de-al doilea buton are rolul de a porni si de a opri animatia led-urilor.
 +In timpul animatiei luminoase, toate cele 3 led-uri isi schimba culorile in functie
 +de nota redata curent de difuzor.
 +
 +De asemenea, am incercat sa ameliorez debouncing-ul provocat de contactele
 +imperfecte din structura interna a butonului prin adaugarea unui condensator
 +in serie cu fiecare buton. Nu a functionat dupa cum ma asteptam, dar,
 +in general, apare o singura intrerupere externa atunci cand apas pe buton.
 +
 +In plus, din cauza spatiului de stocare limitat prezent pe placuta Arduino,
 +am fost nevoita sa inregistrez varianta proiectului in care nu folosesc
 +display-ul LCD, deoarece componentele nu mai functionau cum trebuie la adaugarea
 +bibliotecii "​LiquidCrystal_I2C"​. Bineinteles,​ am incercat sa reduc foarte mult
 +memoria consumata in program prin micsorarea vectorului de note, dar tot am
 +intampinat erori de performanta.
 +
 +In arhiva se poate gasi si varianta codului cu biblioteca pentru LCD in caz
 +ca se doreste implementarea proiectului pe o placuta de dezvoltare cu o capacitate
 +de memorie mai mare. Tin sa mentionez ca aceasta versiune functioneaza,​ dar
 +sunetul pare deteriorat, in sensul ca se aude ca si cum se sar anumite note
 +sau se redau uneori alte note decat cele originale.
 +
 +Din punct de vedere hardware, versiunea finala a proiectului a suferit cateva
 +modificari, deoarece am avut nevoie de a economisi cativa pini pentru inca 2
 +led-uri RGB si a trebuit sa aleg un LCD cu interfata I2C, in loc de unul obisnuit.
 +Pe langa aceste modificari, am mai avut nevoie de un amplificator lm386 pentru un
 +speaker SparkFun de 0.5W.
  
 ====== Rezultate Obținute ====== ====== Rezultate Obținute ======
 La acest link se afla un scurt videoclip demonstrativ cu intreaga functionalitate a proiectului:​ https://​www.youtube.com/​watch?​v=sQiFtnPFtMM La acest link se afla un scurt videoclip demonstrativ cu intreaga functionalitate a proiectului:​ https://​www.youtube.com/​watch?​v=sQiFtnPFtMM
  
-{{ :​pm:​prj2021:​abasoc:​poza1.jpeg?​800 }} \\ +{{ :​pm:​prj2021:​abasoc:​poza1.jpeg?​1000 }} \\ 
-{{ :​pm:​prj2021:​abasoc:​poza3.jpeg?​800 }} \\ +{{ :​pm:​prj2021:​abasoc:​poza3.jpeg?​1000 }} \\ 
-{{ :​pm:​prj2021:​abasoc:​poza8.jpeg?​800 }} \\ +{{ :​pm:​prj2021:​abasoc:​poza8.jpeg?​1000 }} \\ 
-{{ :​pm:​prj2021:​abasoc:​poza9.jpeg?​800 }} \\ +{{ :​pm:​prj2021:​abasoc:​poza9.jpeg?​1000 }} \\ 
-{{ :​pm:​prj2021:​abasoc:​poza10.jpeg?​800 }} \\ +{{ :​pm:​prj2021:​abasoc:​poza10.jpeg?​1000 }} \\ 
-{{ :​pm:​prj2021:​abasoc:​poza11.jpeg?​800 }} \\+{{ :​pm:​prj2021:​abasoc:​poza11.jpeg?​1000 }} \\
 ====== Concluzii ====== ====== Concluzii ======
-TODO+Cu toate ca am intampinat mai multe probleme tehnice pe parcursul implementarii proiectului,​ intr-un final am ajuns la un rezultat interesant. Mi-a facut placere sa experimentez anumite functionalitati,​ sa ma documentez din tutoriale si sa pun in aplicare notiunile studiate la laborator.
  
 ====== Download ====== ====== Download ======
-Link pagina: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​abasoc/​lightsmusical+Link pagina: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​abasoc/​lightsmusical ​\\ 
 +Arhiva proiect: 
 +{{ :​pm:​prj2021:​abasoc:​proiect_pm.zip?​}} \\ 
 +Pdf pagina: {{ :​pm:​prj2021:​abasoc:​lights_musical.pdf?​}} \\
  
 ====== Jurnal ====== ====== Jurnal ======
-TODO \\+27 Aprilie -> alegerea temei pentru proiect \\ 
 +1 Mai -> realizarea diagramei bloc si a schemei cablaj \\  
 +3 Mai ->  comandarea pieselor necesare \\ 
 +7 Mai -> cablarea fizica a componentelor \\ 
 +23 Mai -> implementarea software \\ 
 +1 Iunie -> finalizare proiect ​\\
  
 ====== Bibliografie/​Resurse ====== ====== Bibliografie/​Resurse ======
pm/prj2021/abasoc/lightsmusical.1622562274.txt.gz · Last modified: 2021/06/01 18:44 by miruna.orzata
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