Detector de gaz

Introducere

Proiectul meu este un sistem de detectie a gazelor cu declanșare a unei alarme, utilizând un Arduino Uno, un senzor de gaz MQ-2, un ecran LCD 16×2 cu interfață I2C și un buzzer pasiv.

Scopul acestui proiect este de a oferi o soluție simplă și eficientă pentru detectarea concentrațiilor periculoase de gaze în aer, oferind un avertisment sonor si vizual în cazul unei situații potențial periculoase.

Descriere generală

Schema bloc:

detector_de_gaz_schema_bloc.jpg

Descriere:

Arduino Uno citește datele de la senzorul de gaz MQ-2 la intervale regulate. Pe baza datelor citite, Arduino decide dacă concentrația de gaz depășește un prag de siguranță. Dacă se detectează o concentrație periculoasă de gaz, Arduino activează buzzer-ul, ce emite un semnal sonor, și afișează un mesaj corespunzător pe ecranul LCD. User-ul observa avertismentul și poate lua măsuri adecvate.

Hardware Design

Schema electrica:

Lisa de piese:
  • Arduino UNO (ATmega328p)
  • Senzor gaz MQ-2
  • 3V Passive buzzer
  • 16×2 LCD screen cu interfata I2C
  • 2 Rezistente de 220 Ohmi
  • 1 LED rosu
  • 1 LED verde
  • Breadboard
  • Fire

Software Design

Descrierea codului aplicaţiei (firmware):

Această aplicație monitorizează nivelul de gaz folosind un senzor de gaz conectat la un Arduino UNO R3. În funcție de valoarea citită de la senzor, aplicația aprinde un LED roșu sau verde și activează un buzzer pentru a semnala o scurgere de gaz detectată. De asemenea, valorile sunt afișate pe un display LCD I2C.

Mediu de dezvoltare:

Arduino IDE: Folosit pentru a scrie, compila și încărca codul pe placa Arduino UNO R3.

Librării şi surse 3rd-party:
  • Wire.h: Librărie standard Arduino pentru comunicare I2C.
  • LiquidCrystal_I2C.h: Librărie pentru controlul unui display LCD I2C.
Algoritmi şi structuri planificate:
  • Citirea valorilor senzorului: Citirea valorilor analogice de la senzorul de gaz.
  • Afișare pe LCD: Actualizarea mesajului de pe display-ul LCD în funcție de valorile senzorului.
  • Controlul LED-urilor și buzzerului: Aprinderea LED-urilor și activarea buzzerului în funcție de starea senzorului.
Funcții implementate:

setup():

  • Inițializează comunicarea serială.
  • Configurează pinii de LED și buzzer ca ieșiri folosind registrele DDRB.
  • Inițializează display-ul LCD.

loop():

  • Citește valorile analogice și digitale de la senzor.
  • Controlează LED-urile și buzzerul în funcție de valorile senzorului.
  • Afișează mesajele corespunzătoare pe display-ul LCD.
  • Include o întârziere de 500 ms și curăță display-ul pentru următoarea actualizare.

Rezultate Obţinute

Concluzii

Prin acest proiect, am dobândit cunoștințe valoroase în dezvoltarea hardware și software. Am învățat să integrez diverse componente și să le controlez eficient folosind Arduino UNO R3. Monitorizarea gazului m-a învățat cum să interpretez datele de la senzori și să ofer feedback vizual și auditiv prin LED-uri și un buzzer. Prin aplicarea cunoștințelor de la laboratoarele de PM într-un proiect practic, am consolidat înțelegerea mea și am dezvoltat abilități importante în domeniul ingineriei.

Download

Bibliografie/Resurse

Resurse Software:
  • Arduino Libraries
  • LiquidCrystal_I2C Library Documentation
  • Wire Library Documentation
Resurse Hardware:
pm/prj2024/vstoica/andrei.petcu1911.txt · Last modified: 2024/05/27 13:58 by andrei.petcu1911
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