Differences

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

Link to this comparison view

pm:prj2025:aluca:teodora.teodorescu [2025/05/25 18:55]
teodora.teodorescu [Software Design]
pm:prj2025:aluca:teodora.teodorescu [2025/05/30 10:25] (current)
teodora.teodorescu [Jurnal]
Line 43: Line 43:
    * Link Github:    * Link Github:
         https://​github.com/​TeodoraTeo05/​cat-feeder-esp32         https://​github.com/​TeodoraTeo05/​cat-feeder-esp32
 +   * Link Demo video:
 +        https://​youtu.be/​CCG9btgEeA4
  
 Descrierea codului aplicatiei: Descrierea codului aplicatiei:
   * Mediu de dezvoltare: proiectul a fost implementat si testat folosind Arduino IDE, cu placa ESP32 configurata prin Board Manager. Codul a fost scris in C++ si incarcat direct prin cablu USB.   * Mediu de dezvoltare: proiectul a fost implementat si testat folosind Arduino IDE, cu placa ESP32 configurata prin Board Manager. Codul a fost scris in C++ si incarcat direct prin cablu USB.
 +</​note>​
   * Librarii si surse 3rd-party utilizate:   * Librarii si surse 3rd-party utilizate:
-    - `WiFi.h– pentru crearea unei retele Wi-Fi in mod Access Point (ESP32 functioneaza ca hotspot local). +    - WiFi.h – pentru crearea unei retele Wi-Fi in mod Access Point (ESP32 functioneaza ca hotspot local). 
-    - `WebServer.h– pentru gestionarea cererilor HTTP si afisarea unei pagini HTML de control in browser. +    - WebServer.h – pentru gestionarea cererilor HTTP si afisarea unei pagini HTML de control in browser. 
-    - `ESP32Servo.h– pentru controlul servomotoarelor SG90, oferind semnal PWM stabil. +    - ESP32Servo.h – pentru controlul servomotoarelor SG90, oferind semnal PWM stabil. 
-    - `LiquidCrystal_I2C.h– pentru afisaj LCD 1602 cu interfata I2C.+    - LiquidCrystal_I2C.h – pentru afisaj LCD 1602 cu interfata I2C.
  
   * Algoritmi si structuri implementate:​   * Algoritmi si structuri implementate:​
-    ​Codul este organizat modular in functii dedicate: `giveFood()``giveWater()``handleRoot()`, `beepBuzzer()` etc+        ​- giveFood() ​– activeaza servomotorul de mancareafiseaza un mesaj pe LCD si porneste buzzerul. 
-    Se folosesc rutine ​de tip polling in `loop()pentru ​citirea starii ​butoanelor fizice. +        - giveWater() ​– activeaza servomotorul pentru apaafiseaza un mesaj relevant pe LCD si activeaza buzzerul. 
-    - Web serverul trateaza cererile GET pentru ​rutele ​`/foodsi `/water`si reda o pagina HTML responsiva pentru utilizator. +        - beepBuzzer() – produce un sunet scurt pentru confirmarea comenzii. 
-    - Buzzerul si LCD-ul ofera feedback auditiv si vizual la fiecare actiune, confirmand comanda executata.+        - handleRoot() – serveste pagina HTML principala catre browserul utilizatorului
 +        handleGiveFood() si handleGiveWater() – trateaza cererile GET de la butoanele web si apeleaza functiile corespunzatoare. 
 + 
 +  * In loop(), se foloseste o structura de polling ​pentru ​a verifica starea ​butoanelor fizice, iar la apasare se declanseaza functiile corespunzatoare (mancare sau apa)
 + 
 +  * Interfata HTML include doua butoane care trimit cereri HTTP catre rutele /food si /​water, ​iar serverul ESP32 le gestioneaza in timp real.
  
   * Surse si functii implementate:​   * Surse si functii implementate:​
-    - Servomotoarele sunt comandate pe pinii 16 si 17. +    ​- setup() initializeaza toate componentele:​ LCD-ul, servomotoarele,​ butoanele, buzzerul si serverul web. Creeaza reteaua Wi-Fi cu SSID-ul `CatFeeder_AP`. 
-    - Butoanele fizice sunt conectate ​la pinii 27 si 14, configurati ​cu `INPUT_PULLUP`. +    - loop() verifica permanent daca au fost apasate butoanele fizice si trateaza cererile web de la clientii conectati la retea. 
-    - Buzzerul este conectat la pinul 4 si este activat prin `digitalWrite()` ​la fiecare comanda. +    ​- Servomotoarele sunt comandate pe pinii 16 (mancare) ​si 17 (apa)
-    - Interfata HTML este livrata direct de pe ESP32 si poate fi accesata de pe orice dispozitiv conectat la reteaua locala ESP32 (`CatFeeder_AP`)+    - Butoanele fizice sunt conectate ​pe pinii 27 si 14 si sunt citite cu `digitalRead()` in combinatie ​cu `INPUT_PULLUP`. 
-    - Pe LCD sunt afisate mesaje personalizate ​in functie de comanda ​data (hranire sau apa).+    - Buzzerul este conectat la pinul 4 si este controlat simplu cu `digitalWrite()`. 
 +    - Pe ecranul ​LCD apar mesajele: `Eat well, my kittens` sau `Drink well, my kittens`, ​in functie de comanda ​primita.
  
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Pet feeder - produs final: 
 +  * https://​youtube.com/​shorts/​fqGpPC8dX_Y?​feature=share
 </​note>​ </​note>​
  
-===== 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>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2025/aluca/teodora.teodorescu.1748188533.txt.gz · Last modified: 2025/05/25 18:55 by teodora.teodorescu
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