Table of Contents

Sistem de aerisire al unui solar

Introducere

În contextul actual al schimbărilor climatice și al nevoii de a optimiza resursele în agricultură, menținerea condițiilor optime în solare devine crucială pentru o producție eficientă. Acest proiect propune dezvoltarea unui sistem automatizat de aerisire pentru un solar, care să regleze temperatura internă prin deschiderea și închiderea ferestrelor, în funcție de valorile detectate de un senzor de temperatură. Sistemul va include, de asemenea, un display LCD pentru monitorizarea temperaturii. Implementarea acestei soluții tehnologice vizează îmbunătățirea calității producției și reducerea consumului energetic, oferind un instrument valoros pentru adaptarea la condițiile climatice dinamice și pentru promovarea sustenabilității în practicile agricole.

Descriere generală

Schemă bloc

Hardware Design

Schema Electrica

Piese

* Arduino UNO

* Breadboard

* Senzor temperatura LM35 original, TO92, TI

* Ecran LCD

* 2 x Servomotor SG90, 180 grade, cu limitator

* 3 x Butoane

* RGB LED Common Anode

Color frequency:630 - 640 nm Luminous Intensity: 1000-1200 mcd Forward Voltage: 1.8 - 2.0 V

Color frequency: 515 - 525 nm Luminous Intensity: 3000-5000 mcd Forward Voltage: 3.2 - 3.4 V

Color frequency: 465 - 475 nm Luminous Intensity: 2000-3000 mcd Forward Voltage: 3.2 - 3.4 V

Pini

Iată o listă a porturilor folosite în acest proiect și funcțiile fiecăruia:

* Pini pentru LED-ul RGB

* Pin pentru senzorul de temperatură

* Pini pentru Servomotoare

* Pini pentru Butoane

* Conexiuni LCD I2C

Asamblare

* Am lipit cu ciocanul de lipit modulul I2C de ecranul LCD 1602 pentru a il putea conecta la Arduino

* Butonul rosu comuta de la modul de functionare automat bazat pe senzorul de temperatura, la modul manual unde poti avea chiar tu control asupra ferestrelor solarului, putand sa le inchizi si sa le deschizi manual.

* LED-ul RGB este un indicator vizual pe langa lcd care ne arata valoarea temperaturii din interiorul serei, albastru daca temperatura este sub pragul optim (t < 25C), verde daca temperatura este optima(25C < t < 30C), rosie daca este peste pragul optim (t > 30C).

Scurt demo

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Arduino IDE
  • librării şi surse 3rd-party: <Wire.h>, <LiquidCrystal_I2C.h>, <Servo.h>

Funcția setup inițializează toate componentele și setările necesare pentru sistemul de control al serelor:

  Inițializare Serial:
      Porneste comunicarea serială la 9600 baud rate.
  Inițializare LCD:
      Configurează LCD-ul și afișează mesajul "Hello farmers!".
      Creează caractere personalizate pentru diferite simboluri.
  Configurare Pini:
      Setează pinii pentru LED-ul RGB și releul ca ieșiri.
      Setează pinii pentru butoane ca intrări cu rezistențe interne de pull-up.
  Configurare Servomotoare:
      Atașează servomotoarele la pinii specificați și setează pozițiile inițiale ale acestora.
  Inițializare Releu:
      Activează pinul releului la HIGH.
  Întârziere și Curățare LCD:
      Așteaptă 2 secunde și apoi curăță afișajul LCD.

Aceasta pregătește hardware-ul pentru execuția funcției principale loop.

Se efectuează citirea valorii senzorului, conversia acesteia în tensiune, calculul temperaturii bazat pe tensiune, și în final, afișarea temperaturii.

Se schimbă modul de operare între automat și manual la apăsarea unui buton, actualizând afișajul LCD pentru a reflecta noul mod selectat.

Se controlează deschiderea și închiderea ferestrelor în funcție de temperatură și modul selectat (automat sau manual), ajustează pozițiile servomotoarelor în consecință și modifică culoarea unei lumini LED bazat pe temperatura curentă. În plus, activează un releu la temperaturi sub 25 de grade pentru încălzirea serei.

Funcția printToLCD afișează pe un ecran LCD temperatura și starea ferestrelor. Temperatura este simbolizată prin diferite caractere în funcție de valoarea sa, iar starea fiecărei ferestre (deschisă sau închisă) este indicată prin caractere specifice pentru fiecare. Pe lângă acestea, temperatura în grade Celsius este afișată între stările celor două ferestre.

GitHub-Repo

Rezultate Obţinute

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

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