Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:robert:automatizare_irigatie_solar [2022/05/25 20:22]
florin.postolache [Jurnal]
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]]
  
-<note warning>​ +{{:pm:​prj2022:​robert:​postolache_florin:​resurse_proiect.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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**. 
-</​note>​ 
 ===== Jurnal ===== ===== Jurnal =====
  
Line 77: Line 77:
 </​note>​ </​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>​
  
pm/prj2022/robert/automatizare_irigatie_solar.1653499366.txt.gz · Last modified: 2022/05/25 20:22 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