Table of Contents

Detector de vibratii in cutremur

Nume: Boari Ioana-Ruxandra

Grupa: 331CD

GitHub Repo: https://github.com/IoanaBoari/earthquake-vibration-detector

Introducere

Proiectul reprezintă un sistem de detecție a vibrațiilor, similare celor produse de un cutremur. Atunci când sunt detectate astfel de mișcări, sistemul declanșează alerte sonore, vizuale și afișează un mesaj pe un ecran LCD.

Scopul este de a oferi un semnal de atenționare în timp util, astfel încât utilizatorul să poată interveni pentru a proteja obiectele fragile aflate în apropiere.

Ideea proiectului a pornit de la interesul personal pentru fenomenul cutremurelor și din dorința de a găsi soluții simple pentru a fi cât mai precaută în astfel de situații. Consider util un astfel de dispozitiv deoarece poate oferi un avertisment imediat la apariția vibrațiilor, oferind timp pentru a reacționa și a evita eventuale pagube materiale.

Descriere generală

În proiect se utilizează un senzor MPU6050 care transmite către Arduino date de accelerație prin interfața I2C. Arduino compară valorile citite cu valorile de repaus stabilite la calibrare. Dacă diferența depășește un prag predefinit, sistemul consideră că s-a produs o vibrație semnificativă și declanșează o alertă: activează un buzzer controlat prin semnal PWM, aprinde alternativ două LED-uri și afișează un mesaj de avertizare pe un ecran LCD 1602 prin I2C. Alarma va fi resetată printr-un buton conectat la un pin configurat cu întrerupere, iar o nouă apăsare va reactiva sistemul, reluând procesul de calibrare și monitorizare. În plus, sistemul trimite în timp real datele de accelerație prin interfața UART, permițând vizualizarea grafică a acestora în Serial Plotter.

Hardware Design

Listă de piese:

- Arduino Uno

- Accelerometru MPU6050

- LCD 1602

- Buzzer pasiv

- 2 LED-uri

- Buton tactil

- 2 Rezistente 220ohm

- Breadboard

- Cabluri de conectare


Schema electrica:


BOM:

Componenta Procurare Datasheet
Arduino Uno Optimus Digital Datasheet
Accelerometru MPU6050 Emag Datasheet
LCD 1602 Optimus Digital Datasheet
Buzzer pasiv Optimus Digital Datasheet
LED rosu Optimus Digital Datasheet
Buton tactil Optimus Digital Datasheet
Rezistenta 220ohm Optimus Digital
Breadboard Optimus Digital
Cabluri de conectare Optimus Digital

Descrierea în detaliu a funcționalității hardware

1. Arduino UNO

2. MPU6050 – Senzor de accelerație și giroscop

3. LCD 1602 cu interfață I2C

4. Buzzer pasiv

5. LED-uri

6. Buton tactil

7. Breadboard + cabluri jumper

Software Design

Mediu de dezvoltare

Descrierea codului aplicației (firmware)

Proiectul a fost dezvoltat folosind mediul de dezvoltare Arduino IDE, în limbajul C++, și utilizează funcționalități precum: comunicație I2C, UART, semnal PWM, GPIO și întreruperi externe.

Sistemul are trei stări:

  1. 0 - activ: sistemul monitorizează vibrațiile.
  2. 1 - alertă: se declanșează alarma prin buzzer, LED-uri si mesaj pe ecranul LCD.
  3. 2 - standby: sistemul este oprit până la reactivare prin apăsarea butonului.

Trecerea între stări se realizează folosind o variabilă globală `systemState` și un flag `buttonPressed` setat printr-o întrerupere externă.

Biblioteci utilizate

Algoritmi și structuri implementate

    accX_ref = sumX / 100;
    accY_ref = sumY / 100;
    accZ_ref = sumZ / 100;
    
    int deltaX = abs(accX - accX_ref);
    if (deltaX > threshold) {
      // declanșează alerta
    }
    
    Serial.print(accX);
    Serial.print("\t");
    Serial.print(accY);
    Serial.print("\t");
    Serial.println(accZ);
    
    attachInterrupt(digitalPinToInterrupt(buttonPin), onButtonPress, FALLING);
    

Funcții implementate

Validare funcționalități

Elemente de noutate

Calibrarea senzorului

    for (int j = 0; j < 20; j++) {
      readAccel();
      sumX += accX;
      delay(50);
    }
    

Optimizări realizate

Rezultate Obţinute

În urma realizării proiectului, am reușit să dezvolt un sistem funcțional de detectare a vibrațiilor cauzate de mișcări bruște, care declanșează o alertă sonoră și vizuală și poate fi controlat printr-un buton.

Funcționalități demonstrate

Video demo

https://youtube.com/shorts/2w_z9hhUvBo?si=aUbAqIuGFt7ByWH3

Imagini

Concluzii

Sistemul funcționează stabil și a fost testat în mai multe scenarii de simulare a unui cutremur prin lovirea mesei pe care este așezat. Se poate observa clar declanșarea alertei și revenirea la modul standby, confirmând buna integrare a componentelor hardware și logica software.

Mi s-a părut un proiect interesant, care mi-a oferit ocazia să explorez mai multe moduri de a semnala o alertă relevantă pentru oricine, atât vizual, cât și auditiv.

Download

detector_de_vibratii_in_cutremure.zip

Bibliografie/Resurse

Resurse Hardware

Resurse Software

Export to PDF