This shows you the differences between two versions of the page.
pm:prj2022:robert:automatizare_irigatie_solar [2022/05/25 20:22] florin.postolache [Rezultate Obţinute] |
pm:prj2022:robert:automatizare_irigatie_solar [2022/05/27 23:10] (current) florin.postolache [Bibliografie/Resurse] |
||
---|---|---|---|
Line 24: | Line 24: | ||
| Senzor de nivel | | | Senzor de nivel | | ||
| Buzzer | | | Buzzer | | ||
- | | Releu | | + | | Modul releu 2 canale | |
| Ecran LCD 16x2 | | | Ecran LCD 16x2 | | ||
- | | Pompă | | + | | Pompă submersibilă 12V | |
- | | Electrovalvă | | + | | Electrovalvă 12V | |
| Diodă | | | Diodă | | ||
| Tuburi | | | Tuburi | | ||
| Cabluri | | | Cabluri | | ||
- | | Rezistențe | | + | | Rezistențe diverse valori| |
| Arduino UNO R3 ATmega328p | | | Arduino UNO R3 ATmega328p | | ||
- | + | {{:pm:prj2022:robert:postolache_florin:schema_electrica.png?800|}} | |
- | <note tip> | + | |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
===== Software Design ===== | ===== 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. | ||
+ | * Pe langa cele două funcții principale, mai folosesc și două întreruperi, una pentru fiecare buton (check_button și check_button_2). Acestea incrementeaza/decrementeaza o variabilă care este folosită pentru a stabili ce informație se va afișa pe ecran. | ||
+ | |||
+ | Tot codul este disponibil [[https://github.com/maniatro111/self_irigation/blob/main/Proiect_PM.ino|aici]]. | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | 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. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | {{:pm:prj2022:robert:postolache_florin:whatsapp_image_2022-05-27_at_22.10.49.jpeg?700|}} |
- | ===== Concluzii ===== | + | |
===== Download ===== | ===== Download ===== | ||
+ | |||
+ | În arhivă mai este prezent și un videoclip în care se prezintă funcționarea proiectului. De asemenea videoclipul poate fi vizualizat și [[https://youtu.be/L8deb7pbE2E|aici]] | ||
+ | |||
+ | {{:pm:prj2022:robert:postolache_florin:resurse_proiect.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | |||
+ | <note tip> | ||
+ | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
+ | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | * Resurse Software | ||
+ | * https://www.arduino.cc/reference/en/libraries/liquidcrystal/ | ||
+ | * https://lastminuteengineers.com/ds18b20-arduino-tutorial/ | ||
+ | * Introducere în Arduino - Optimus Digital | ||
+ | |||
+ | * Resurse Hardware | ||
+ | * https://www.alldatasheet.com/datasheet-pdf/pdf/58557/DALLAS/DS18B20.html | ||
+ | * https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf | ||
+ | * https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf | ||
+ | * https://www.circuitbasics.com/wp-content/uploads/2015/11/SRD-05VDC-SL-C-Datasheet.pdf | ||
+ | |||
+ | {{:pm:prj2022:robert:postolache_florin:pagina_wiki.pdf|}} | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||