This is an old revision of the document!
Proiectul constă în realizarea unui instrument de măsură 2-în-1, portabil, bazat pe un microcontroller ATmega328P standalone. Dispozitivul combină funcționalitatea unei rulete digitale (măsurarea distanței fără contact) cu cea a unei nivele electronice (boloboc digital pentru determinarea gradului de înclinare), oferind date în timp real pe un afișaj LCD și feedback sonor.
Sistemul obține date de la două module senzoriale:
- Senzorul Ultrasonic HC-SR04 - folosit pentru a măsura timpul de zbor al sunetului și a calcula distanța până la un obstacol.
- Senzorul Inerțial MPU-6050 - un modul cu accelerometru și giroscop care comunică prin protocolul I2C, folosit pentru a calcula unghiul de înclinare pe axele X și Y.
Utilizatorul primește informațiile vizual, pe un ecran LCD text 16×2, și auditiv, printr-un buzzer pasiv. Sistemul sonor este dinamic: emite bip-uri a căror frecvență se modifică pe măsură ce dispozitivul se apropie de unghiul de 0 grade (orizontala perfectă), transformându-se într-un ton continuu la nivelare optimă.
Ideea a pornit de la necesitatea de a avea o unealtă de măsură multifuncțională pentru proiecte de bricolaj (DIY), demonstrând totodată capacitatea de a prelucra date brute de la senzori diferiți și de a le transforma în mărimi fizice reale (centimetri și grade).
Laboratoare folosite: GPIO, ADC (opțional pt. baterie), Timere, PWM, I2C.
1. Flux de funcționare - Modul Ruletă:
ATmega328P trimite un impuls scurt (10µs) pe pinul Trig al HC-SR04.
Senzorul emite un tren de impulsuri ultrasonice și ridică pinul Echo.
Microcontrollerul măsoară lățimea impulsului Echo folosind un Timer/Întrerupere.
Distanța este calculată și actualizată pe ecranul LCD.
2. Flux de funcționare - Modul Nivelă:
Microcontrollerul interoghează constant senzorul MPU-6050 prin magistrala I2C.
Datele brute de accelerație pe axele X, Y, Z sunt preluate și trecute printr-o funcție trigonometrică (atan2) pentru a afla unghiul de înclinare.
Valoarea este afișată pe rândul doi al LCD-ului.
Modulul PWM controlează buzzer-ul pasiv: dacă unghiul este 0°, buzzer-ul emite un semnal continuu; altfel, generează pulsuri cu pauze proporționale cu unghiul de înclinare.
| Componenta | Link | Descriere |
|---|---|---|
| Placă dezvoltare ATmega328P-XMINI | din dotare | Microcontroller principal |
| Senzor ultrasonic HC-SR04+ | din kit Plusivo | Măsurare distanță (funcția ruletă) |
| Modul MPU-6050 (Giroscop/Accel) | Magazin | Măsurare înclinare (funcția nivelă) pe I2C |
| Display LCD 16×2 cu modul I2C | Magazin | Afișaj interfață utilizator (folosește doar 4 pini) |
| Buzzer Pasiv | din kit Plusivo | Feedback sonor dinamic prin semnal PWM |
| Sursă alimentare breadboard | din kit Plusivo | Coboară tensiunea bateriei la 5V constanți |
| Baterie 9V + Mufă DC | din kit Plusivo | Alimentare sistem portabil |
| Breadboard 830 puncte + fire | din kit Plusivo | Montaj prototipare |
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.
<html><a class=“media mediafile mf_pdf” href=”?do=export_pdf”>Export to PDF</a></html