Table of Contents

Sistem de irigare a plantelor

Autor: Gherghel Ștefan-Ciprian

Grupă: 333CA

Introducere

Sistemul de irigare este conceput pentru a monitoriza condițiile de mediu și a gestiona automat alimentarea cu apă a plantelor, oferind în același timp flexibilitate prin mai multe moduri de funcționare:

Interfața cu utilizatorul este realizată printr-un ecran OLED și butoane, permițând configurarea parametrilor (intervalul de timp sau valoarea prag a umidității), selectarea modului de funcționare și afișarea umidității solului cât și a temperaturii ambientale. Sistemul va evidenția situațiile limită (rezervor gol sau baterie descărcată) cu ajutorul unui led RGB care pulsează.

Motivația acestui proiect a pornit din nevoia de a-mi menține busuiocul din București sănătos și bine udat atunci când sunt plecat. Într-un context în care timpul disponibil pentru îngrijirea plantelor este adesea limitat, sistemul oferă o soluție practică pentru a susține creșterea și întreținerea acestora, chiar și în lipsa unei supravegheri constante.

Descriere generală

Schemă bloc

Mod de funcționare

Sistemul funcționează pe baza unui microcontroler (ATmega328P), care colectează și procesează datele provenite de la senzori și controlează acționarea pompei de apă în funcție de modul de funcționare selectat.

Conectate la microcontroler sunt următoarele componente:

Pentru siguranță și fiabilitate, sistemul include mecanisme de protecție:

Mod automat (bazat pe umiditate) - HUMIDITY

În acest mod, sistemul realizează udarea în funcție de nivelul de umiditate al solului.

Microcontrolerul citește periodic valoarea senzorului de umiditate. Valoarea obținută este comparată cu un prag minim. Utilizatorul poate selecta pragul de dintr-o listă prestabilită cu ajutorul butoanelor.

Dacă umiditatea scade sub pragul minim → pompa este activată pentru o durată fixă.

Mod periodic (pe bază de timp) - TIMED

În acest mod, udarea se realizează la un interval regulat de timp, indiferent de valoarea umidității.

Microcontrolerul utilizează timere interne pentru a măsura timpul scurs. Utilizatorul poate selecta intervalul de udare dintr-o listă prestabilită cu ajutorul butoanelor.

La atingerea intervalului → pompa este activată pentru o durată fixă iar apoi timerul este resetat.

Mod manual - MANUAL

În acest mod, utilizatorul are control direct asupra pompei.

Pompa este activată prin apăsarea unui buton și funcționează doar pe durata menținerii acestuia apăsat.

Afișare

Sunt prezente două tipuri de meniuri afișate pe ecranul OLED (schimbarea lor are loc prin apăsarea unui buton).

Al treilea ecran - WATERING - este afișat atunci când display-ul nu este în Standby și are loc o udare.

Standby

După un anumit interval de timp de inactivitate din partea utilizatorului ecranul se stinge și microcontroller-ul își limitează intr-o anumită măsură activitatea (spre exemplu nu mai citește temperatura).

Hardware Design

Bill of Materials

Componentă Cantitate Link Preț unitar (RON)
Placă dezvoltare NANO v3 AtMega 328p 1 Link24.44
Display OLED I2C 1 Link 16.95
Pompă apă submersibilă 1 Link7.62
Furtun Pompă 1 Link 6.36
Releu 1 Link5.45
Senzor temperatură LM35 1 Link 7.26
Senzor higrometru capacitiv 1 Link 5.49
Senzor nivel lichid 1 Link1.78
Breadboard 1 Link 11.30
Buton PCB 4 Link0.36
LED RGB 1 Link1.51
Suport 4AA 1 Link6.34
Fire Dupont 10cm Tata-Tata TBD Link0.15
Fire Dupont 20cm Tata-Mama TBD Link0.25
Rezistență 470 2 Link0.15
Diodă 1N4007 1 Link0.49
Rezistență 10k 2 Link0.15
Baterii AA 4 2.00
Preț total 104.66 RON

Schema electrică

Pinout (principale conexiuni)

Senzor temperatură

Pin componentă Pin arduino Pin microcontroller Mențiuni
GND GDN
VCC 5V
OUT A0 PC0 ADC0

Senzor umiditate sol

Pin componentă Pin arduino Pin microcontroller Mențiuni
GND GND
VCC 5V
OUT A2 PC2 ADC2

Senzor nivel apă

Pin componentă Pin arduino Pin microcontroller Mențiuni
GND GND
VCC 5V
OUT A1 PC1 ADC1

LED RGB

Pin componentă Pin arduino Pin microcontroller Mențiuni
Anod 5V
Red 10 PB2 PWM
Blue 9 PB1 PWM

OLED

Pin componentă Pin arduino Pin microcontroller Mențiuni
GND GND
VCC 3V3
SCL A5 PC5 I2C
SDA A4 PC4 I2C

Modul releu

Pin componentă Pin arduino Pin microcontroller Mențiuni
GND GND
VCC 5V
IN 8 PB0 Comandă digitală

Prin releu este comandată pompa submersibilă.

Conectări

Pin 1 Pin 2 Mentiuni
COM - releu (+) - baterie
NO - releu (+) - pompă

Pe bornele pompei se află o diodă 1N4007 pentru protejarea circuitului împotriva tensiunilor inverse.

Divizor tensiune

Divizorul de tensiune este utilizat pentru monitorizarea tensiunii pe baterie și este alcătuit din două rezistențe de 10k. Valoarea este citită de pe pinul A3(PC3) - ADC3.

Butoane

Buton Pin arduino Pin microcontroller Mențiuni
BTN1 2 PD2 INT0
BTN2 3 PD3 INT1
BTN3 4 PD4 PCINT20
BTN4 7 PD7

Butoanele au activată rezistența de pull-up.

Software Design

Mediu de dezvoltare:

Biblioteci utilizate:

Funcționare:

Calibrare senzori:

Utilizare noțiuni laborator:

Element de noutate : Combinarea celor trei moduri de funcționare diferite.

Rezultate Obţinute

Ecran STANDARD
 Ecran STANDARD

Ecran STANDARD (după reset)
 Ecran STANDARD (după reset)

Ecran MENU
 Ecran MENU

Ecran WATERING
 Ecran WATERING

Link-uri rezultate:

A se ignora valoarea afișată a temperaturii în videoclipuri deoarece am rupt unul dintre picioarele senzorului și nu era conectat.

Concluzii

Download

Repository

Jurnal

Bibliografie/Resurse

Resurse Hardware

Resurse Software

Export to PDF