This shows you the differences between two versions of the page.
pm:prj2024:vstoica:catalin.voicu0510 [2024/05/26 13:26] catalin.voicu0510 [Software Design] |
pm:prj2024:vstoica:catalin.voicu0510 [2024/05/29 11:49] (current) catalin.voicu0510 [Bibliografie si Resurse] |
||
---|---|---|---|
Line 65: | Line 65: | ||
{{:pm:prj2024:vstoica:schema_el_fire_c_voicu.png?700|}} | {{:pm:prj2024:vstoica:schema_el_fire_c_voicu.png?700|}} | ||
- | |||
Line 87: | Line 86: | ||
== Surse si Functii Implementate == | == Surse si Functii Implementate == | ||
- | * Functia setup() -> Initializeaza componentele hardware (senzorul de distanta, pompa, LED-ul, butoanele si LCD-ul). Setează pinurile pentru senzorul ultrasonic.Afișează un mesaj de bun venit pe LCD. | + | * Functia setup() -> configureaza pinii pentru senzorii si dispozitivele de iesire, initializeaza ecranul LCD si seteaza caractere speciale pentru afisare. |
- | * Funcția loop() -> Actualizează ora curentă de la ceasul DS3231. Măsoară distanța folosind senzorul ultrasonic pentru a verifica disponibilitatea hranei.Verifică și execută programele de hrănire la timpii setați.Gestionează intrările de la telecomandă pentru a naviga în meniuri și a seta timpii de hrănire. | + | * Funcția loop() -> este executata repetat si actualizeaza citirile senzorilor, controleaza pompa si LED-ul, gestioneaza interactiunea cu butoanele si afiseaza informatiile pe LCD. |
- | * Funcții de Afișare pe LCD -> writeFirstLine(char* text): Afișează text pe prima linie a ecranului LCD.writeSecondLine(char* text): Afișează text pe a doua linie a ecranului LCD. | + | * Funcția getDistance() -> masoara distanta folosind senzorul ultrasonic si returneaza valoarea in centimetri. |
- | * Funcția microsecondsToCentimeters(long microseconds) -> Convertește timpul de răspuns al senzorului ultrasonic în centimetri. | + | * Funcția updateLED() -> controleaza LED-ul de avertizare in functie de nivelul apei. |
- | * Funcția make_Time(char number) -> Permite utilizatorului să seteze timpul de hrănire prin introducerea cifrelor folosind telecomanda IR. | + | * Funcția readDHT() -> citeste temperatura si umiditatea aerului folosind senzorul DHT11. |
+ | * Funcția debounceButton() -> gestioneaza debounce-ul pentru butoane, asigurand citiri stabile. | ||
+ | * Funcția displayData() -> afiseaza datele pe ecranul LCD, in functie de starea curenta a sistemului si de interacțiunea cu butoanele. | ||
+ | * Funcția debugDisplay() -> afiseaza datele de diagnosticare sau de depanare pe portul serial. | ||
===== Rezultate Obtinute ===== | ===== Rezultate Obtinute ===== | ||
- | <note tip> | + | Plant Feeder a atins obiectivele stabilite si a demonstrat o functionare completa si stabila. Principalele realizari includ hidratarea automata eficienta, monitorizarea conditiilor de mediu, o interfata utilizator intuitiva si functionalitati de control manual. Performanta si fiabilitatea sistemului au fost validate prin teste extinse, confirmând utilitatea si eficienta dispozitivului in ingrijirea plantelor. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | * [[https://www.youtube.com/watch?v=TviKdJ7gy0Yn/PM--PROJECT|Link Youtube]] |
+ | * Proiectul Fizic: | ||
+ | {{:pm:prj2024:vstoica:whatsapp_image_2024-05-28_at_01.29.36_1_.jpeg?700|}} | ||
+ | {{:pm:prj2024:vstoica:whatsapp_image_2024-05-28_at_01.29.36.jpeg?700|}} | ||
+ | | ||
+ | ===== Concluzii ===== | ||
+ | Plant Feeder a demonstrat eficient automatizarea irigării plantelor, menținând umiditatea optimă a solului printr-un sistem de senzori și o pompă de apă. Dispozitivul notifică utilizatorul când nivelul apei din bazin este scăzut și oferă informații despre umiditatea și temperatura aerului pe un ecran LCD. Testele au confirmat funcționarea stabilă și utilitatea acestui sistem, făcându-l ideal pentru oricine dorește să-și întrețină plantele fără eforturi suplimentare. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | * [[https://github.com/VoicuCatalinMarian/PM--PROJECT|Link Github]] |
- | warning | + | * Arhiva: {{:pm:prj2024:vstoica:proiect_c_voicu.zip|}} |
- | </note> | + | |
- | + | ||
- | <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 ===== | ===== Jurnal ===== | ||
- | <note> | + | * 08.04.2024: Prima comanda de piese. |
- | note | + | * 04.05.2024: Creearea paginii OCW si prima versiune a schemei electrice. |
- | </note> | + | * 09.05.2024: Inceperea proiectului fizic. |
- | + | * 13.05.2024: Conectarea tuturor pieselor | |
- | <note tip> | + | * 16.05.2024: A doua comanda de piese. |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 23.05.2024: Forma finala a proiectului pe breadboard. |
- | </note> | + | * 24.05.2024: Adaugarea componentelor pe placuta de prototipare. |
+ | * 25.05.2024: Printarea ultimelor piese si forma finala a proiectului. | ||
===== Bibliografie si Resurse ===== | ===== Bibliografie si Resurse ===== | ||
- | <note> | + | * [[https://www.optimusdigital.ro/ro/placi-avr/4561-placa-de-dezvoltare-compatibila-cu-arduino-uno-r3-atmega328p-atmega16u2-cablu-50-cm.html?search_query=arduino+uno&results=138|Plăcuța de dezvoltare arduino]] |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf|DHT 11]] |
- | </note> | + | * [[https://www.mouser.com/pdfdocs/DFR0464Datasheet.pdf|LCD 1602]] |
- | + | ||
- | <note> | + | |
- | * Schema Bloc este facuta in Draw.io | + | |
- | * | + | |
- | </note> | + | |