This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:audioplayer [2021/06/04 17:14] cristiana.anghel99 [Software Design] |
pm:prj2021:apredescu:audioplayer [2021/06/04 22:22] (current) cristiana.anghel99 [Jurnal] |
||
|---|---|---|---|
| Line 30: | Line 30: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | Codul sursă se găsește mai jos în secțiunea Download. | + | <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 48: | 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 54: | 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]] | + | [[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/]] | ||