Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:avaduva:daria_maria.tanasie [2025/05/22 23:13]
daria_maria.tanasie [Software Design]
pm:prj2025:avaduva:daria_maria.tanasie [2025/05/29 23:25] (current)
daria_maria.tanasie [Concluzii]
Line 92: Line 92:
   * DS3231.h - pentru utilizarea modulul RTC DS3231   * DS3231.h - pentru utilizarea modulul RTC DS3231
   * SoftwareSerial.h - pentru a comunica prin UART cu ESP32   * SoftwareSerial.h - pentru a comunica prin UART cu ESP32
 +  * avr/​interrupt.h - pentru utilizarea intreruperilor
  
 Pentru ESP32: Pentru ESP32:
Line 123: Line 124:
   - Se apeleaza functia set_times() care va astepta ca userul sa scrie timpii doriti si ii va adauga in vectorul meals.   - Se apeleaza functia set_times() care va astepta ca userul sa scrie timpii doriti si ii va adauga in vectorul meals.
   - Functia sort_times() va sorta timpii dati de user, pentru a afla urmatorul timp la care trebuie servita masa. Acest lucru se va realiza convertind ora la minute si adaugand minutul, aflandu-se minutul din zi corespunzator.   - Functia sort_times() va sorta timpii dati de user, pentru a afla urmatorul timp la care trebuie servita masa. Acest lucru se va realiza convertind ora la minute si adaugand minutul, aflandu-se minutul din zi corespunzator.
-  - Pe parcurs se verifica daca timpul curent este acelasi cu timpul la care trebuie eliberata mancarea. Pe ecran se afiseaza constant cat timp a ramas, in functie de ore si/sau minute.+  - Pe parcurs se verifica daca timpul curent este acelasi cu timpul la care trebuie eliberata mancarea. Pe ecran se afiseaza constant cat timp a ramas, in functie de ore si/sau minute. Daca este, se misca servo-ul, se schimba indexul din vectorul meals pentru urmatoarea masa si se trimite mesaj catre ESP32. 
 + 
 +Pentru ESP32: 
 +  - Sunt declarate datele necesare (id si parola WiFi, mail-ul sender-ului si cel al receiver-ului). 
 +  - In setup() se va realiza conectarea la WiFi. 
 +  - In loop() ESP32 asteapta pana cand primeste mesaj de la Arduino, iar apoi ii trimite un mesaj de "​ACK"​ si trimite mail catre owner.
  
  
 **Demo video:** **Demo video:**
 +
 +[[https://​www.youtube.com/​shorts/​OuivnO4cUOA|Demo pet feeder]]
 +
 +Am setat primul timp de masa la 20:09. Mail-ul l-am primit la 20:10 (timpul setat pe modulul RTC este putin inapoi fata de laptop).
 +Am taiat putin din video pana am primit mail-ul.
  
 **Optimizari:​** **Optimizari:​**
Line 139: Line 150:
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Am reusit sa imi construiesc propriul pet feeder care elibereaza mancarea la ore fixe, alese de tineCa utilizator poti seta numarul de mese/zi (daca gresesti, poti sterge si rescrie), apoi orele si gata. Cand mancarea este eliberata, Arduino trimite mesaj catre ESP32 care trimite notificare catre utilizator pe mail. Pana cand este eliberata mancarea, pe LCD este afisat timpul ramas. 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. + 
-</note>+{{:​pm:​prj2025:​avaduva:​final_pm.jpg?​300|}}
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Proiectul a fost interesant, m-a ajutat sa inteleg mai bine conceptele studiate la PM si sa vad cum pot face debug pe hardware :). In plus, mi-a placut faptul ca am putut sa lucrez si la hardware, lucru pe care nu il mai facusem inainte.
 +
 +[[https://​imgur.com/​a/​cR5eKy1|Sper sa le placa:)]]
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +[[https://github.com/daria-tanasie/​pet-feeder|GitHub Repo]]
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn 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**. +Arhiva proiect: 
-</​note>​+{{:pm:prj2025:avaduva:proiect_final.zip|}}
  
 +In pet_feeder este codul pentru arduino, in esp_part pentru esp + README.
 ===== Jurnal ===== ===== Jurnal =====
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.+  * 10 Mai - am inceput sa conectez componentele 
 +  * 16 Mai - am terminat hardware-ul 
 +  * 20 Mai - am inceput sa scriu software-ul 
 +  * 29 Mai - ultimele modificari
 </​note>​ </​note>​
  
Line 168: Line 186:
  
 **Resurse Software** **Resurse Software**
 +  * [[https://​iotdesignpro.com/​articles/​sending-emails-using-esp32-via-smtp-server|Trimitere e-mail de pe ESP32]]
 +  * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]]
    
 </​note>​ </​note>​
pm/prj2025/avaduva/daria_maria.tanasie.1747944821.txt.gz · Last modified: 2025/05/22 23:13 by daria_maria.tanasie
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0