Veronica-Mihaela VELCIU - Player WAV

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul va avea urmatoarele functionalitati:

  • redarea de muzica in format WAV de pe un card SD
  • afisarea melodiei curente pe un display LCD
  • schimbarea melodiilor prin intermediul QTouch-ului

Descriere generală

Hardware Design

Lista de piese:

  • Buzzer mufa Jack
  • soclu card SD
  • LCD 16×2 HD44780
  • 3 rezistente 3K3 si 3 rezistente 1K8 pentru soclul SD
  • 4 condensatori 27pF si 4 rezistente 1K pentru QTouch
  • 1 condensator 10u si un regulator BA033 doua diode si o rezistenta

Initial, am folosit un Buzzer, insa am realizat ca se aude mult prea incet, asa ca m-am hotarat sa il inlocuiesc cu o mufa Jack. Aceasta este conectata la fel cu Buzzer-ul din schema. De asemenea, intrucat nu am gasit regulator BA033, l-am inlocuit cu doua diode si o rezistenta.

Software Design

  • Mediu de dezvoltare: AtmelStudio, folosind extensia QTouchComposer
  • Biblioteci: lcd.h (din laboratorul 4, cu modificari asupra pinilor), sd.h, pff.h, diskio.h (din laboratorul 4, pentru interfata cu cardul SD), touch.h (generata automat de QTouchComposer; am pornit de la cea data drept exemplu, ajustand sensibilitatea si altele)
  • Implementare: pentru ascultarea de muzica WAV am folosit codul din laboratorul 4, dar am folosit TIMER2 in loc de TIMER0 (acesta este folosit de QTouch); in cadrul codului de tratare a intreruperii verific senzorii QTouch-ului si salvez starea acestora, pentru a putea determina actiunile ce vor fi luate in cadrul main-ului (oprire melodie / pornire melodie urmatoare / pornire melodie anterioara)
  • Am adaugat urmatoarele functii notabile (wrapper-e peste functia “play” din cadrul laboratorului): play_next(), play_prev()
  • Am scris codul in asa fel incat melodiile ce vor fi ascultate trebuie sa se afle in directorul principal al cardului SD

Rezultate Obţinute

Proiectul este functional, trecand peste faptul ca nu intotdeauna sunt interpretate actiunile facute asupra QTouch-ului (nu imi dau seama daca problema este una legata de sensibilitatea acestuia sau de configurarile facute de mine prin QTouchComposer). Practic, player-ul este controlat in felul urmator:

  • o zona a rotorului folosita pentru a trece la urmatoarea melodie
  • o zona a rotorului folosita pentru a reveni la melodia precedenta
  • o zona a rotorului folosita pentru a opri melodia curenta

LCD-ul afiseaza melodia curenta si starea acesteia (oprita, in rulare etc.).

Concluzii

Proiectul a fost foarte interesant, insa este posibil sa te izbesti de mai multe probleme pe parcursul lui (nu gasesti componente, iti dai seama ca nu ai luat in calcul anumite lucruri). Cel mai important a fost faptul ca mi-am dorit sa il duc la capat pentru ca mi se pare foarte tare sa ai un device facut cu mana ta :)

De asemenea, in cazul in care doriti sa folositi QTouch-ul, sa nu va bazati foarte tare pe el, pentru ca este posibil sa va mai dea date eronate.

Un lucru foarte important mai este sa te apuci si de cod din timp (eu nu am facut asta), intrucat iti poti da seama ca nu stii exact cum se folosesc anumite componente si ca au un Datasheet mult prea mare ca sa cauti ceva prin el.

Download

Jurnal

Bibliografie/Resurse

Resurse Software:

pm/prj2014/amusat/mp3player.txt · Last modified: 2021/04/14 17:07 (external edit)
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