This shows you the differences between two versions of the page.
|
pm:prj2025:avaduva:ioan_calin.ilie [2025/05/21 15:11] ioan_calin.ilie [Software Design] |
pm:prj2025:avaduva:ioan_calin.ilie [2025/05/21 17:05] (current) ioan_calin.ilie |
||
|---|---|---|---|
| Line 117: | Line 117: | ||
| Au fost utilizate următoarele librării open-source: | Au fost utilizate următoarele librării open-source: | ||
| - | * '''LCD_I2C.h''' – pentru afișarea pe LCD 16x2 prin I2C (PCF8574) | + | * '''LCD_I2C.h''' – pentru afișarea pe LCD 16x2 prin I2C |
| * '''Wire.h''' – pentru comunicația I2C | * '''Wire.h''' – pentru comunicația I2C | ||
| * '''DHT.h''' – pentru senzorul DHT11 (temperatură și umiditate) | * '''DHT.h''' – pentru senzorul DHT11 (temperatură și umiditate) | ||
| Line 134: | Line 134: | ||
| Următoarele concepte învățate în laborator au fost aplicate: | Următoarele concepte învățate în laborator au fost aplicate: | ||
| - | * '''GPIO''' – pentru controlul motoarelor și LED-urilor | + | * '''GPIO''' – pentru controlul LED-urilor |
| * '''PWM''' – pentru acționarea precisă a motoarelor DC | * '''PWM''' – pentru acționarea precisă a motoarelor DC | ||
| * '''ADC''' – pentru citirea valorii analogice de la senzorul de ploaie | * '''ADC''' – pentru citirea valorii analogice de la senzorul de ploaie | ||
| * '''I2C''' – pentru comunicația eficientă cu modulul LCD | * '''I2C''' – pentru comunicația eficientă cu modulul LCD | ||
| - | * '''Temporizare''' – folosind funcția <code>millis()</code> pentru afișare alternativă și evitarea <code>delay()</code> | + | * '''Temporizare''' – pentru afișare alternativă și evitarea '''delay()''' |
| **Explicația scheletului și interacțiunii** | **Explicația scheletului și interacțiunii** | ||
| Line 150: | Line 150: | ||
| Toate componentele sunt sincronizate logic, iar testarea a fost realizată incremental, pornind de la simulări în Tinkercad și verificări în consolă (Serial Monitor) pentru validarea fiecărei funcționalități. | Toate componentele sunt sincronizate logic, iar testarea a fost realizată incremental, pornind de la simulări în Tinkercad și verificări în consolă (Serial Monitor) pentru validarea fiecărei funcționalități. | ||
| - | **Calibrarea elementelor de senzorică** | + | **Calibrarea elementelor de senzoristică** |
| Senzorul de ploaie a fost testat empiric, prin observarea valorilor analogice returnate în stare uscată și umedă. Pragul de 700 a fost ales în urma testelor. Pentru DHT11, valorile de temperatură și umiditate au fost verificate comparativ cu un dispozitiv extern, iar pragurile de decizie au fost ajustate în cod pentru a reflecta condițiile reale. | Senzorul de ploaie a fost testat empiric, prin observarea valorilor analogice returnate în stare uscată și umedă. Pragul de 700 a fost ales în urma testelor. Pentru DHT11, valorile de temperatură și umiditate au fost verificate comparativ cu un dispozitiv extern, iar pragurile de decizie au fost ajustate în cod pentru a reflecta condițiile reale. | ||
| Line 162: | Line 162: | ||
| **Demo video** | **Demo video** | ||
| + | [[https://youtu.be/CXqHmQ2gprg| Link către demo YouTube]] | ||
| + | Videoclipul de mai sus prezintă funcționarea completă a sistemului de pergolă automatizată, evidențiind declanșarea extinderii sau retragerii în funcție de condițiile meteo detectate de senzori, afișajul dinamic pe LCD și semnalizarea vizuală cu LED-uri. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | Proiectul a atins cu succes toate obiectivele propuse inițial, fiind realizat un sistem complet funcțional de pergolă automatizată, capabil să reacționeze inteligent la condițiile meteorologice detectate în timp real. În urma implementării, au fost obținute următoarele rezultate concrete: |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | * Pergola se extinde automat în cazul detectării ploii, a umidității ridicate sau a temperaturilor scăzute, pe baza datelor de la senzori; |
| + | * Retragerea se realizează automat în absența acestor condiții, menținând astfel un spațiu deschis optim în condiții favorabile; | ||
| + | * Afișajul LCD 16x2 comută în mod ciclic între starea pergolei și valorile actuale de temperatură și umiditate, oferind feedback clar utilizatorului; | ||
| + | * LED-urile roșu și verde semnalizează vizual în timp real dacă pergola este extinsă sau retrasă; | ||
| + | * Sistemul a fost validat prin testare fizică și simulare, comportându-se stabil și previzibil; | ||
| + | * Codul firmware este modular, eficient și permite extinderi ulterioare (ex: integrare cu aplicații mobile sau senzori suplimentari). | ||
| + | |||
| + | Proiectul demonstrează integrarea eficientă a mai multor funcționalități studiate în laborator, într-un sistem embedded cu aplicabilitate practică reală. | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | |||
| + | Proiectul realizat demonstrează posibilitatea construirii unui sistem automatizat de control al unei pergole, folosind concepte fundamentale din domeniul microcontrolerelor și al senzoristicii. Prin integrarea mai multor funcționalități studiate în cadrul laboratorului, am reușit să dezvolt o soluție capabilă să reacționeze în timp real la condițiile de mediu și să ofere un feedback clar utilizatorului. | ||
| + | |||
| + | Implementarea s-a realizat incremental, cu validare individuală a fiecărui modul, ceea ce a condus la o structură de cod stabilă și extensibilă. Utilizarea afișajului LCD și a LED-urilor de stare a contribuit la o interfață de utilizare intuitivă, în timp ce gestionarea semnalelor PWM, ADC și I2C a oferit un exemplu concret de aplicare practică a noțiunilor teoretice. | ||
| + | |||
| + | Proiectul poate fi îmbunătățit pe viitor prin integrarea unei conexiuni wireless (Bluetooth sau WiFi), adăugarea unui sistem de logare a datelor sau conectarea la o aplicație mobilă. În forma actuală, sistemul este complet funcțional și demonstrează eficiența soluțiilor embedded în automatizarea diverselor spații. | ||
| ===== Download ===== | ===== Download ===== | ||
| - | <note warning> | + | Arhiva de mai jos conține toate fișierele relevante pentru proiectul „Pergolă Automatizată”, inclusiv codul sursă, schemele electrice, documentația auxiliară și un videoclip demonstrativ. |
| - | 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**. | + | Fișierele incluse: |
| - | </note> | + | * Codul sursă complet: `main_pergola.ino` |
| + | * Scheme electrice realizate în KiCad (`.kicad_sch`) și versiune exportată `.jpg` | ||
| + | * Diagramă logică de semnal (`.png`) | ||
| + | * Fotografii cu montajul fizic al circuitului | ||
| + | * Fișier `README.txt` cu instrucțiuni detaliate | ||
| + | * `ChangeLog.txt` cu istoricul modificărilor | ||
| + | * Videoclip de prezentare a funcționării sistemului | ||
| - | ===== Jurnal ===== | + | [[https://ocw.cs.pub.ro/courses/_media/pm/prj2025/avaduva/pergola_automata_ilie_calin.zip |Descarcă arhiva completă a proiectului (.zip)]] |
| - | <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 ===== | ||
| - | <note> | + | === Resurse Hardware === |
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * Datasheet ATmega328P – [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Datasheet oficial Microchip] |
| - | </note> | + | * Specificații senzor DHT11 – [https://sigmanortec.ro/senzor-temperatura-si-umiditate-dht22 Senzor DHT11 - Sigmanortec] |
| + | * Modul senzor ploaie – [https://www.optimusdigital.ro/ro/senzori-senzori-de-umiditate/5775-modul-senzor-de-ploaie.html Modul senzor ploaie - Optimus Digital] | ||
| + | * Driver motoare L298N – [https://www.handsontec.com/dataspecs/L298N%20Motor%20Driver.pdf Datasheet oficial L298N] | ||
| + | * LCD 16x2 cu I2C – [https://www.optimusdigital.ro/en/lcds/62-1602-lcd-with-i2c-interface-and-yellow-green-backlight.html LCD cu I2C - Optimus Digital] | ||
| + | |||
| + | |||
| + | |||
| + | === Resurse Software === | ||
| + | * Arduino IDE – [https://www.arduino.cc/en/software] | ||
| + | * Biblioteca DHT – [https://github.com/adafruit/DHT-sensor-library] | ||
| + | * Biblioteca LiquidCrystal_I2C – [https://github.com/johnrickman/LiquidCrystal_I2C] | ||
| + | * WaveDrom editor – [https://wavedrom.com/editor.html] | ||
| + | * Tinkercad Circuits – [https://www.tinkercad.com/circuits] | ||
| + | * KiCad EDA – [https://www.kicad.org/] | ||
| + | |||
| + | === Alte resurse === | ||
| + | * Forum Arduino – [https://forum.arduino.cc/] | ||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||