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:32]
florin.postolache [Hardware Design]
pm:prj2022:robert:automatizare_irigatie_solar [2022/05/27 23:10] (current)
florin.postolache [Bibliografie/Resurse]
Line 34: Line 34:
 | 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 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**. 
-</​note>​ 
 ===== Jurnal ===== ===== Jurnal =====
  
Line 78: Line 78:
 ===== 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
  
-<​note>​ +  ​* Resurse Hardware 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +    ​* https://​www.alldatasheet.com/​datasheet-pdf/​pdf/​58557/​DALLAS/​DS18B20.html 
-</note>+    ​* 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.1653499935.txt.gz · Last modified: 2022/05/25 20:32 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