This shows you the differences between two versions of the page.
|
pm:prj2026:ciprian.popescu0411:andrei.chiscaru [2026/05/23 11:59] andrei.chiscaru [Software Design] |
pm:prj2026:ciprian.popescu0411:andrei.chiscaru [2026/05/23 12:20] (current) andrei.chiscaru [Bibliografie/Resurse] |
||
|---|---|---|---|
| Line 130: | Line 130: | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | În urma asamblării hardware și a dezvoltării firmware-ului, proiectul „Harpa Optică” a fost finalizat cu succes, rezultând un instrument muzical embedded autonom, complet funcțional, care nu mai depinde de un PC pentru configurare sau procesare. |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | Rezultatele finale pot fi împărțite pe următoarele direcții principale: |
| + | |||
| + | Răspunsul Senzorilor (Latență minimă): Datorită utilizării citirii ADC în mod multiplexat și a implementării algoritmului de tip Super-Loop fără funcții blocante (fără delay-uri majore), sistemul reacționează instantaneu la interacțiunea utilizatorului. Detecția umbrei peste fotorezistoare declanșează nota muzicală corespunzătoare fără o întârziere perceptibilă auditiv. | ||
| + | |||
| + | Generarea Sunetului (Hardware PWM): Înlocuirea funcțiilor software standard cu manipularea directă a Timer-ului 2 (modul Fast PWM) s-a dovedit un succes. Buzzer-ul pasiv redă clar frecvențele notelor muzicale din cele două game configurate (Do Major și La Minor), având un factor de umplere (Duty Cycle) stabil de 50%, ceea ce asigură o calitate optimă a sunetului fără a încărca procesorul. | ||
| + | |||
| + | Interfața Om-Mașină (HMI): Integrarea ecranului TFT ST7735 pe interfața hardware SPI a permis crearea unui meniu de configurare fluid. Utilizatorul poate modifica în timp real parametri critici ai sistemului, precum: | ||
| + | Gama muzicală activă. | ||
| + | Sensibilitatea (pragul ADC) fotorezistoarelor, permițând calibrarea instantanee a harpei indiferent de lumina ambientală din cameră. | ||
| + | Activarea/dezactivarea sunetului (Mute). | ||
| + | |||
| + | Feedback Vizual Dinamic: Pe lângă meniul text, sistemul este capabil să redea pe ecran un grafic tip histogramă (bare verticale) care ilustrează în timp real valoarea analogică citită de pe fiecare coardă. Această vizualizare a fost obținută fără a compromite viteza de generare a sunetului. | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | Proiectul își atinge pe deplin scopul propus, demonstrând capabilitățile microcontrolerului ATmega328P de a gestiona simultan achiziție de date analogice, semnale de control digital (butoane), generare de semnale PWM și comunicare SPI rapidă, toate orchestrate de un firmware stabil și modular. | ||
| ===== Download ===== | ===== Download ===== | ||
| - | <note warning> | ||
| - | 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**. | ||
| - | </note> | ||
| + | {{:pm:prj2026:ciprian.popescu0411:chiscaru_andrei_332cb_proiect.zip|}} | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | <note tip> | + | Faza de cercetare și achiziție componente |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| + | Stabilirea temei „Harpa Optică” și validarea ideii cu asistentul de laborator. | ||
| + | |||
| + | Achiziționarea componentelor (Placa Xplained Mini, 4x LDR, display ST7735, buzzer, butoane). | ||
| + | |||
| + | Realizarea primului montaj de test pe breadboard pentru divizoarele de tensiune aferente fotorezistoarelor. | ||
| + | |||
| + | Implementarea citirii ADC și a sunetului de bază | ||
| + | |||
| + | Scrierea codului pentru citirea multiplexată a pinilor analogici (A0-A3). | ||
| + | |||
| + | Conectarea buzzer-ului pasiv și testarea inițială folosind funcția standard tone(). | ||
| + | |||
| + | Problemă întâmpinată: Latență la schimbarea notelor. Soluție: Trecerea de la delay-uri software la o citire rapidă în buclă (Super-Loop). | ||
| + | |||
| + | Integrarea display-ului ST7735 (SPI) | ||
| + | |||
| + | Conectarea ecranului TFT la pinii SPI hardware (PB2-PB5). | ||
| + | |||
| + | Problemă întâmpinată: Ecranul rămânea alb sau pâlpâia. | ||
| + | |||
| + | Soluție: Analiza schemei electrice a ecranului a relevat prezența unui regulator LDO (U4), permițând alimentarea sigură la 5V. S-au reverificat lipiturile firelor de semnal pentru a asigura un contact ferm, rezolvând blocajul de inițializare. | ||
| + | |||
| + | Adăugarea interfeței de control (Butoane) | ||
| + | |||
| + | Montarea celor 3 butoane tactile pe pinii PD2, PD3, PD4 folosind rezistențele interne de pull-up. | ||
| + | |||
| + | Problemă întâmpinată: Butoanele citeau constant LOW sau HIGH fără a schimba starea la apăsare. | ||
| + | |||
| + | Soluție: Reconfigurarea hardware a butoanelor folosind „regula diagonalei” pe breadboard pentru a asigura închiderea corectă a circuitului către GND. | ||
| + | |||
| + | Dezvoltarea mașinii de stări (FSM) pentru meniul grafic (Schimbare Gamă, Setare Sensibilitate, Mute, Vizualizare bare analogice). | ||
| + | |||
| + | Optimizare avansată (Hardware PWM) și finalizare | ||
| + | |||
| + | La recomandarea laborantului, funcția blocantă tone() a fost complet eliminată. | ||
| + | |||
| + | Implementarea funcției customTone() prin configurarea directă a Timer-ului 2 în modul Fast PWM (Mode 7) pe pinul OC2B (D3). | ||
| + | |||
| + | Testarea finală a întregului sistem, calibrarea valorilor de sensibilitate la lumina ambientală, redactarea documentației hardware/software și generarea arhivei finale. | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | <note> | + | Pentru proiectarea hardware-ului și dezvoltarea firmware-ului la nivel de regiștri, au fost consultate următoarele documentații tehnice oficiale și manuale de utilizare: |
| - | Pentru a respecta cerințele stricte legate de plagiat și surse, adaugă următoarele link-uri oficiale: | + | |
| + | Microchip Technology, ATmega328P Datasheet | ||
| + | |||
| + | Scop: Înțelegerea arhitecturii interne, configurarea regiștrilor ADC pentru citirea multiplexată, setarea interfeței hardware SPI și manipularea Timer-ului 2 pentru generarea semnalului Fast PWM (Hardware PWM). | ||
| + | |||
| + | Sitronix, ST7735 Color TFT Controller Datasheet | ||
| - | 1. Microchip Technology, ATmega328P Datasheet - pentru configurarea regiștrilor ADC, SPI, Timere și PWM. | + | Scop: Consultat pentru secvențele de inițializare, formatul pachetelor de date pe magistrala SPI și înțelegerea setului de comenzi necesar pentru randarea grafică pe display. |
| - | 2. Sitronix, ST7735 Color TFT Controller Datasheet - pentru secvențele de inițializare și comenzi SPI. | + | Microchip Technology, ATmega328P Xplained Mini Hardware User Guide |
| - | 3. Microchip Technology, ATmega328P Xplained Mini Hardware User Guide - pentru pinout-ul și capabilitățile plăcii de dezvoltare. | + | Scop: Identificarea corectă a pinout-ului fizic (porturile PB, PC, PD) și a capabilităților de alimentare/conectare ale plăcii de dezvoltare pentru integrarea componentelor externe. |
| - | 4. Documentație tehnică senzori fotorezistivi (LDR GL5528) - pentru curba de răspuns la lumină și calculul divizorului de tensiune. | + | Datasheet Senzori Fotorezistivi (LDR GL5528) |
| - | </note> | + | Scop: Analiza curbei de răspuns la lumină (rezistență în funcție de lux) necesară pentru dimensionarea corectă a rezistoarelor fixe (10kΩ) și calculul matematic al divizoarelor de tensiune. |
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||