This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:darian_petre.duinea [2026/05/09 20:51] darian_petre.duinea created |
pm:prj2026:atoader:darian_petre.duinea [2026/05/09 22:05] (current) darian_petre.duinea |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Nume proiect ====== | + | ====== Leafy (Tamagotchi pentru plante) ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | <note tip> | + | **Leafy** este un sistem interactiv de monitorizare a sănătății plantelor, |
| - | Prezentarea pe scurt a proiectului vostru: | + | inspirat de Tamagotchi. |
| - | * ce face | + | |
| - | * care este scopul lui | + | Dispozitivul citește în permanență doi parametri esențiali ai unei plante:umiditatea solului și nivelul de lumină; și le traduce |
| - | * care a fost ideea de la care aţi pornit | + | într-un limbaj vizual pe care oricine îl înțelege imediat: un avatar |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | animat pe un ecran OLED care zâmbește când planta este fericită, plânge când îi este sete, i se văd doar ochii când stă la întuneric, și emite un sunet de atenționare dacă planta este neglijată mai mult timp. |
| - | </note> | + | |
| + | Ideea a pornit de la o problemă simplă: majoritatea plantelor nu mor din lipsă de dragoste, ci din lipsă de atenție la | ||
| + | momentul potrivit. În loc să verifici manual pământul din ghiveci sau | ||
| + | să îți setezi remindere pe telefon, Leafy îți comunică singur starea | ||
| + | plantei. | ||
| + | |||
| + | Proiectul poate fi util atât pentru persoanele care uită să ude plantele, | ||
| + | cât și ca instrument educațional, transformând îngrijirea unei plante | ||
| + | într-o experiență interactivă, de tip joc. | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | <note tip> | + | Proiectul este structurat în trei module principale care interacționează |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | prin intermediul microcontrollerului ATmega328P de pe placa Xplained Mini. |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | **Modulul de intrare (senzori)** |
| - | </note> | + | |
| - | ===== Hardware Design ===== | + | Doi senzori colectează date din mediul fizic al plantei: |
| + | Senzor capacitiv de umiditate sol — trimite un semnal analogic proporțional cu cantitatea de apă din pământ, citit prin ADC0. | ||
| + | Fotorezistență (LDR) + rezistență de 10kΩ — formează un divizor de tensiune al cărui punct median este citit prin ADC1, indicând intensitatea luminii ambiante. | ||
| + | 1–2 butoane — permit interacțiunea cu meniul (de exemplu, schimbarea ecranului afișat sau resetarea unei alerte). | ||
| - | <note tip> | + | **Unitatea de procesare** |
| - | 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 ===== | + | ATmega328P (placa Xplained Mini) îndeplinește toate funcțiile de calcul: |
| + | * Citește senzorii analogici prin convertorul ADC intern (10 biți). | ||
| + | * Compară valorile citite cu praguri predefinite și determină „starea de spirit" a plantei (fericită, neutră, tristă, în alertă). | ||
| + | * Generează frame-urile de animație ale avatarului și le trimite ecranului prin protocolul I2C. | ||
| + | * Comandă buzzerul prin PWM atunci când unul dintre parametri coboară sub nivelul critic. | ||
| + | **Modulul de ieșire** | ||
| - | <note tip> | + | * **Ecran OLED SSD1306 (128×64 px, I2C)**: afișează avatarul Leafy în diferite stări (vesel, neutru, trist). |
| - | Descrierea codului aplicaţiei (firmware): | + | * **Buzzer piezo**: emite tonuri de atenționare prin PWM când planta are nevoie urgentă de apă sau lumină. |
| - | * 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 ===== | + | **Fluxul de date** |
| - | <note tip> | + | Senzorii trimit semnale analogice → ADC-ul microcontrollerului le |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | convertește în valori digitale → firmware-ul evaluează starea plantei |
| - | </note> | + | pe baza pragurilor configurate → ecranul afișează animația corespunzătoare |
| + | → dacă situația este critică, buzzerul emite o alertă sonoră. | ||
| - | ===== Concluzii ===== | + | {{:pm:prj2026:atoader:darian_petre.duinea.png?600|}} |
| + | ===== Hardware Design ===== | ||
| - | ===== Download ===== | + | **Listă de componente** |
| - | <note warning> | + | ^ Componentă ^ Rol în proiect ^ |
| - | 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ă ;-). | + | | ATmega328P Xplained Mini | Unitatea centrală de procesare | |
| + | | Ecran OLED SSD1306 (128×64, I2C) | Afișarea avatarului și a informațiilor de stare | | ||
| + | | Senzor capacitiv de umiditate sol | Citirea nivelului de apă din pământ (ieșire analogică) | | ||
| + | | Fotorezistență (LDR) | Detectarea intensității luminii ambiante | | ||
| + | | Buzzer piezo pasiv | Alerte sonore generate prin PWM | | ||
| + | | 1–2 butoane (push-button) | Interacțiunea utilizatorului cu meniul | | ||
| - | 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**. | + | **Conectare și scheme electrice (principiu)** |
| - | </note> | + | |
| - | ===== Jurnal ===== | + | * **Senzor umiditate:** VCC → 5V, GND → GND, OUT → ADC0 (PC0). |
| + | * **Circuit LDR:** LDR și rezistența de 10 kΩ conectate în serie între 5V și GND; nodul comun (mijlocul divizorului) → ADC1 (PC1). Când lumina crește, rezistența LDR scade și tensiunea pe nod crește. | ||
| + | * **Ecran OLED SSD1306:** VCC → 3.3V sau 5V (conform specificațiilor modulului), GND → GND, SDA → PC4 (SDA), SCL → PC5 (SCL). | ||
| + | * **Buzzer piezo pasiv:** un terminal → PB1 (OC1A, capabil de PWM), celălalt terminal → GND. Frecvența PWM dictează înălțimea sunetului. | ||
| + | * **Butoane:** un terminal → pin digital (ex. PD2, PD3), celălalt → GND; rezistențele interne de pull-up ale microcontrollerului sunt activate prin software (INPUT_PULLUP). | ||
| - | <note tip> | + | ===== Software Design ===== <note tip> Descrierea codului aplicaţiei (firmware): |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| - | ===== Bibliografie/Resurse ===== | + | 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> | ||
| - | <note> | + | ===== Rezultate Obţinute ===== <note tip> Care au fost rezultatele obţinute în urma realizării proiectului vostru. </note> |
| - | 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> | + | ===== Concluzii ===== |
| + | ===== Download ===== <note warning> 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 ===== <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 ===== <note> 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> | ||