This is an old revision of the document!


Smart Plant Water Dispenser - Diță Alin-Gabriel

Introducere

Proiectul presupune implementarea unui sistem care se asigură că o plantă are umiditatea potivită și este udată automat. Va exita un senzor de umiditate, iar când pământul este uscat, se va acționa o pompă care va iriga planta. Pe un ecran OLED se vor afișa umiditatea solului și faptul că pompa funcționează sau nu. De asemenea, vor exista 2 leduri, unul verde care indică faptul că umiditatea este ok și unul roșu ce se aprinde când pompa pornește.

Acest proiect este util pentru a întreține o plantă care are nevoie de o permanentă umiditate a solului. Mai mult, proiectul este ceea ce trebuie persoanelor care doresc să plece într-o vacanță și nu doresc ca atunci când se întorc acasă, să găsească planta preferată uscată.

Descriere generală

Hardware Design

Listă Componente:

  • Arduino UNO
  • pompă de apă
  • modul de umiditate a solului
  • 2 led-uri
  • fire de legătură
  • rezistențe
  • display OLED
  • 5 Volt Relay Module
  • recipent apă
  • expansion

Software Design

Biblioteci folosite:

  • Wire.h
  • Adafruit_GFX.h
  • Adafruit_SSD1306.h

Funcționalități implementate:

  1. La început, am definit dimensiunile afișajului OLED și conectarea sa prin I2C. De asemenea, am definit valoarea pentru care pământul din ghiveci este considerat uscat, precum și pinii pentru pompă, senzor și led-uri.
  2. În secțiunea setup():
    • Am inițializat afișajul OLED cu adresa corespunzătoare și verific dacă inițializarea a fost realizată cu succes.
    • Afișez mesajul “Hello”, după care afișez mesajul “Loading” cu o animație de trei puncte.
    • Se configurează pinii pentru pompa și led-uri și se setează valoarea pinului pompei la HIGH, deoarece releul funcționează pe logică negativă (cât timp releul primește HIGH de la arduino, pompa este închisă – ea fiind conectată la Normally On).
  3. În secțiunea loop():
    • Afișez numele plantei pe ecran.
    • Se citește valoarea de umiditate curentă de la senzorul de umiditate a solului. Și se afișează pe ecran.
    • Se așteaptă un timp, iar dacă valoarea de umiditate este mai mare sau egală cu valoarea la care solul este considerat uscat: se afișează mesajul “Watering required” pe ecran, se activează pompa (pinul pompei se setează pe nivel logic LOW) pentru a furniza apă plantei, LED-ul roșu efectuează o secvență de variații a intensității luminoase (contol PWM) pentru a indica procesul de udare.
    • Apoi pompa se oprește (pinul pompei se setează pe nivel logic HIGH), LED-ul roșu se stinge, iar LED-ul verde se aprinde pentru a indica încheierea procesului de udare. Se afișează mesajul “Done Watering” pe ecran.
    • Dacă valoarea de umiditate este suficientă, se afișează mesajul “Watering not required” pe ecran.

Rezultate Obţinute

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

Concluzii

Download

În această arhivă este codul Arduino și un video cu funcționalitatea proiectului: proiect_pm_dita_alin_336ca.zip

Jurnal

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

Bibliografie/Resurse

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

Export to PDF

pm/prj2023/avaduva/waterdispenser.1685369575.txt.gz · Last modified: 2023/05/29 17:12 by alin_gabriel.dita
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