This is an old revision of the document!


AquaGuardian System

AquaGuardian System este un sistem inteligent creat pentru monitorizarea si automatizarea unui acvariu. Ideea proiectului a pornit din dorinta de a realiza un sistem capabil sa mentina conditii stabile si sigure pentru pesti prin monitorizarea permanenta a parametrilor importanti si automatizarea unor procese esentiale.

Scopul proiectului

Sistemul monitorizeaza constant parametri importanti ai acvariului, precum temperatura apei, nivelul apei si lumina ambientala, pentru a mentine un mediu sigur si stabil pentru pesti. Informatiile sunt afisate in timp real pe un LCD conectat prin I2C, astfel incat utilizatorul poate vedea rapid ce se intampla in acvariu.

Una dintre functiile principale ale proiectului este hranirea automata la ore fixe. Cu ajutorul modulului RTC DS3231, sistemul pastreaza timpul real si declanseaza automat hranirea la ore prestabilite, cum ar fi dimineata si seara. In plus, sistemul poate controla si iluminarea acvariului in functie de lumina detectatade senzorul LDR, contribuind la crearea unui mediu mai natural pentru pesti si plante.

Sistemul include si conectivitate Bluetooth BLE, permitand monitorizarea parametrilor principali direct de pe telefon. Utilizatorul poate vizualiza informatii precum temperatura apei sau starea iluminarii si poate controla anumite functii ale sistemului prin intermediul unei aplicatii mobile.

Mi s-a parut un proiect interesant deoarece combina mai multe concepte importante din domeniul sistemelor embedded: senzori, intreruperi, ADC, PWM, UART si comunicatie I2C. In plus, consider ca este un proiect util deoarece poate ajuta orice persoana care are un acvariu sa mentina un mediu mai sigur si mai stabil pentru pesti, fara sa verifice constant fiecare parametru manual.

Descriere generală

Sistemul integreaza mai multe module hardware si software care comunica intre ele pentru a asigura functionarea automata a acvariului si monitorizarea parametrilor importanti.

  • Microcontrollerul ATmega328P reprezinta unitatea centrala a sistemului si coordoneaza toate procesele. Acesta colecteaza date de la senzori, proceseaza informatiile si controleaza perifericele conectate.
  • Modulul RTC DS3231 este utilizat pentru pastrarea timpului real si pentru programarea actiunilor automate, precum hranirea pestilor sau controlul iluminarii la anumite ore.
  • Senzorul DS18B20 waterproof monitorizeaza temperatura apei, iar valorile citite sunt afisate pe display si transmise prin Bluetooth catre telefon.
  • Nivelul apei este monitorizat folosind senzorul ultrasonic HC-SR04, care masoara distanta dintre senzor si suprafata apei pentru a detecta eventuale scaderi ale nivelului.
  • Senzorul LDR este utilizat pentru detectarea luminii ambientale, permitand controlul automat aliluminarii acvariului prin intermediul unui releu conectat la banda LED.
  • Pentru hranirea automata este utilizat un servomotor SG90 care actioneaza mecanismul de distribuire a hranei la ore prestabilite.
  • Display-ul LCD 16×2 conectat prin I2C afiseaza in timp real informatii importante despre sistem, precum temperatura apei, nivelul apei sau starea iluminarii.

Sistemul include si un modul Bluetooth BLE HM-10/AT-09 care permite comunicatia cu telefonul mobil. Prin intermediul unei aplicatii mobile, utilizatorul poate monitoriza parametrii principali ai acvariului si poate controla anumite functii ale sistemului.

Comunicatia dintre module este realizata folosind mai multe interfete specifice sistemelor embedded:

  • I2C pentru RTC si LCD
  • UART pentru comunicatia Bluetooth
  • PWM pentru controlul servomotorului

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Componenta Model Interfata cu MCU Functie
Microcontroller ATmega328P Xplained Mini - Unitatea centrala a sistemului
RTC DS3231 I2C Pastreaza timpul real si programeaza actiunile automate
Senzor temperatura DS18B20 Waterproof OneWire Monitorizeaza temperatura apei
Senzor nivel apa HC-SR04 GPIO Masoara nivelul apei
Display LCD LCD 16×2 I2C I2C Afiseaza informatii despre sistem
Servomotor SG90 180° PWM Controleaza mecanismul de hranire
Modul releu Releu 5V 1 canal GPIO Controleaza banda LED
Iluminare Banda LED 12V Alimentare externa prin releu Iluminarea acvariului
Modul Bluetooth HM-10 / AT-09 BLE UART Comunicatie cu telefonul
Buton Push Button GPIO Control manual al sistemului

Descrierea detaliata a modulelor hardware

RTC DS3231

Modulul RTC DS3231 este utilizat pentru mentinerea timpului real chiar si atunci cand sistemul este oprit. Acesta comunica cu microcontrollerul prin interfata I2C si permite programarea automata a hranirii si iluminarii la anumite ore prestabilite.

DS18B20 Waterproof

Senzorul DS18B20 masoara temperatura apei si transmite valorile catre microcontroller folosind protocolul OneWire. Valorile sunt afisate pe LCD si transmise prin Bluetooth catre telefon.

HC-SR04

Senzorul ultrasonic HC-SR04 este utilizat pentru monitorizarea nivelului apei. Acesta masoara distanta dintre senzor si suprafata apei pentru a detecta eventuale scaderi ale nivelului.

LDR

Senzorul LDR detecteaza intensitatea luminii ambientale prin intermediul ADC-ului microcontrollerului. In functie de valoarea citita, sistemul poate controla automat iluminarea acvariului.

Servomotor SG90

Servomotorul SG90 controleaza mecanismul de hranire automata. Acesta este comandat prin PWM si se roteste la anumite ore pentru a distribui hrana.

LCD 16×2 I2C

Display-ul LCD afiseaza informatii importante despre sistem, precum temperatura apei, nivelul apei sau starea iluminarii. Comunicatia se realizeaza prin I2C.

Modul Bluetooth BLE

Modulul HM-10/AT-09 permite comunicatia dintre sistem si telefon prin Bluetooth Low Energy. Utilizatorul poate monitoriza parametrii sistemului si controla anumite functii folosind o aplicatie mobila.

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

Partea software a proiectului va fi dezvoltata in limbajul C/C++ si va fi completata pe masura realizarii si testarii hardware-ului.

Proiectul integreaza mai multe concepte si functionalitati studiate in cadrul laboratoarelor PM:

Lab 1 (USART)

Sistemul va transmite in timp real datele de monitorizare, precum temperatura apei, nivelul apei si nivelul luminii ambientale, precum si diferite mesaje de stare sau alerta catre terminalul serial si catre conexiunea Bluetooth.

Lab 2 (Intreruperi)

Va fi utilizata o intrerupere externa hardware pentru detectarea apasarii butonului de hranire manuala. In plus, sistemul va folosi semnalul de alarma generat de modulul RTC DS3231 pentru declansarea automata a hranirii la ore prestabilite.

Lab 3 (Timere si PWM)

Servomotorul SG90 utilizat pentru mecanismul de hranire va fi controlat prin semnal PWM generat de microcontroller. De asemenea, timerele interne vor fi folosite pentru gestionarea anumitor evenimente si actiuni periodice din sistem.

Lab 4 (ADC)

Convertorul Analog-Digital va fi utilizat pentru citirea senzorului LDR si monitorizarea luminii ambientale. Valorile citite vor fi folosite pentru controlul automat al iluminarii acvariului.

Se va realiza monitorizarea permanenta a parametrilor importanti ai acvariului si se va controla automat iluminarea si hranirea in functie de valorile senzorilor si de ora furnizata de RTC. Informatiile importante vor fi afisate pe display-ul LCD si transmise prin Bluetooth catre telefonul utilizatorului.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Saptamana 1: Am ales ideea proiectului si am stabilit functionalitatile principale ale sistemului. In aceasta etapa am studiat componentele necesare si modul in care acestea pot comunica intre ele.

Saptamana 2: Am realizat planul proiectului, am ales modulele hardware necesare si am comandat componentele pentru realizarea sistemului.

Saptamana 3: Am realizat schema bloc a sistemului si am inceput redactarea documentatiei. De asemenea, am studiat conexiunile si protocoalele de comunicatie utilizate de fiecare modul.

Bibliografie/Resurse

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

Export to PDF

pm/prj2026/bianca.popa1106/alexia.oprisan.1778427803.txt.gz · Last modified: 2026/05/10 18:43 by alexia.oprisan
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