Table of Contents

Cristian-Ionuţ NANCU (78267) - ATmegaPlay

Autorul poate fi contactat la adresa: Login pentru adresa

ATmegaPlay Logo

Introducere

Proiectul reprezintă realizarea unui player muzical care poate fi controlat cu gesturile mâinii. Principiul de funcționare:

Gesturi suportate:

  1. Swipe right - Play next track
  2. Swipe left - Play previous track
  3. Swipe up - Volume UP
  4. Swipe down - Volume DOWN
  5. Departarea mainii de senzor - Resume
  6. Apropierea mainii de senzor - Pause

Consider că acest proiect nu este doar cool, ci şi util pentru împătimiţii de muzică a căror activitate presupune 'să se murdărească pe mâini'.

Descriere generală

Schemă bloc ATmegaPlay

Partea hardware presupune un circuit al cărui nucleu este reprezentat de un microcontroller ATmega324. Împreună cu acesta, voi folosi senzorul de gesturi APDS-9960 şi modulul MP3 DFPlayer împreună cu 2 difuzoare de 1W pentru redarea melodiilor. Pe cardul microSD se vor afla melodiile redate.

Îmi propun să folosesc pinul INT al APDS-9960 pentru a genera întreruperi la detectarea gesturilor şi a pune sistemul într-o stare de sleep în rest. De asemenea, îmi voi implementa propriile biblioteci folosite în comunicarea cu senzorul de gesturi APDS-9960, respectiv cu modulul MP3 DFPlayer Mini.

Hardware Design

Listă de componente:

Schema electrică:

Schema electrică in format .sch: atmegaplay_electrical_scheme_final.sch

Software Design

Mediu de dezvoltare:

Detalii implementare:

Rezultate Obţinute

În urma realizării acestui proiect, am obţinut un device drăguţ controlabil prin intermediul gesturilor prinse de senzorul APDS-9960. Câteva fotografii si videoclipuri demonstrative pot fi observate în cele ce urmează:

ATmegaPlay rezultat hardware

ATmegaPlay rezultat final

Video YouTube pentru demonstrarea funcţionalităţii:

Concluzii

Trecând peste câteva frustrări, proiectul a fost unul foarte interesant, iar rezultatul merită efortul. Lucrând la acest proiect, mi-am îmbunătăţit cunoştinţele de electronică, proiectare, programare cu microprocesoare.

Citirea datelor de la senzorul de gesturi APDS-9960 (în special partea de întreruperi) a fost foarte complicată. Pentru acest senzor nu prea se găsesc biblioteci C. Eu am găsit, cum am menţionat mai sus, un proiect pe GitHub care era scris în C, dar care era scris pentru alt tip de microcontroller decât ATmega. Iniţial, plănuiam să scriu biblioteca pentru senzorul de gesturi de la zero, dar am realizat rapid că acest lucru ar fi fost mult prea hardcore.

Faptul că nu a mai lucrat niciun fost student cu piesele pe care le-am folosit la acest proiect a crescut considerabil dificultatea proiectului (nu există pe această platformă proiecte care să folosească DFPlayer mini şi APDS-9960).

Debugging-ul cu leduri merită şi el o menţiune specială.

Download

Bibliografie/Resurse

Resurse software:

Resurse hardware: