This shows you the differences between two versions of the page.
pm:prj2023:ibradu:wateringsystem [2023/05/18 23:41] stefan.petrescu0208 [Hardware Design] |
pm:prj2023:ibradu:wateringsystem [2023/05/31 11:21] (current) stefan.petrescu0208 [Rezultate Obţinute] |
||
---|---|---|---|
Line 23: | Line 23: | ||
-Arduino Uno R3 | -Arduino Uno R3 | ||
+ | |||
+ | -Cutie pentru circuit facuta handmade din plexiglass | ||
-Senzor de umiditate a solului | -Senzor de umiditate a solului | ||
-16x2 LCD Display | -16x2 LCD Display | ||
+ | |||
+ | -Potentiometru | ||
-5V Relay Module | -5V Relay Module | ||
-Pompa apa submerisibila | -Pompa apa submerisibila | ||
+ | |||
+ | -Tubing | ||
-Breadboard | -Breadboard | ||
-Jumper Wires | -Jumper Wires | ||
+ | |||
+ | |||
Schema bloc: | Schema bloc: | ||
- | [img]https://i.imgur.com/A0UEuPn.png[/img] | + | {{ :pm:prj2023:ibradu:azzz.png?700 |}} |
===== Software Design ===== | ===== Software Design ===== | ||
+ | Programul folosește biblioteca "LiquidCrystal". Această bibliotecă permite plăcii Arduino să controleze afișajele LiquidCrystal (LCD) și are funcții pentru setarea poziției cursorului și scrierea pe afișaj. | ||
- | <note tip> | + | Algoritmi și structuri de implementat: |
- | 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> | + | |
+ | Codul inițializează pinul senzorului de umiditate a solului ca intrare și pinul releului ca ieșire în funcția setup(). | ||
+ | Citește continuu valoarea de la senzorul de umiditate a solului în funcția loop() și imprimă această valoare pe monitorul serial și pe LCD. | ||
+ | Acesta compară nivelul de umiditate a solului cu două praguri (drySoil și wetSoil) și activează releul (care controlează pompa) dacă solul este prea uscat și dezactivează releul dacă solul este suficient de umed. | ||
+ | |||
+ | Surse și funcții implementate: | ||
+ | |||
+ | pinMode(): Această funcție este folosită pentru a configura un anumit pin să se comporte fie ca intrare, fie ca ieșire. | ||
+ | digitalWrite(): Această funcție este folosită pentru a scrie o valoare HIGH sau LOW pe un pin digital. | ||
+ | analogRead(): Această funcție este utilizată pentru a citi valoarea de la un pin analog specificat. | ||
+ | lcd.print(): Această funcție este folosită pentru a imprima textul pe LCD. | ||
+ | lcd.setCursor(): Această funcție este folosită pentru a poziționa cursorul pe LCD. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | In urma realizarii proiectului, am obtinut urmatoarele rezultate: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | -Am reusit sa implementez cu succes un sistem automat de redare a plantelor pe baza parametrilor de umiditate a solului ce ii citeste de la un senzor. |
- | ===== Download ===== | + | -Se poate folosi si in viata reala, utilizat pentru un sistem de irigatii intr-o gradina la nivel industrial |
- | <note warning> | + | -Am invatat foarte multe lucruri, de la folosirea letcon-ului in mod corect, la imbinarea cutiei facute handmade din bucati de plexiglass in asa fel incat sa nu curga apa pe la colturi |
- | 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 ===== | + | {{ :pm:prj2023:ibradu:673bd1b6-3491-46c7-a930-fccb51b9d927.jpg?300 |}} |
- | <note tip> | + | ===== Download ===== |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | Aici este codul pe care l-am folosit. |
+ | |||
+ | https://we.tl/t-AysYOoqnbJ?utm_campaign=TRN_TDL_05&utm_source=sendgrid&utm_medium=email&trk=TRN_TDL_05 | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse utilizate: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | |
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | "Practical Arduino: Cool Projects for Open Source Hardware", Jonathan Oxer, Hugh Blemings, Apress, 2009. |
+ | "Getting Started with Arduino", Massimo Banzi, Make Community, 2008. | ||
+ | |||
+ | "Arduino Cookbook", Michael Margolis, O'Reilly Media, 2011. | ||
+ | |||
+ | "https://roboromania.ro/datasheet/Arduino-Nano-roboromania.pdf" | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||