This shows you the differences between two versions of the page.
pm:prj2025:apredescu:rares.carbunaru [2025/05/14 22:35] rares.carbunaru [Descriere generală] |
pm:prj2025:apredescu:rares.carbunaru [2025/05/28 10:32] (current) rares.carbunaru [Rezultate Obţinute] |
||
---|---|---|---|
Line 43: | Line 43: | ||
{{:pm:prj2025:apredescu:rares.carbunaru_tinkerpad-hardware.png?300|}} | {{:pm:prj2025:apredescu:rares.carbunaru_tinkerpad-hardware.png?300|}} | ||
+ | {{:pm:prj2025:apredescu:rares_carbunaru_schema-electrica.png?600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | ➤ Mediu de dezvoltare: | ||
- | <note tip> | + | Proiectul a fost dezvoltat în Arduino IDE, folosind platforma Arduino UNO. Testarea și încărcarea s-au realizat prin conexiune USB, iar pentru debugging s-a folosit Serial Monitor. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
+ | ➤ Librării și surse 3rd-party utilizate: | ||
+ | • TMRpcm.h – pentru redarea fișierelor .wav de pe cardul SD folosind PWM audio. | ||
+ | • SD.h – pentru comunicarea cu cardul microSD prin interfața SPI. | ||
+ | • SPI.h – necesară pentru comunicația SPI între Arduino și modulul SD. | ||
+ | |||
+ | ➤ Algoritmi și structuri implementate: | ||
+ | • Inițializare SD și detecția fișierelor .wav numerotate secvențial (short2.wav – short6.wav). | ||
+ | • Redare audio secvențială: aplicația redă automat fiecare fișier pe rând, trecând la următorul doar după ce s-a terminat cel precedent. | ||
+ | • Control volum cu potențiometru: semnalul analogic de la potențiometrul conectat la A0 este citit periodic și mapat pe intervalul 0–4 pentru a seta volumul audio. | ||
+ | • Afișare vizuală a volumului prin LED-uri: 3 LED-uri conectate la D6, D7, D8 se aprind progresiv în funcție de valoarea citită de pe potențiometru. | ||
+ | • Comandă de tip skip prin serial: apăsarea tastei s în Serial Monitor oprește melodia curentă și trece la următoarea. | ||
+ | |||
+ | ➤ Surse și funcții implementate: | ||
+ | |||
+ | Fișierul principal Arduino (.ino) conține următoarele funcții și secțiuni: | ||
+ | • setup(): | ||
+ | • Inițializarea pinii pentru LED-uri. | ||
+ | • Inițializarea cardului SD și verificarea fișierelor. | ||
+ | • Setarea inițială a volumului și pornirea primei melodii. | ||
+ | • loop(): | ||
+ | • Verifică dacă s-a apăsat s pentru a sări la următoarea melodie. | ||
+ | • La finalul unei melodii, încarcă automat următorul fișier .wav. | ||
+ | • La fiecare 100 ms: | ||
+ | • Actualizează volumul audio în funcție de poziția potențiometrului. | ||
+ | • Aprinde LED-urile corespunzător pragurilor (ex: peste 200, 400, 600). | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Proiectul a fost finalizat cu succes, atingând toate obiectivele propuse: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | • Redare audio funcțională direct de pe cardul SD, folosind fișiere .wav în format compatibil (8-bit, mono, 16 kHz), prin modulul TMRpcm. |
- | </note> | + | • Control dinamic al volumului printr-un potențiometru conectat la pinul A0, cu reglare în timp real a intensității sunetului în intervalul 0–4. |
+ | • Indicație vizuală a volumului prin aprinderea progresivă a 3 LED-uri în funcție de poziția potențiometrului. | ||
+ | • Redare secvențială a fișierelor audio (short2.wav până la short6.wav), automatizat fără intervenție manuală. | ||
+ | • Funcție de skip implementată prin Serial Monitor (comanda s), pentru a trece la următorul track si funcție de back (comanda b). | ||
===== Concluzii ===== | ===== Concluzii ===== |