Differences

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

Link to this comparison view

pm:prj2025:ccristi:alex.moldoveanu0510 [2025/05/27 10:55]
alex.moldoveanu0510 [Software Design]
pm:prj2025:ccristi:alex.moldoveanu0510 [2025/05/30 09:10] (current)
alex.moldoveanu0510 [Software Design]
Line 51: Line 51:
  
 {{:​pm:​prj2025:​ccristi:​poza3.png?​300|}} {{:​pm:​prj2025:​ccristi:​poza3.png?​300|}}
 +
 +De asemenea si un video demonstrativ:​
 +
 +https://​youtu.be/​8lZL-eniPDA
  
 ===== Software Design ===== ===== Software Design =====
Line 64: Line 68:
 #include "​SoftwareSerial.h"​ #include "​SoftwareSerial.h"​
 #include "​DFRobotDFPlayerMini.h"​ #include "​DFRobotDFPlayerMini.h"​
 +#include "​LiquidCrystal_I2C.h"​
 +
 +// LCD pe adresa 0x27, cu 16 coloane si 2 randuri
 +
 +LiquidCrystal_I2C lcd(0x27, 16, 2);
  
 SoftwareSerial mySoftwareSerial(10,​ 11); // RX, TX SoftwareSerial mySoftwareSerial(10,​ 11); // RX, TX
 DFRobotDFPlayerMini myDFPlayer; DFRobotDFPlayerMini myDFPlayer;
 +
 void printDetail(uint8_t type, int value); void printDetail(uint8_t type, int value);
 +
 int play_in_progress=0;​ // if = 1 then player is working int play_in_progress=0;​ // if = 1 then player is working
 +
 const int buttonPin = 2; const int buttonPin = 2;
 const int buttonPin2 = 7; const int buttonPin2 = 7;
-const int relayPin = 4;+const int relayPin = 2;
 int buttonState = 0; int buttonState = 0;
  
Line 91: Line 103:
   digitalWrite(relayPin,​ HIGH);   digitalWrite(relayPin,​ HIGH);
   ​   ​
-  ​Serial.println(F("Bun venit!"));+  ​lcd.begin(); 
 +  lcd.backlight();​ 
 +  lcd.clear();​ 
 +  lcd.setCursor(0,​ 0); 
 +  lcd.print("Sistem activ");
  
   myDFPlayer.begin(mySoftwareSerial);​   myDFPlayer.begin(mySoftwareSerial);​
Line 115: Line 131:
  
   digitalWrite(relayPin,​ HIGH);   digitalWrite(relayPin,​ HIGH);
 +
 +  lcd.begin();​
 +  lcd.backlight();​
 +  lcd.clear();​
 +  lcd.setCursor(0,​ 0);
 +  lcd.print("​Sistem activ"​);​
 +  ​
 } }
  
Line 132: Line 155:
   if (waterSensor < 100 && lightSensor < 50) {   if (waterSensor < 100 && lightSensor < 50) {
     digitalWrite(relayPin,​ LOW);     digitalWrite(relayPin,​ LOW);
 +
 +    lcd.clear();​
 +    lcd.setCursor(0,​ 0);
 +    lcd.print("​Udare automata"​);​
 +
     delay(2000);​     delay(2000);​
     digitalWrite(relayPin,​ HIGH);     digitalWrite(relayPin,​ HIGH);
Line 146: Line 174:
     manual_watering();​     manual_watering();​
   }   }
-} +
 </​code>​ </​code>​
  
Line 164: Line 191:
 Care au fost rezultatele obţinute în urma realizării proiectului vostru. Care au fost rezultatele obţinute în urma realizării proiectului vostru.
 </​note>​ </​note>​
 +
 +Irigarea s-a realizat automat in functie de umiditatea solului, un senzor analogic declansand pornirea unei pompe de apa printr-un releu, la sesizarea lipsei de lumina data de la fotorezistenta.
 +
 +Dupa udare, utilizatorul a fost notificat sonor printr-o melodie redata de un buzzer (+ vizual pe LCD).
 +
 +Sistemul a functionat stabil, fara blocaje, cu afisari corecte si control fiabil al releului, optimizat printr-o logica eficienta de initializare.
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +Proiectul propus ofera o solutie practica si eficienta pentru monitorizarea si udarea automata a plantelor, fara ca utilizatorul sa intervina zilnic. Prin folosirea senzorilor si a componentelor de afisare si control, sistemul poate gestiona parametri importanti precum umiditatea solului, temperatura si nivelul apei.
 +
 +Proiectul este usor de refacut, adaptabil si poate fi extins. Desi a fost gandit pentru plante de apartament, structura modulara permite folosirea lui si in aplicatii mai complexe, inclusiv in sisteme IoT.
 ===== Download ===== ===== Download =====
  
Line 189: Line 225:
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
 +- Pentru modulul MP3: https://​www.instructables.com/​Tutorial-of-MP3-TF-16P/​
 +Cat si datasheetul:​ https://​www.electronicoscaldas.com/​datasheet/​DFR0299-DFPlayer-Mini-Manual.pdf?​srsltid=AfmBOopRyqEZlLLECGWZad9qkzdOQHsyO3ZfRmh8OgPTLugA3A6b7Q1f
 +
 +- Releu datasheet: https://​www.electronicoscaldas.com/​datasheet/​DFR0299-DFPlayer-Mini-Manual.pdf?​srsltid=AfmBOopRyqEZlLLECGWZad9qkzdOQHsyO3ZfRmh8OgPTLugA3A6b7Q1f
 +
 +- ALPHA TEST: displayul LCD: https://​www.optimusdigital.ro/​ro/​optoelectronice-lcd-uri/​62-lcd-1602-cu-interfata-i2c-si-backlight-galben-verde.html?​search_query=lcd+&​results=215
 +
pm/prj2025/ccristi/alex.moldoveanu0510.1748332549.txt.gz · Last modified: 2025/05/27 10:55 by alex.moldoveanu0510
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