MP3 Player

Introducere

Proiectul consta într-un mic music player, care desigur nu va fi niciodată utilizat ca un un fir tras puțin mai tare va duce la finalizarea prematură a vieții acestui mp3 player. Totuși, pe butoane putem reda melodia anterioară, următoarea melodie, aceasta se va afișa pe ecranul LCD de 1.8’ (foarte mic, stiu :(, dar restul erau out of stock, pe o perioada nedefinită aparent), se va citi cantecul de pe un card SD și se va reda la un difuzor. Butoanele de up și down joacă rolul de volume down și volume up.

Ideea de la care am pornit a fost mai mult o amintire, mai bine spus, o copilărie întreaga de care mi-am readus aminte în perioada alegerii temei proiectului. Mi-am adus aminte de un desen numit “Să-nceapă aventura!”, iar în acel numit era acest mic personaj numit BMO, care era un fel de consola de jocuri. Eu m-am gândit că aș putea să modific design-ul carcasei lui și să încerc să fac un MP3 player destul de drăguț, în momentul scrierii acestei documentații încă încerc să fac modelul 3d în Fusion 360 după 2 zile de iterații de versiuni de carcase, dar sper ca până la deadline să fie gata.

Clar nu este cel mai optim MP3 player din lume, cel mai performant, care se aude cel mai bine și care este foarte portabil, dar este facut de mine, și este munca mea personală, este rezultatul numeroaselor zile și nopți petrecute pentru a obține ceea ce mi-am propus, și doar pentru asta a meritat tot efortul depus. Pentru alte persoane care vor să îl folosească, este un element foarte draguț de a-l avea prin preajmă pentru că poate fi ușor pus ca decoratiune pe birou și sa iti pui melodiile tale preferate, redate de o mica cutiuta cu un design dragut fare reclame.

Descriere generală

Scopul proiectului a fost de a reduce timpul petrecut pe telefon, iar melodiile încărcate pe microSD vor putea fi ascultate neîntrerupt fără reclame la adidasi, fără a plăti provideri de servicii externe (Apple Music, Youtube music) + arată mișto.

Hardware Design

Mai jos voi atașa schema electrică a proiectului:

Lista piese:

  • ESP32
  • LCD ST7735
  • DFPlayerMini
  • Speaker 4ohm, 5W
  • 6 butoane
  • LED 5mm verde
  • LED 5mm rosu
  • fire
  • jumpere
  • 2xbreadboard
  • card microSD

Software Design

Mediul de dezvoltare: Folosit a fost VSCode, cu extensia PlatformIO. Am încercat să folosesc și IDE-ul de la arduino, dar am vrut să fac proiectul cât mai code clean posibil așa că singura variantă a fost sa migrez pe VSCode (chiar mai bine pentru ca sunt obișnuit cu editorul) și am împărțit clasa principală în mai multe submodule.

Biblioteci folosite: HomeSpan - pentru conectarea cu sistemul iOS și controlul cu Siri Adafruit_ST7735 - pentru afișajul pe display-ul LCD DFRobotDFPlayerMini - pentru citire și decodarea melodiilor de pe modulul DFPlayerMini

Implementare Cardul de memorie contine Mai jos voi explica bucățile de cod folosite în realizare proiectului:

Puteti gasi codul pe github https://github.com/Cipppp/MP3-player

Rezultate Obţinute

4 mai update [1]

Concluzii

A fost un proiect interesant și fun de lucrat. Au fost extrem de multe batai de cap, mai ales cum interacționează acestea componente hardware cu anumite biblioteci. Câteva dificultăți au fost în momentul în care am încercat sa caut un difuzor pentru proiect, aveam cateva buzzere mici dar se auzeau foarte incet, așa ca am fost nevoit sa desfac o boxa pe care nu o mai foloseam și să-i iau speaker-ul. Overall mi-a plăcut să lucrez la proiect, a fost foarte fun să pun mâna să fac ceva și chiar să iasă.

Posibile dezvoltări viitoare

  • As adaugă un ecran LCD mai mare și as adauga mai multe functionalitati de afișare a animatiei
  • As adauga și modul radio pentru a fi și mai interesant de utilizat
  • Adaugarea unui amplificator pentru speaker, pentru redarea unui sunet mai bun
  • O carcasa pentru mp3-player mai interactiva
  • Teste unitare pentru partea de software
  • Schimbarea unei benzi RGB în funcție de melodia redată
  • Un mufă jack 3.5mm pentru căști

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

  • Am dat de comanda de piese în data de 14 aprilie
  • Piesele au ajuns în data de 22 aprilie
  • După 2 zile am ars un DFPlayerMini pentru ca am conectat din greșeală GND la VCC
  • Am fost fizic la magazin și am cumpărat a doua zi alt modul
  • În data de 28 aprilie tot proiectul era aproximativ gata (doar că erau fire super haotic aranjate așa că m-am gândit să-l aranjez
  • Am stat o zi întreagă următoarea zi să pun jumpere în loc de fire normale, doar ca mai apoi să ard iarăși modulul DFPlayerMini (același motiv ca prima dată, iar, am conectat VCC la GND), am dat comanda de încă 2 să fiu sigur ca am unul de rezervă, după care am uitat de proiect pentru aproximativ 3 zile
  • În data de 2 mai am început să fac design-ul 3D pentru carcasă, și de atunci încă fac iterații la el (durează cam 2 ore să vad daca o varianta de model este potrivită pentru proiect)

Bibliografie/Resurse

pm/prj2024/vstoica/ciprian.pirvu.txt · Last modified: 2024/05/27 22:56 by ciprian.pirvu
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