Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:ciprian.popescu0411:andrei.burlacu0807 [2026/05/06 13:32]
andrei.burlacu0807 [Hardware Design]
pm:prj2026:ciprian.popescu0411:andrei.burlacu0807 [2026/05/15 14:48] (current)
andrei.burlacu0807 [Jurnal]
Line 9: Line 9:
  
 **De ce este util:** Sistemul este util pentru aplicații educaționale și experimente practice (ex. măsurarea vitezei mașinilor de jucărie, a roboților sau a persoanelor care aleargă), demonstrând concepte fizice într-un mod interactiv. **De ce este util:** Sistemul este util pentru aplicații educaționale și experimente practice (ex. măsurarea vitezei mașinilor de jucărie, a roboților sau a persoanelor care aleargă), demonstrând concepte fizice într-un mod interactiv.
 +
 ===== Descriere generală ===== ===== Descriere generală =====
 Sistemul funcționează pe principiul măsurării succesive a distanței față de un obiect. Folosind timer-ul intern al microcontrolerului,​ se măsoară cu precizie intervalul de timp dintre două măsurători consecutive de distanță furnizate de senzorul VL53L1X. Viteza este apoi calculată și afișată pe un ecran OLED. Sistemul funcționează pe principiul măsurării succesive a distanței față de un obiect. Folosind timer-ul intern al microcontrolerului,​ se măsoară cu precizie intervalul de timp dintre două măsurători consecutive de distanță furnizate de senzorul VL53L1X. Viteza este apoi calculată și afișată pe un ecran OLED.
Line 16: Line 17:
  
 {{ :​pm:​prj2026:​ciprian.popescu0411:​screenshot_2026-05-06_132711.png |}} {{ :​pm:​prj2026:​ciprian.popescu0411:​screenshot_2026-05-06_132711.png |}}
-<div class="​wiki-hardware-doc">​ 
-    <​h2>​Hardware Design</​h2>​ 
  
-    <h3>Lista de piese</​h3>​ +===== Hardware Design ===== 
-    <​ul>​ +**Lista de piese:**
-        <​li><​strong>​Microcontroler:</​strong>​ ATmega328P (pe o placă de dezvoltare Arduino Nano/​Uno).</​li>​ +
-        <​li><​strong>​Senzor de distanță:</​strong>​ Modul senzor laser VL53L1X (Time-of-Flight,​ distanță până la 4m).</​li>​ +
-        <​li><​strong>​Display:</​strong>​ Ecran OLED 0.96" sau 1.3" (I2C, SSD1306 sau SH1106).</​li>​ +
-        <​li><​strong>​Buton:</​strong>​ Push-button pentru acționarea "​trăgaciului"​.</​li>​ +
-        <​li><​strong>​Alimentare:</​strong>​ Baterie 9V sau acumulator Li-Ion 3.7V cu step-up la 5V.</​li>​ +
-        <​li><​strong>​Componente pasive:</​strong>​ Rezistențe de pull-up/​pull-down,​ fire de conexiune.</​li>​ +
-    </ul>+
  
-    <h3>Conexiuni (Interfațare)</h3> + ​Microcontroler:​ ATmega328P (pe o placă de dezvoltare Arduino Nano/​Uno). 
-    <​ul>​ + 
-        <​li><​strong>​VL53L1X (SDA)</strong&​rarr; ​Pin A4 (ATmega328P)</li> + ​Senzor de distanță: Modul senzor laser VL53L1X (Time-of-Flight,​ distanță până la 4m). 
-        <​li><​strong>​VL53L1X (SCL)</strong&​rarr; ​Pin A5 (ATmega328P)</li> + 
-        <​li><​strong>​OLED (SDA)</strong&​rarr; ​Pin A4 (ATmega328P)</li> + ​Display:​ Ecran OLED 0.96" sau 1.3" (I2C, SSD1306 sau SH1106). 
-        <​li><​strong>​OLED (SCL)</strong&​rarr; ​Pin A5 (ATmega328P)</li> + 
-        <​li><​strong>​Buton Trăgaci</strong&​rarr; ​Pin D2 (INPUT_PULLUP,​ întrerupere externă)</​li>​ + ​Buton:​ Push-button pentru acționarea "​trăgaciului"​. 
-    </​ul>​ + 
-</​div>​+ ​Alimentare:​ Baterie 9V sau acumulator Li-Ion 3.7V cu step-up la 5V. 
 + 
 + ​Componente pasive: Rezistențe de pull-up/​pull-down,​ fire de conexiune. 
 + 
 +**Conexiuni (Interfațare):** 
 +VL53L1X (SDA) -> Pin A4 (ATmega328P) 
 +VL53L1X (SCL) -> Pin A5 (ATmega328P) 
 +OLED (SDA) -> Pin A4 (ATmega328P) 
 +OLED (SCL) -> Pin A5 (ATmega328P) 
 +Buton Trăgaci ​-> Pin D2 (INPUT_PULLUP,​ întrerupere externă)
  
 ===== Software Design ===== ===== Software Design =====
Line 57: Line 58:
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-*(Urmează să fie completat după implementarea practică ​proiectuluiSe vor detalia precizia măsurătorilorstabilitatea sistemului și calitatea afișării.)*+ 
 +Functionare Hardware: Sistemul ​fost asamblat cu succes pe breadboard, realizand un prototip functional de Pistol RadarComunica perfect simultan cu ecranul OLED (5V) si senzorul laser VL53L1X (3.3V) pe aceeasi magistrala I2C (pinii PC4/PC5)fara conflicte de tensiune. 
 + 
 +Procesare Software: Radarul citeste la intervale de 50ms si afiseaza datele pe ecran fara intarziere perceptibila. 
 + 
 +Acuratete si Filtrare: S-a implementat cu succes un dublu filtru software. Primul ignora zgomotul de fond (fluctuatii de sub 25mm in stare statica), iar al doilea forteaza valoarea vitezei la 0.0 km/h pentru miscari de sub 2 km/h, oferind o afisare extrem de stabila, asemanatoare instrumentelor de bord reale.
  
 ===== Concluzii ===== ===== Concluzii =====
-*(Urmează să fie completat la finalizarea proiectului. Va conține o evaluare a succesului și posibile îmbunătățiri pe viitor.)* 
  
 +Dezvoltarea acestui proiect a demonstrat cat de importanta este intelegerea arhitecturii hardware din spatele framework-urilor de tip "​black-box"​ precum Arduino. Provocarea principala a fost scrierea logicii de calcul a vitezei pe baza citirilor extrem de rapide de distante, ceea ce a generat erori initiale de calcul din cauza zgomotului optic ("​sensor jitter"​).
 +
 +Tranzitia catre o arhitectura hibrida, folosind manipularea directa a registrelor (DDRD, PORTD, PIND) pentru pinii de I/O, a oferit o perspectiva mult mai clara asupra functionarii reale a unui microcontroler ATmega328P. Am invatat ca in proiectele complexe, compromisul ingineresc intre utilizarea librariilor pentru periferice foarte complexe (senzorul ToF cu propriul sau firmware intern) si codul "​bare-metal"​ pentru optimizarea resurselor placii este o abordare standard si eficienta. Sistemul final este stabil, interactiv si raspunde excelent in timp real.
 ===== Download ===== ===== Download =====
-*(Arhiva cu fișierele codului sursă, schemele electrice și scriptul de compilare urmează să fie încărcată)* 
  
 +{{:​pm:​prj2026:​ciprian.popescu0411:​radar_viteza.zip|}}
 ===== Jurnal ===== ===== Jurnal =====
-* **06 Mai 2026:** Elaborarea specificațiilor proiectului și documentației inițiale bazate ​pe componentele ​hardware ​alese.+ 
 +Saptamana 1 (Hardware si Setup)Analiza componentelor si datasheet-urilor (VL53L1X si SSD1306). Realizarea schemei electrice si asamblarea ansamblului ​pe breadboard. Gestionarea corecta a alimentarilor mixte (5V si 3.3V) si testarea magistralei I2C. 
 + 
 +Saptamana 2 (Functionalitate de Baza): Scrierea codului initial pentru comunicarea cu perifericele folosind librariile specifice. Initializarea senzorului laser si a ecranului OLED. Obtinerea primelor masuratori statice de distanta in timp real si afisarea acestora pe display. 
 + 
 +Saptamana 3 (Algoritmul Radar): Dezvoltarea logicii matematice pentru calculul vitezei de deplasare. Utilizarea functiilor de timp pentru derivarea vitezei din diferenta de distanta si implementarea filtrelor software ("​deadband"​ si anti-jitter) pentru stabilizarea valorilor afisate. 
 + 
 +Saptamana 4 (Refactorizare si Finalizare):​ Migrarea codului spre o arhitectura de tip "​bare-metal"​ (inlocuirea rutinelor de baza cu main(), utilizarea registrelor DDRD, PORTD, PIND pentru citirea butonului ​hardware). Integrarea functiei de Power Saving, testarea finala a sistemului si redactarea documentatiei pentru wiki.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2026/ciprian.popescu0411/andrei.burlacu0807.1778063539.txt.gz · Last modified: 2026/05/06 13:32 by andrei.burlacu0807
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