Table of Contents

Sistem de irigare automată


Introducere


Proiectul constă în realizarea unui sistem care să monitorizeze umiditatea solului uneia sau mai multor plante, iar când solul se usucă sub un anumit prag, sistemul o să ude automat pământul. În paralel, sistemul va măsura temperatura locului în care este plasat, informațiile fiind afișate pe un ecran LCD.

Sistemul folosește un senzor de umiditate a solului care este înfipt în pământ, măsurătorile fiind trimise analogic către un microcontroler. Pentru a uda pământul am folosit o pompă de apă, alimentată separat prin o baterie de 9V, care este așezată într-un compartiment umplut cu suficientă apă. Pe ecranul LCD sunt afișate temperatura și umiditatea solului (în procente).

Motivația din spate a venit principal de la faptul că am vrut să lucrez cu componente pe care deja le aveam, ca o provocare pentru mine. De asemenea, am vrut să lucrez cu componente pe care nu prea le-am folosit (senzorul de umiditate, pompa de apă, ecranul LCD), pentru a afla mai mult despre ele. Specific, am ales acest proiect pentru că mi s-a părut că pot să-l folosesc și după ce este prezentat și că are loc suficient pentru a îl îmbunătăți și dezvolta ulterior.

Acest proiect poate fi util pentru persoanele care uită sau sunt plecate și nu reușesc să își ude plantele din motive personale. De asemenea, există persoane cu probleme medicale care poate nu pot să își ude singure plantele (ex. planta este așezată pe un raft sau într-un loc la înălțime și persoana nu poate ajunge să o ude). În plus, există plante care au nevoie de atenție ridicată și trebuie să fie udate constant pentru că altfel se usucă.

Descriere Generală


Sistemul funcționează astfel:

  1. Microcontrolerul este conectat la o sursă de curent, iar toți senzorii se pornesc.
  2. Microcontrolerul citește datele senzorului de umiditate a solului și a senzorului de temperatură și umiditate.
  3. Dacă citirea analogică a senzorului de umiditate depășește un threshold setat, se încearcă pornirea pompei de apă.
  4. Dacă, de asemenea, butonul pentru pornirea pompei de apă este setat pe ON, se pornește pompa de apă până când măsuratoarea analogică scade sub threshold.
  5. Datele sunt afișate pe ecranul LCD
  6. Se repetă procesul în loop până când microcontrolerul este deconectat de la sursa de curent.

General Diagram

Hardware Design


Lista de piese

Arduino Uno

MPU6050

FC-83 Soil Probe

LM393 Soil Humidity Sensor

1602 LCD Screen

LCM1602 I2C Interface

JQC-3FF-S-Z 5V Relay

3-6V Pump

LM2596 Step-Down Converter

9V Duracell Battery

Conector Baterie 9V

LED

220 Ohm Resistor

Tactile Push Button

Electric Design

Electric Design

Software Design


Bibliotecile folosite sunt:

Prezentarea codului:

void setup() {
  Serial.begin(9600);

  pinMode(buttonPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(buttonPin), turnPumpOnOff, CHANGE);
  pinMode(rainPin, INPUT); 
  pinMode(relayPin, OUTPUT);

  bool status;
  status = mpu.begin();  
  if (!status) {
    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
    while (1);
  }

  lcd.init();
  lcd.backlight();
}

În turnPumpOnOff() doar vom seta flag-ul că s-a apăsat butonul.

Rezultate Obținute


Rezultate Obţinute

Concluzii


A fost un proiect din care am învățat destul de multe și mi-am solidificat cunoștințe de hardware. Am avut câteva probleme care m-au făcut să caut mai amănunțit informații despre cum funcționează unele componente și consider că a fost un milestone pentru mine să realizez sistemul acesta.

Download


proiect_pm.zip

Bibliografie/Resurse