This shows you the differences between two versions of the page.
pm:prj2024:avaduva:cerasela.soare [2024/05/24 17:49] cerasela.soare [Software Design] |
pm:prj2024:avaduva:cerasela.soare [2024/05/24 18:09] (current) cerasela.soare [Download] |
||
---|---|---|---|
Line 21: | Line 21: | ||
<note tip> | <note tip> | ||
{{:pm:prj2024:avaduva:cerasela_soare.png?200|}} | {{:pm:prj2024:avaduva:cerasela_soare.png?200|}} | ||
+ | |||
1. Hardware: | 1. Hardware: | ||
- | * Arduino Microcontrolerul Arduino este componenta centrală a proiectului și este responsabil de preluarea datelor de la senzori și controlul afișajului LCD | + | * Arduino: Microcontrolerul Arduino este componenta centrală a proiectului și este responsabil de preluarea datelor de la senzori și controlul afișajului LCD |
- | * Senzorul XD-58C: Acest senzor măsoară pulsul si ritmul cardiac și furnizează datele către Arduino | + | * Senzorul XD-58C: Acest senzor măsoară pulsul si ritmul cardiac și furnizează datele către Arduino |
- | * Senzorul DHT11: Acest senzor măsoară temperatura și umiditatea și furnizează datele către Arduino | + | * Senzorul DHT11: Acest senzor măsoară temperatura și umiditatea și furnizează datele către Arduino |
- | * Afișaj LCD: Afișajul LCD este utilizat pentru a afișa datele colectate de la senzori | + | * Afișaj LCD: Afișajul LCD este utilizat pentru a afișa datele colectate de la senzori |
- | * Baterie externa | + | * Baterie externa |
2. Software: | 2. Software: | ||
- | * Biblioteci: <LiquidCrystal_I2C.h>, <dht.h>, <PulseSensorPlayground.h> | + | * Biblioteci: <LiquidCrystal_I2C.h>, <dht.h>, <PulseSensorPlayground.h> |
- | * Configurare: Software-ul include funcții de configurare a senzorilor și a afișajului LCD pentru a asigura funcționarea corectă a acestora. | + | * Configurare: Software-ul include funcții de configurare a senzorilor și a afișajului LCD pentru a asigura funcționarea corectă a acestora. |
- | * Prelevarea datelor: Arduino preia datele de la senzori prin intermediul interfeței hardware corespunzătoare și le procesează. | + | * Prelevarea datelor: Arduino preia datele de la senzori prin intermediul interfeței hardware corespunzătoare și le procesează. |
- | * Afișarea datelor: Arduino afișează datele colectate pe afișajul LCD într-un format ușor de citit. | + | * Afișarea datelor: Arduino afișează datele colectate pe afișajul LCD într-un format ușor de citit. |
Modul în care modulele hardware și software interacționează este următorul: Arduino inițializează și configurează senzorii și afișajul LCD. După aceasta, Arduino preia datele de la senzori în mod regulat și le afișează pe afișajul LCD. Astfel, utilizatorul poate vizualiza în timp real informațiile colectate de senzori, facilitând monitorizarea și interpretarea datelor. | Modul în care modulele hardware și software interacționează este următorul: Arduino inițializează și configurează senzorii și afișajul LCD. După aceasta, Arduino preia datele de la senzori în mod regulat și le afișează pe afișajul LCD. Astfel, utilizatorul poate vizualiza în timp real informațiile colectate de senzori, facilitând monitorizarea și interpretarea datelor. | ||
Line 65: | Line 65: | ||
<note tip> | <note tip> | ||
Mediul de dezvoltare: | Mediul de dezvoltare: | ||
+ | |||
Pentru acest proiect, am utilizat Arduino IDE pentru programarea pe Arduino UNO, deoarece este o aplicație gratuită și ușor de folosit, care oferă o serie de funcționalități utile pentru dezvoltarea proiectelor pe platforma Arduino. | Pentru acest proiect, am utilizat Arduino IDE pentru programarea pe Arduino UNO, deoarece este o aplicație gratuită și ușor de folosit, care oferă o serie de funcționalități utile pentru dezvoltarea proiectelor pe platforma Arduino. | ||
Line 165: | Line 166: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{:pm:prj2024:avaduva:cerasela_soare_3.jpeg?200|}} |
+ | |||
+ | Primul rând al ecranului LCD afișează trei valori principale: | ||
+ | |||
+ | * Temperatura (T): Este afișată în grade Celsius (C). De exemplu, dacă temperatura este 23 de grade, va apărea ca T:23C. | ||
+ | * Umiditatea (H): Este afișată în procente (%). De exemplu, dacă umiditatea este 45%, va apărea ca H:45%. | ||
+ | * Pulsul (P): În realitate, acest cod citeaste o valoare analogică de la senzorul de puls, iar dacă această valoare este mai mare de 550, va afișa P:<valoare>. Dacă valoarea este sub 550, va afișa P:0. | ||
+ | |||
+ | Al doilea rând al ecranului LCD afișează starea de spirit detectată în funcție de pragurile prestabilite pentru temperatură, umiditate și puls. | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Acest proiect Arduino integrează cu succes mai mulți senzori și un ecran LCD pentru a monitoriza și afișa date esențiale privind temperatura, umiditatea și pulsul utilizatorului în timp real. Folosind biblioteca Wire pentru comunicație I2C și biblioteci specifice pentru senzorii DHT11 și de puls, proiectul oferă o interfață intuitivă și ușor de înțeles. Prin analiza simplificată a datelor colectate, proiectul poate determina și afișa o stare de spirit generală, oferind astfel utilizatorului o perspectivă rapidă asupra condițiilor de mediu și a stării de sănătate. Acest proiect demonstrează modul în care tehnologia poate fi utilizată pentru a îmbunătăți confortul personal și pentru a monitoriza parametri importanți ai mediului și ai sănătății. | ||
+ | Posibile Îmbunătățiri: Implementarea unui algoritm de filtrare pentru datele de puls pentru a elimina zgomotul și a oferi citiri mai precise, Adăugarea unor LED-uri sau a unui buzzer pentru a emite semnale vizuale sau sonore atunci când sunt detectate condiții critice de mediu sau valori anormale ale pulsului, Implementarea unui sistem de alimentare cu baterii și a unor tehnici de economisire a energiei pentru a face dispozitivul portabil și autonom. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note> |
- | 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ă ;-). | + | {{:pm:prj2024:avaduva:arhiva.zip|}} |
- | + | ||
- | 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> | ||