This is an old revision of the document!


Automatizare irigație solar

  • Autor: Postolache Florin
  • Grupă: 335CC

Introducere

Proiectul reprezintă un prototip pentru o automatizare a unui solar. Acesta va analiza 2 dintre cele mai importante necesități ale unei plante cu ajutorul a doi senzori. (senzor de temperatură și senzor de măsurare a umidității solului)

Descriere generală

Plăcuța va analiza datele primite de la cei doi senzori și în funcție de valorile primite de la aceștia, va reacționa în următoarele moduri:

  • În cazul în care temperatura din cameră este prea ridicată, se va activa un buzzer care va atenționa utilizatorul că trebuie să deschidă solarul.
  • În cazul în care solul este mult prea uscat, se va porni o pompă care va împinge apa dintr-un rezervor către pământ. Pentru a ne asigura că există presiune pe furtun, în celălalt capăt se va afla o electrovalvă care se va deschide la puțin timp după activarea pompei.
  • În cazul în care nu mai există apă în rezervor, același buzzer menționat mai sus va începe să sune pentru a atenționa utilizatorul că trebuie să intervină.

De asemenea, acesta va afișa toate datele primite pe un ecran LCD.

SCHEMA BLOC

Hardware Design

Componente utilizate
Senzor de temperatură
Senzor de umiditate a solului
Senzor de nivel
Buzzer
Modul releu 2 canale
Ecran LCD 16×2
Pompă submersibilă 12V
Electrovalvă 12V
Diodă
Tuburi
Cabluri
Rezistențe diverse valori
Arduino UNO R3 ATmega328p

Software Design

  • mediu dezvoltare: Arduino IDE
  • biblioteci folosite:
    • LiquidCrystal - folosită pentru a afișa date pe ecranul lcd
    • OneWire, DallasTemperature - folosite pentru a comunica cu senzorul de temperatură și a prelucra informația oferită de acesta

Logica

  • void setup() - inițializez comunicarea cu lcd-ul, creez caracterul special pentru grade, definesc restul pinilor ca fiind de input/output și atașez întreruperi butoanelor care schimbă datele ce se afișează pe lcd
  • void loop() - se apelează la infinit urmatoarele funcții:
    • humidity_analysis(): Citește valoarea primită de la senzorul de umiditate a solului. În funcție de valoarea primită de la senzor și valoarea booleanului este_gol_rezervorul pornește pompa și deschide electrovalva/oprește pompa și închide electrovalva.
    • get_temp(): Citește valoarea primită de la senzorul de temperatură.
    • get_distance(): Aflu nivelul apei din rezervor. Trimit o undă direct către suprafața apei. Aștept ecoul ei să fie captat de senzor. Nivelul este determinat pe baza diferenței de timp între trimitere-captare.
    • trigger_buzzer(): Analizează valorile date de senzorul de temperatură și senzorul ultrasonic și pe baza acestora vede dacă trebuie să pornească sau nu buzzer-ul.
    • afiseaza_date(): Afișează informațiile citite de pe senzori.

Rezultate Obţinute

Proiectul functionează conform dorințelor mele. Singurul lucru pe care aș mai vrea să îl îmbunătățesc la această versiune este să meargă cu un singur alimentator.

Concluzii

Download

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.

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/prj2022/robert/automatizare_irigatie_solar.1653556027.txt.gz · Last modified: 2022/05/26 12:07 by florin.postolache
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