This is an old revision of the document!


Pistol de Măsurat Viteza (Radar cu Laser)

Introducere

Ce face: Proiectul este un sistem portabil (tip pistol) capabil să măsoare și să afișeze viteza unui obiect aflat în mișcare pe o traiectorie directă spre sau dinspre dispozitiv.

Scopul lui: Scopul acestui proiect este realizarea unui aparat de măsurare a vitezei (radar) bazat pe microcontrolerul ATmega328P și un senzor de distanță Time-of-Flight (ToF) de înaltă precizie, VL53L1X.

Ideea de la care am pornit: Ideea a venit din dorința de a construi un instrument practic și educațional care să ilustreze principiile cinematicii (viteza ca variație a distanței în timp) folosind componente electronice accesibile.

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ă

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.

Schema bloc: Microcontrolerul ATmega328P este unitatea centrală care comunică prin interfața I2C atât cu senzorul de distanță (VL53L1X), cât și cu ecranul OLED. Un buton cu rol de “trăgaci” este conectat la un pin digital al microcontrolerului pentru a iniția măsurătoarea. Alimentarea se face printr-o baterie.

Hardware Design

Lista de piese:

Microcontroler: ATmega328P (pe o placă de dezvoltare Arduino Nano/Uno).

Senzor de distanță: Modul senzor laser VL53L1X (Time-of-Flight, distanță până la 4m).

Display: Ecran OLED 0.96” sau 1.3” (I2C, SSD1306 sau SH1106).

Buton: Push-button pentru acționarea “trăgaciului”.

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

Mediu de dezvoltare: Arduino IDE (pentru ușurința integrării driverelor pentru senzor și display).

Librării și surse 3rd-party: * `Wire.h` (comunicare I2C) * `SparkFun_VL53L1X.h` sau `Pololu VL53L1X` (control senzor ToF) * `Adafruit_GFX.h` și `Adafruit_SSD1306.h` (control ecran OLED)

Algoritmi și structuri: 1. Inițializare: Configurare pini, inițiere comunicație I2C, pornire senzor și ecran OLED. 2. Așteptare: Sistemul stă în așteptare până la apăsarea butonului (prin întrerupere pe pinul D2). 3. Captură date: Se citește distanța curentă și se obține timpul folosind un timer. Se repetă procesul pentru a doua distanță și al doilea timp. 4. Calcul: Viteză = diferența de distanță / diferența de timp. Conversie în km/h sau m/s. 5. Filtrare: Se folosește o medie mobilă (sau filtru Low-Pass) pentru a reduce zgomotul senzorului și a obține o citire stabilă. 6. Afișare: Viteza calculată este trimisă pe ecranul OLED.

Rezultate Obţinute

Functionare Hardware: Sistemul a fost asamblat cu succes pe breadboard, realizand un prototip functional de “Pistol Radar”. Comunica 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

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

*(Arhiva cu fișierele codului sursă, schemele electrice și scriptul de compilare urmează să fie încărcată)*

Jurnal

* 06 Mai 2026: Elaborarea specificațiilor proiectului și a documentației inițiale bazate pe componentele hardware alese.

Bibliografie/Resurse

* Datasheet ATmega328P - Microchip Technology. * Datasheet VL53L1X - STMicroelectronics. * Documentație protocol I2C și conectare componente. * Documentație biblioteci Adafruit și SparkFun pentru dezvoltarea software-ului.

Export to PDF

pm/prj2026/ciprian.popescu0411/andrei.burlacu0807.1778845121.txt.gz · Last modified: 2026/05/15 14:38 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