Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:bianca.popa1106:alexia.oprisan [2026/05/08 22:55]
alexia.oprisan [Hardware Design]
pm:prj2026:bianca.popa1106:alexia.oprisan [2026/05/16 10:18] (current)
alexia.oprisan [Descrierea detaliata a modulelor hardware]
Line 9: Line 9:
  
 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. 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 ​detectata de senzorul LDR, contribuind la crearea unui mediu mai natural pentru pesti si plante.+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. 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.
Line 21: Line 21:
     * **Microcontrollerul ATmega328P** reprezinta unitatea centrala a sistemului si coordoneaza toate procesele. Acesta colecteaza date de la senzori, proceseaza informatiile si controleaza perifericele conectate.     * **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.     * **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.+    * **Senzorul ​NTC waterproof** monitorizeaza temperatura apei, iar valorile citite sunt afisate pe display.
     * Nivelul apei este monitorizat folosind **senzorul ultrasonic HC-SR04**, care masoara distanta dintre senzor si suprafata apei pentru a detecta eventuale scaderi ale nivelului.     * 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 ​al iluminarii ​acvariului prin intermediul unui releu conectat la banda LED.+    * **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.     * Pentru hranirea automata este utilizat un **servomotor SG90** care actioneaza mecanismul de distribuire a hranei la ore prestabilite.
     * **Display-ul LCD** 16x2 conectat prin I2C afiseaza in timp real informatii importante despre sistem, precum temperatura apei, nivelul apei sau starea iluminarii.     * **Display-ul LCD** 16x2 conectat prin I2C afiseaza in timp real informatii importante despre sistem, precum temperatura apei, nivelul apei sau starea iluminarii.
Line 33: Line 33:
     * I2C pentru RTC si LCD     * I2C pentru RTC si LCD
     * UART pentru comunicatia Bluetooth     * UART pentru comunicatia Bluetooth
-    * ADC pentru citirea senzorului LDR 
     * PWM pentru controlul servomotorului     * PWM pentru controlul servomotorului
  
Line 51: Line 50:
 | Microcontroller | ATmega328P Xplained Mini | - | Unitatea centrala a sistemului | | Microcontroller | ATmega328P Xplained Mini | - | Unitatea centrala a sistemului |
 | RTC | DS3231 | I2C | Pastreaza timpul real si programeaza actiunile automate | | RTC | DS3231 | I2C | Pastreaza timpul real si programeaza actiunile automate |
-| Senzor temperatura | DS18B20 Waterproof ​OneWire ​| Monitorizeaza temperatura apei |+| Senzor temperatura | NTC waterproof  ​ADC | Monitorizeaza temperatura apei |
 | Senzor nivel apa | HC-SR04 | GPIO | Masoara nivelul apei | | Senzor nivel apa | HC-SR04 | GPIO | Masoara nivelul apei |
-| Senzor lumina | LDR | ADC | Detecteaza lumina ambientala | 
 | Display LCD | LCD 16x2 I2C | I2C | Afiseaza informatii despre sistem | | Display LCD | LCD 16x2 I2C | I2C | Afiseaza informatii despre sistem |
 | Servomotor | SG90 180° | PWM | Controleaza mecanismul de hranire | | Servomotor | SG90 180° | PWM | Controleaza mecanismul de hranire |
 | Modul releu | Releu 5V 1 canal | GPIO | Controleaza banda LED | | Modul releu | Releu 5V 1 canal | GPIO | Controleaza banda LED |
 +| Senzor lumina | LDR | ADC | Detecteaza lumina ambientala |
 | Iluminare | Banda LED 12V | Alimentare externa prin releu | Iluminarea acvariului | | Iluminare | Banda LED 12V | Alimentare externa prin releu | Iluminarea acvariului |
 | Modul Bluetooth | HM-10 / AT-09 BLE | UART | Comunicatie cu telefonul | | Modul Bluetooth | HM-10 / AT-09 BLE | UART | Comunicatie cu telefonul |
Line 62: Line 61:
  
  
-**Descrierea modulelor hardware**+==== Descrierea ​detaliata a modulelor hardware ​====
  
-**RTC DS3231**+=== 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.+Modulul RTC DS3231 este utilizat pentru mentinerea timpului real chiar si atunci cand sistemul este oprit. Acesta permite programarea automata a hranirii si iluminarii la anumite ore prestabilite.
  
-**DS18B20 Waterproof**+RTC-ul comunica cu microcontrollerul prin interfata I2C:
  
-Senzorul DS18B20 masoara temperatura apei si transmite valorile catre microcontroller folosind protocolul OneWire. Valorile sunt afisate pe LCD si transmise prin Bluetooth catre telefon.+  * **SDA - PC4 (SDA)** 
 +  * **SCL - PC5 (SCL)**
  
-**HC-SR04**+Interfata I2C permite comunicatia seriala folosind doar doua fire de date, ceea ce reduce numarul de pini utilizati.
  
-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**+=== NTC waterproof ===
  
-Senzorul ​LDR detecteaza intensitatea luminii ambientale prin intermediul ADC-ului microcontrolleruluiIn functie ​de valoarea citita, sistemul poate controla automat iluminarea acvariului.+Senzorul ​NTC waterproof este utilizat pentru monitorizarea temperaturii apei din acvariuAcesta functioneaza ca o rezistenta variabila dependenta de temperatura si este conectat intr-un divizor rezistiv impreuna cu un rezistor ​de 10kΩ.
  
-**Servomotor SG90**+Conectare:
  
-Servomotorul SG90 controleaza mecanismul de hranire automata. Acesta este comandat prin PWM si se roteste la anumite ore pentru a distribui hrana.+  * **PC1 (A1)** - intrare analogica ADC
  
-**LCD 16x2 I2C**+Valorile analogice citite de microcontroller sunt convertite in temperatura si afisate pe display-ul ​LCD.
  
-Display-ul LCD afiseaza informatii importante despre sistem, precum temperatura apei, nivelul apei sau starea iluminarii. Comunicatia se realizeaza prin I2C. 
  
-**Modul Bluetooth BLE**+=== HC-SR04 === 
 + 
 +Senzorul ultrasonic HC-SR04 este utilizat pentru monitorizarea nivelului apei. 
 + 
 +Conexiuni:​ 
 + 
 +  ​* **TRIG - PD4 (D4)** - iesire digitala 
 +  * **ECHO - PD5 (D5)** - intrare digitala 
 + 
 +Distanta este calculata pe baza duratei semnalului receptionat. 
 + 
 + 
 +=== LDR === 
 + 
 +Senzorul LDR detecteaza intensitatea luminii ambientale si permite controlul automat al iluminarii acvariului. 
 + 
 +Conectare:​ 
 + 
 +  * **PC0 (A0)** - intrare analogica ADC 
 + 
 +LDR-ul este utilizat impreuna cu un rezistor de 10kΩ intr-un divizor de tensiune. 
 + 
 +=== Servomotor SG90 === 
 + 
 +Servomotorul SG90 controleaza mecanismul de hranire automata al pestilor. 
 + 
 +Conectare:​ 
 + 
 +  * **PB1 (D9)** - pin PWM 
 + 
 +PWM-ul permite controlul precis al unghiului de rotatie. 
 + 
 + 
 +=== LCD 16×2 I2C === 
 + 
 +Display-ul LCD afiseaza informatii importante despre sistem, precum temperatura apei, nivelul apei si starea iluminarii. 
 + 
 +Conexiuni I2C: 
 + 
 +  * **SDA - PC4** 
 +  * **SCL - PC5** 
 + 
 +Utilizarea interfetei I2C reduce numarul de pini necesari conectarii. 
 + 
 + 
 +=== Modul releu === 
 + 
 +Modulul releu controleaza banda LED de iluminare a acvariului. 
 + 
 +Conectare:​ 
 + 
 +  * **PD7 (D7)** - iesire digitala 
 + 
 +Releul este activat automat in functie de valoarea citita de LDR sau manual prin buton. 
 + 
 + 
 +=== Modul Bluetooth BLE === 
 + 
 +Modulul HM-10 / AT-09 permite comunicatia dintre sistem si telefon prin Bluetooth Low Energy. 
 + 
 +Conexiuni UART: 
 + 
 +  ​* **TXD modul - PB2 (D10)** 
 +  * **RXD modul - PB3 (D11)** 
 + 
 +Prin Bluetooth, utilizatorul poate monitoriza parametrii sistemului si controla anumite functii folosind o aplicatie mobila. 
 + 
 + 
 +=== Butoane de control === 
 + 
 +Sistemul utilizeaza doua butoane pentru control manual: 
 + 
 +  * **PD3 (D3)** - buton hranire manuala 
 +  * **PD6 (D6)** - buton control iluminare 
 + 
 +Butonul de hranire utilizeaza intreruperi externe pentru detectarea rapida a apasarii. 
 + 
 +^ Componenta ^ Pin ATmega328P ^ Tip Interfata ^ 
 +| RTC DS3231 | PC4 (SDA), PC5 (SCL) | I2C | 
 +| LCD 16×2 I2C | PC4 (SDA), PC5 (SCL) | I2C | 
 +| HC-SR04 | PD4 (TRIG), PD5 (ECHO) | GPIO | 
 +| Senzor NTC waterproof | PC1 (ADC1 / A1) | ADC | 
 +| LDR | PC0 (ADC0 / A0) | ADC | 
 +| Modul releu | PD7 (D7) | GPIO | 
 +| Banda LED 12V | Alimentare externa prin releu | Alimentare externa | 
 +| Servomotor SG90 | PB1 (OC1A / D9) | PWM | 
 +| Buton hranire | PD3 (INT1 / D3) | Intrerupere externa | 
 +| Buton iluminare | PD6 (D6) | GPIO | 
 +| Modul Bluetooth BLE HM-10 / AT-09 | PB2 (RX / D10), PB3 (TX / D11) | UART |
  
-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 ===== ===== Software Design =====
  
Line 102: Line 187:
 </​note>​ </​note>​
  
 +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.
 +
 +**Lab 6 (I2C)**
 +
 +Protocolul I2C este utilizat pentru comunicatia cu modulul RTC DS3231 si cu display-ul LCD 16x2. RTC-ul furnizeaza timpul real necesar pentru automatizarea hranirii si iluminarii, iar display-ul afiseaza informatii despre starea sistemului si valorile monitorizate.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
Line 124: Line 234:
 </​note>​ </​note>​
  
 +**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 ===== ===== Bibliografie/​Resurse =====
  
pm/prj2026/bianca.popa1106/alexia.oprisan.1778270117.txt.gz · Last modified: 2026/05/08 22:55 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