This shows you the differences between two versions of the page.
|
pm:prj2026:florin.stancu:bogdan.panaitiu [2026/05/24 12:43] bogdan.panaitiu |
pm:prj2026:florin.stancu:bogdan.panaitiu [2026/05/24 12:47] (current) bogdan.panaitiu |
||
|---|---|---|---|
| Line 114: | Line 114: | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | //(Se vor adauga dupa finalizarea proiectului)// | + | Proiectul PlantPal a demonstrat ca un sistem util si functional poate fi construit cu componente accesibile si cunostinte acumulate in primele luni de la cursul de PM. Pe parcurs am invatat ca dezvoltarea unui proiect embedded nu inseamna doar scris cod, ci si planificarea atenta a conexiunilor hardware, calibrarea senzorilor, gestionarea timing-ului non-blocking si testarea incrementala a fiecarei componente in parte. |
| + | |||
| + | ==== Ce a mers bine ==== | ||
| + | |||
| + | * **Testarea incrementala** a fost cea mai utila decizie - in loc sa cablez tot odata si sa incerc sa pornesc proiectul intreg, am conectat si testat cate o componenta pe rand, ceea ce a redus semnificativ timpul de debug. | ||
| + | * **Simularea in Tinkercad inainte de montaj fizic** a ajutat sa identific cum trebuie conectate componentele si sa testez logica de baza inainte sa cumpar piesele. | ||
| + | * **Modulele cu electronica integrata** (KY-016 pentru LED RGB, senzor capacitiv sol, modul DHT11) au simplificat mult cablajul fata de varianta cu componente brute. | ||
| + | * **State machine non-blocking** cu millis() functioneaza fluent si permite executia simultana a mai multor task-uri (citire senzori, refresh display, alerte, butoane). | ||
| + | |||
| + | ==== Dificultati intampinate ==== | ||
| + | |||
| + | * **Initializarea LCD-ului** se bloca pana am adaugat manual Wire.begin() si Wire.setClock(100000) inainte de lcd.begin(), problema specifica versiunii bibliotecii folosite. | ||
| + | * **Tipul LED-ului RGB** (anod vs catod comun) a fost confundat initial - am rezolvat prin testarea ambelor logici si folosirea unui define LED_ANODE_COMMON pentru a face cod-ul reutilizabil. | ||
| + | * **Calibrarea senzorului capacitiv de sol** - valorile difera fata de senzorul rezistiv din Tinkercad (in real, valoare mica = umed, in Tinkercad invers). | ||
| + | |||
| + | ==== Reflectie personala ==== | ||
| + | |||
| + | A fost prima oara cand am construit un proiect embedded de la zero, plecand de la o idee si ajungand la un produs functional. Cea mai valoroasa lectie a fost importanta documentarii si planificarii inainte de a incepe sa lipesc fire pe breadboard. De asemenea, am inteles practic diferenta intre cod care "merge in simulare" si cod care "merge pe hardware real" - sunt suficiente diferente subtile (adresa I2C, tipul LED-ului, calibrarea senzorilor) ca sa te blocheze daca nu testezi pe fiecare etapa. | ||
| ===== Bibliografie / Resurse ===== | ===== Bibliografie / Resurse ===== | ||
| - | //(Se vor adauga dupa finalizarea proiectului)// | + | ==== Datasheet-uri ==== |
| + | |||
| + | * [[https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf|Arduino Uno R3 Datasheet]] | ||
| + | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet]] | ||
| + | * [[https://components101.com/sites/default/files/component_datasheet/DHT11-Temperature-Sensor.pdf|DHT11 Datasheet]] | ||
| + | * [[https://www.alldatasheet.com/datasheet-pdf/pdf/22683/STMICROELECTRONICS/LM393.html|LM393 Datasheet (utilizat ca referinta)]] | ||
| + | |||
| + | ==== Documentatie biblioteci ==== | ||
| + | |||
| + | * [[https://github.com/johnrickman/LiquidCrystal_I2C|LiquidCrystal_I2C library]] | ||
| + | * [[https://github.com/adafruit/DHT-sensor-library|Adafruit DHT sensor library]] | ||
| + | * [[https://www.arduino.cc/reference/en/language/functions/communication/wire/|Arduino Wire library reference]] | ||
| ---- | ---- | ||
| **Repository GitHub:** [[https://github.com/rici029/PlantPal]] | **Repository GitHub:** [[https://github.com/rici029/PlantPal]] | ||
| - | |||
| - | **Demo video:** //(va fi adaugat link YouTube la finalul proiectului)// | ||