Differences

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

Link to this comparison view

pm:prj2025:rnedelcu:robert.constantin04 [2025/05/20 10:30]
robert.constantin04 [Hardware Design]
pm:prj2025:rnedelcu:robert.constantin04 [2025/05/28 15:52] (current)
robert.constantin04 [Rezultate Obţinute]
Line 1: Line 1:
 ====== Sistem automat de monitorizare și îngrijire a unei plante ====== ====== Sistem automat de monitorizare și îngrijire a unei plante ======
 +
 +Constantin Robert-Mihai 332CB
 ===== Introducere ===== ===== Introducere =====
  
Line 46: Line 48:
 - senzor ultrasonic distanță - senzor ultrasonic distanță
  
-modul bandă ​led-uri+led-uri 
 + 
 +- releu 
 + 
 +- sursa de curent
  
 - buzzer - buzzer
 +
 +- baterie 9V
  
 </​note>​ </​note>​
 {{:​pm:​prj2025:​rnedelcu:​20250513_102818.jpg?​400|}} {{:​pm:​prj2025:​rnedelcu:​20250513_102818.jpg?​400|}}
 +
 +{{:​pm:​prj2025:​rnedelcu:​schemalogicarobert.png?​650|}}
 +
 ===== Software Design ===== ===== Software Design =====
 +Aplicația reprezintă un sistem automat de irigare pentru plante, care monitorizează umiditatea solului și nivelul apei dintr-un rezervor. Când solul este uscat, sistemul pornește automat o pompă de apă. În paralel, monitorizează nivelul apei folosind un senzor ultrasonic și aprinde un LED corespunzător (roșu, galben sau verde). Dacă nivelul apei este scăzut, un buzzer redă o melodie de avertizare.
  
 +=== Mediu de dezvoltare: ===
 +
 +- Arduino IDE
 +
 +- Placă: ESP8266 Plusivo
 +
 +- Limbaj: C/C++ specific platformei Arduino
 +
 +=== Librării și surse 3rd-party: ===
 +
 +- pitches.h: fișier header care definește frecvențele notelor muzicale, necesar pentru funcția tone()
 +
 +
 +=== Algoritmi și structuri implementate:​ ===
 +
 +== Citirea umidității solului: ==
 +
 +Se folosește senzorul capacitiv conectat la pinul A0
 +
 +Dacă valoarea citită depășește pragul soilThreshold,​ pompa este activată timp de 5 secunde printr-un releu
 +
 +== Măsurarea nivelului apei: ==
 +
 +Se folosește senzorul ultrasonic HC-SR04 (pini TRIG și ECHO)
 +
 +Timpul măsurat este convertit în distanță (în cm)
 +
 +În funcție de valoarea distanței, este aprins un LED corespunzător (roșu = nivel scăzut, galben = mediu, verde = plin)
 +
 +== Avertizare sonoră: ==
 +Dacă nivelul apei este prea scăzut, se redă o melodie o singură dată, folosind un buzzer
 +
 +Melodia este definită prin două tablouri (melody[] și durations[]) și redată cu tone() și delay()
 +
 +== Controlul LED-urilor: ==
 +
 +Toți pinii LED-urilor sunt setați pe OUTPUT
 +
 +Se aprinde un singur LED în funcție de distanța măsurată, celelalte fiind stinse
 +
 +
 +== Funcții implementate:​ ==
 +
 +setup() – inițializează portul serial, pini și componente
 +
 +loop() – execută logica principală:​ citirea senzorilor, activarea pompei, actualizarea LED-urilor și cântatul melodiei
 +
 +measureEchoTime() – trimite și primește impulsuri ultrasonice pentru a calcula distanța
 +
 +updateLEDs() – aprinde LED-ul corespunzător în funcție de nivelul apei
 +
 +playMelody() – redă melodia de avertizare sonoră prin buzzer
  
-<note tip> 
-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 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru+Senzorul de umiditate funcționează corect și transmite valori ​în timp real către microcontroler
-</​note>​+ 
 +Pompa de apă pornește automat când nivelul de umiditate scade sub pragul stabilit și se oprește după udare. 
 + 
 +Releul controlează în mod fiabil alimentarea pompei fără întârzieri sau blocări. 
 + 
 +Senzorul ultrasonic detectează cu acuratețe nivelul apei din rezervor, pe baza reflexiei de pe flotor, prevenind pompa din a merge în gol. 
 + 
 +LED-urile indică vizual nivelul apei în funcție de distanța măsurată, în trepte clare. 
 + 
 +Buzzerul se activează corect când apa scade sub nivelul minim setat, avertizând utilizatorul.</​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +- Am învățat să lucrez cu senzori și actuatori conectați la un microcontroler
  
 +- Am înțeles mai bine cum funcționează un releu și un senzor ultrasonic
 +
 +- Mi-a plăcut să integrez partea hardware cu cea software, oferindu-mi o perspectivă în dezvoltarea proiectelor embedded
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Fișierele ​ce alcătuiesc componenta software
-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**. +{{:pm:prj2025:rnedelcu:proiectpm.zip|}}
-</​note>​+
  
 ===== Jurnal ===== ===== Jurnal =====
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul ​proiectului.+24.04.2025: Am ales tema proiectului ​și am început documentarea cu privire la piesele necesare 
 + 
 +30.04.2025: Am comandat piesele 
 + 
 +06.05.2025: Am început construcția hardware a proiectului 
 + 
 +13.05.2025: Am început dezvoltarea partii software 
 + 
 +20.05.2025: Modificări finale si retușuri ale proiectului
 </​note>​ </​note>​
  
Line 88: Line 164:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+https://​www.plusivo.com/​electronics-kit/​66-plusivo-wireless-super-starter-kit-with-esp8266-programmable-with-arduino-ide.html 
 + 
 +https://​projecthub.arduino.cc/​tmekinyan/​playing-popular-songs-with-arduino-and-a-buzzer-546f4a
 </​note>​ </​note>​
  
 <​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>​
  
pm/prj2025/rnedelcu/robert.constantin04.1747726238.txt.gz · Last modified: 2025/05/20 10:30 by robert.constantin04
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