This is an old revision of the document!


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.

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

  • Microcontroller principal care controlează întregul sistem.
  • Tensiune de lucru: 5V.
  • Interfețe utilizate: I2C, GPIO, PWM, External Interrupt.
  • Motivatie: Este ușor de programat și compatibil cu toate modulele utilizate.

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

  • Comunicare: Interfață I2C.
  • Pini utilizați:
    • SDA → A4 (I2C Data)
    • SCL → A5 (I2C Clock)
    • VCC → 5V
    • GND → GND
  • Motivatie: I2C permite conectarea mai multor dispozitive pe aceiași doi pini. MPU6050 oferă accelerație pe 3 axe, ideală pentru detecția vibrațiilor.

3. LCD 1602 cu interfață I2C

  • Comunicare: I2C (partajează magistrala cu MPU6050).
  • Pini utilizați:
    • SDA → A4
    • SCL → A5
    • VCC → 5V
    • GND → GND
  • Motivatie: Afișează mesaje despre starea sistemului. Interfața I2C simplifică conectarea cu doar 2 pini.

4. Buzzer pasiv

  • Comunicare: Semnal digital generat prin PWM (`tone()`).
  • Pin utilizat:
    • Semnal → D9 (PWM-capable pin)
    • GND → GND
  • Motivatie: D9 este un pin compatibil cu `tone()`. PWM permite generarea de tonuri de frecvențe diferite pentru semnal de alertă.

5. LED-uri

  • Comunicare: GPIO (ieșire digitală).
  • Pini utilizați:
    • LED 1 → D6 (cu rezistență de 220Ω)
    • LED 2 → D7 (cu rezistență de 220Ω)
    • GND → GND
  • Motivatie: Pini digitali liberi ușor de controlat. LED-urile oferă feedback vizual în caz de cutremur.

6. Buton tactil

  • Comunicare: GPIO + External Interrupt.
  • Pini utilizați:
    • Semnal → D2 (suportă `attachInterrupt()`)
    • GND → GND
  • Configurat ca: `INPUT_PULLUP` → logică activă pe LOW.
  • Motivatie: Pinul D2 este unul dintre puținii pini de pe Arduino UNO care suportă întreruperi externe (INT0). Permite reacție imediată fără polling.

7. Breadboard + cabluri jumper

  • Nu comunică direct cu Arduino, dar asigură interconectarea circuitului.
  • Tipuri de fire: mamă-tată, tată-tată.
  • Motivatie: prototipare rapidă fără lipire.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

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

  • Sistemul se calibrează automat la pornire
  • Detectează variații semnificative de accelerație
  • Activează un buzzer pasiv și două LED-uri în mod intermitent
  • Afișează mesaj de alertă pe ecranul LCD 1602
  • Permite oprirea alertei și trecerea în standby printr-un buton
  • Sistemul poate fi reactivat printr-o nouă apăsare

Video demo

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.

Download

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.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/avaduva/ioana.boari.1747565518.txt.gz · Last modified: 2025/05/18 13:51 by ioana.boari
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