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

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.1685374493.txt.gz · Last modified: 2023/05/29 18:34 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