This shows you the differences between two versions of the page.
pm:prj2024:vstoica:tudor.popescu0210 [2024/05/22 14:23] tudor.popescu0210 |
pm:prj2024:vstoica:tudor.popescu0210 [2024/05/27 02:09] (current) tudor.popescu0210 |
||
---|---|---|---|
Line 52: | Line 52: | ||
* HC-SR04 Ultrasonic Sensor Module | * HC-SR04 Ultrasonic Sensor Module | ||
* Senzor analogic umiditate sol | * Senzor analogic umiditate sol | ||
- | * Buzzer | + | * Buzzer pasiv |
* Pompa apa submersibila, 3-6VDC | * Pompa apa submersibila, 3-6VDC | ||
* IRF520 MOSFET power transistor module | * IRF520 MOSFET power transistor module | ||
Line 66: | Line 66: | ||
{{ :pm:prj2024:vstoica:reservoir.jpg |}} | {{ :pm:prj2024:vstoica:reservoir.jpg |}} | ||
=== Monitorizarea plantei === | === Monitorizarea plantei === | ||
- | |||
{{ :pm:prj2024:vstoica:plant.jpg |}} | {{ :pm:prj2024:vstoica:plant.jpg |}} | ||
- | <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 ===== | ||
+ | Initializarea și scrierea pe display (prin I2C) se realizează utilizând biblioteca LiquidCrystal_I2C.h. | ||
- | <note tip> | + | {{ :pm:prj2024:vstoica:display1.png |}} |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | Citirea și afisarea valorilor captate de senzorul pentru temperatura și umiditate (AHT10 prin I2C) se realizeaza utilizand biblioteca AHTxx.h. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | {{ :pm:prj2024:vstoica:senzortemp.png |}} |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | Determinarea nivelului de apa din rezervor se realizeaza prin funcția următoare, ce măsoară durata între trimiterea unui impuls sonor și captarea acestuia, utilizând un senzor ultrasonic de distanță. Apoi se realizează conversia în centimetri, luând în calcul viteza sunetului. |
+ | |||
+ | {{ :pm:prj2024:vstoica:distanta.png |}} | ||
+ | |||
+ | Utilizez 2 tipuri de întreruperi: | ||
+ | |||
+ | * hardware interrupt pentru oprirea funcționării atunci când apa din rezervor nu este suficientă. | ||
+ | |||
+ | * pin change interrupt pentru determinarea schimbărilor de umiditate în sol, captate de senzorul analogic plasat în pământ. | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:interrups1.png |}} | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:interrupts2.png |}} | ||
+ | |||
+ | Buzzer-ul pasiv și pompa sunt actionate, utilizând funcțiile tone() și analogWrite() (prin semnale de tip PWM) | ||
+ | |||
+ | Mediu de dezvoltare: Arduino IDE | ||
+ | |||
+ | Librării folosite: Wire.h, LiquidCrystal_I2C.h, AHTxx.h | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | [[https://drive.google.com/file/d/11bJ-L8lfFrCJPRdjtTawlICvzfoTWBr3/view?usp=sharing|Demo funcționare (Google Drive Link)]] |
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | Acest proiect m-a ajutat sa consolidez materia din cadrul laboratoarelor. Mi-a placut sa creez ceva fizic, care functioneaza si are o utilitate practica. Cred ca acest proiect poate fi rafinat si utilizat in propria casa :) | ||
===== Download ===== | ===== Download ===== | ||
+ | <note tip> | ||
+ | Cod Github: [[https://github.com/PopescuTudor/Plant-monitoring-watering-system|aici]] | ||
- | <note warning> | + | Arhivă proiect: {{:pm:prj2024:vstoica:plantmonitoringwateringsystem.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> | </note> | ||
+ | |||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 1 mai - am conceput si formulat tema de proiect |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | * 5 mai - am finalizat lista de piese si am comandat cele necesare |
+ | |||
+ | * 6 mai - am cablat pompa de apa | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:img_8025.jpeg |}} | ||
+ | |||
+ | * 7 mai - am realizat cablarea componentelor, folosind doar breadboard-ul; am testat fiecare componenta in parte, utilizand cod simplu | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:img_7899.jpeg |}} | ||
+ | |||
+ | * 8 mai - am lipit pinii senzorului de temperatura si umiditate AHT10 | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:img_7909.jpg?300 |}} | ||
+ | |||
+ | * 10 mai - sistemul actioneaza pompa cat timp exista apa in rezervor, altfel se aude buzzer-ul pasiv | ||
+ | |||
+ | * 15 mai - am finalizat lipirea tuturor pieselor pe o placa de prototipare (milestone hardware) | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:img_8023.jpeg |}} | ||
+ | |||
+ | {{ :pm:prj2024:vstoica:img_8022.jpeg |}} | ||
+ | |||
+ | * 22 mai - sistemul actioneaza pompa cat timp este apa in rezervor, insa doar atunci cand solul este uscat (milestone software) | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | ==== Resurse hardware ==== |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | === Datasheets === |
+ | * ATMEGA328P - {{:pm:prj2024:vstoica:atmega48a.pdf|}} | ||
+ | |||
+ | * Senzor temperatura & umiditate AHT10 - {{:pm:prj2024:vstoica:aosong_aht10_en_draft_0c.pdf|}} | ||
+ | |||
+ | * Senzor ultrasonic de distanta HC-SR04 - {{:pm:prj2024:vstoica:hc-sr04.pdf|}} | ||
+ | |||
+ | * IRF520 tranzistor de putere - {{:pm:prj2024:vstoica:irf520.pdf|}} | ||
+ | |||
+ | ==== Resurse software ==== | ||
+ | |||
+ | * Arduino hardware interrupts tutorial - [[https://www.youtube.com/watch?v=SXZkX3cJqDs|YouTube Link]] | ||
+ | |||
+ | * Pin change interrupts guide - [[https://dronebotworkshop.com/interrupts/|Link to blog]] | ||
+ | |||
+ | * Tone library in Arduino - [[https://www.arduino.cc/reference/en/libraries/tone/|Arduino official website]] | ||
+ | |||
+ | * Liquid crystal I2C Arduino library - [[https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/|Arduino official website]] | ||
<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> | ||