This shows you the differences between two versions of the page.
pm:prj2021:apredescu:audioplayer [2021/06/04 17:13] cristiana.anghel99 [Bibliografie/resurse] |
pm:prj2021:apredescu:audioplayer [2021/06/04 22:22] (current) cristiana.anghel99 [Jurnal] |
||
---|---|---|---|
Line 30: | Line 30: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | <note tip>Codul sursă se găsește mai jos în secțiunea Download.</note> | ||
Pentru a programa playerul, am folosit următoarele biblioteci și funcții: | Pentru a programa playerul, am folosit următoarele biblioteci și funcții: | ||
* <SD.h> | * <SD.h> | ||
Line 47: | Line 48: | ||
Programul începe prin redarea primei melodii selectate. După ce o melodie se termină, playerul o va reda pe următoarea. Butoanele funcționează printr-o singură apăsare. De exemplu la prima apăsare a butonului de pauză se va pune pauză, dacă este apăsat iar va pune play. La o singură apăsare a butonului de next/back playerul va trece la următoarea/anterioarea melodie. | Programul începe prin redarea primei melodii selectate. După ce o melodie se termină, playerul o va reda pe următoarea. Butoanele funcționează printr-o singură apăsare. De exemplu la prima apăsare a butonului de pauză se va pune pauză, dacă este apăsat iar va pune play. La o singură apăsare a butonului de next/back playerul va trece la următoarea/anterioarea melodie. | ||
- | Dacă playerul este pe pauză pe o melodie și este apăsat next/back, playerul începe redarea imediată a următoarei/anteriaorei melodii, ieșind de pe starea de pauză. | + | Dacă playerul este pe pauză pe o melodie și este apăsat next/back, playerul începe redarea imediată a următoarei/anterioarei melodii, ieșind de pe starea de pauză. |
Când playerul se află în starea play, pe primul rând al lcd-ului va fi afișat: "Now playing...", iar pe starea pause: " Paused ". | Când playerul se află în starea play, pe primul rând al lcd-ului va fi afișat: "Now playing...", iar pe starea pause: " Paused ". | ||
Line 53: | Line 54: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{:pm:prj2021:apredescu:anghel_cristiana_playing.jpg?nolink&600|}} | ||
- | ===== Concluzii ===== | + | {{:pm:prj2021:apredescu:anghel_cristiana_paused.jpg?nolink&600|}} |
+ | <note>Demo video al proiectului:\\ | ||
+ | [[https://drive.google.com/file/d/1T4CmCLEWcBvFQ-jFhYTFF0-_1b3BKT4G/view?usp=sharing]]</note> | ||
+ | ===== Concluzii ===== | ||
+ | A fost o experiență interesantă să sudez piese(nu credeam că voi face asta vreodată) și să construiesc un proiect atât pe partea hardware cât și pe cea software.\\ | ||
+ | În ciuda problemelor cu piese greșite (SD shield) și conexiunile foarte sensibile care m-au încurcat la testare, m-am bucurat de proiectul obținut.\\ | ||
+ | Cel mai mult mi-a plăcut să lucrez cu modulul I2C și LCD-ul cu biblioteca LiquidCrystal_I2C.h. | ||
===== Download ===== | ===== Download ===== | ||
+ | [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/audioplayer?do=export_pdf|Download pdf documentation]] | ||
+ | {{:pm:prj2021:apredescu:anghel_cristiana_cod.txt|Download arduino code}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | 17.05.2021: Dau comanda de piese.(inițial aveam un SD shield)\\ | ||
+ | 18.05.2021: Ajung piesele.\\ | ||
+ | 24.05.2021: Dau comanda de kit pentru sudat.\\ | ||
+ | 26.05.2021: Ajunge kit-ul și sudez modulul I2C la LCD, gnd și power(2 fire tată-tată) la difuzor și pinii la SD shield.\\ | ||
+ | 27.05.2021: Testez piesele și merg toate, înafara de SD shield care recunoaște cardul dar nu și partiția/fișierele.\\ | ||
+ | 28-29.05.2021: Continui sa formatez SD shieldul în diferite moduri și să folosesc diferite biblioteci pentru Arduino SD (ex: SDfat). Fără success.\\ | ||
+ | 02.06.2021: Cumpăr cititor microSD și testez că merge.\\ | ||
+ | 03.06.2021: Programez partea de butoane și logica redării.\\ | ||
+ | 04.06.2021: Realizez schema electrică în Eagle și termin documentația. | ||
===== Bibliografie/resurse ===== | ===== Bibliografie/resurse ===== | ||
+ | Pentru a reda melodiile de pe SD card și pentru a conecta cititorul:\\ | ||
+ | [[https://steemit.com/utopian-io/@kimp0gi/playing-music-in-arduino-using-sd-card-module]] | ||
+ | |||
+ | Pentru a verifica starea de pause/unpause și citirea unei singure apăsări de buton:\\ | ||
+ | [[https://roboticsbackend.com/arduino-turn-led-on-and-off-with-button/]] | ||
+ | Pentru a conecta și afișa cu ajutorul modulului I2C si LCD:\\ | ||
+ | [[https://www.instructables.com/How-to-Connect-I2C-Lcd-Display-to-Arduino-Uno/]] |