Differences

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

Link to this comparison view

pm:prj2026:bianca.popa1106:tudor.brandibur [2026/05/16 23:31]
tudor.brandibur [General Description]
pm:prj2026:bianca.popa1106:tudor.brandibur [2026/05/25 00:22] (current)
tudor.brandibur [Software Design]
Line 6: Line 6:
  
 ===== General Description ===== ===== General Description =====
- +{{ :​pm:​prj2026:​bianca.popa1106:​pm.drawio.png |}}
- +
-{{ :​pm:​prj2026:​bianca.popa1106:​pm2.drawio.png |}}+
  
 Module Descriptions Module Descriptions
Line 42: Line 40:
 ===== Software Design ===== ===== Software Design =====
  
 +The project'​s software architecture adopts a distributed Master-Slave model, where intensive processing tasks (networking,​ video, storage) are completely separated from real-time physical execution (servo control, display).
  
-<note tip> +The system utilizes two development environments interconnected via the UART protocol at a stable speed of 38400 bps.
-Descrierea codului aplicaţiei (firmware):​ +
-  * 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 =====+=== A. ESP32-CAM Module (Master / Web Server) ​===
  
-<note tip> +This module manages the user interface, video stream, and local storage. It initializes a local Wi-Fi Access Point and runs an asynchronous HTTP server on port 80.
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+**Camera Management (OV2640)**: To prevent chip overheating,​ the hardware clock frequency (XCLK) is reduced to 10MHz. The video stream runs natively at a low resolution (QVGA) for a high frame-rate, dynamically switching to UXGA (HD) resolution only when saving to the SD card.
  
-===== Download =====+**Video Stream Optimization**:​ The HTML page sent to clients uses a feedback mechanism based on the image'​s onload event. Unlike a rigid timer (setInterval),​ a new frame request (/jpg) is sent to the server only after the previous frame has been fully downloaded. This eliminates HTTP buffer congestion and prevents system freezing.
  
-<note warning>​ +=== B. ATmega328P Module ​(Slave / Hardware Controller)===
-O arhivă ​(sau mai multe dacă este cazulcu 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**. +This module runs a finite state machine that asynchronously processes incoming commands on the UART bus and controls the attached peripherals.
-</​note>​+
  
-===== Jurnal =====+**Servo Motor Control**: It uses the Servo.h library to generate PWM signals on pins 9 and 10. Movement on the Pan and Tilt axes is implemented discretely, in 5-degree steps, with strict software limitations between the 0° and 90° thresholds to prevent mechanical jamming of the mount.
  
-<note tip> +**Display Management (I2C)**: It uses the LiquidCrystal_I2C library to update the LCD screen. To avoid screen flickering, the updateLCD() function rewrites only the dynamic angle values at fixed coordinates,​ clearing residual characters by overwriting them with blank spaces.
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
-===== Bibliografie/​Resurse =====+Data Flow Diagram (UART Protocol)
  
-Datasheets:+Remotely transmitted commands are mapped directly onto unique characters (1 Byte), minimizing bus latency:
  
- ESP32-CAM: [[https://​www.handsontec.com/​dataspecs/​module/ESP32-CAM.pdf]]+U (Up) D (Down) ​-> Modifies the angle on the Pan axis.
  
- ATMega328P-Xmini: [[https://​ww1.microchip.com/​downloads/​en/​devicedoc/​50002659a.pdf]]+L (Left) / R (Right) ​-> Modifies the angle on the Tilt axis.
  
- OV2640 camera[[https://www.uctronics.com/​download/​cam_module/​OV2640DS.pdf?srsltid=AfmBOoo3vdFbGk7ETYZYiuJ8k7jHcNlunSU3DsBpVrOuNQln2gw7Lgb2]]+S (Snapshot) -> Remains internal to the ESP32 for writing to the SD card (it is not sent to the ATmega). 
 +===== Rezultate Obţinute ===== 
 + 
 +{{ :pm:prj2026:​bianca.popa1106:​signal-2026-05-25-001201.jpeg?600 |}} 
 +{{ :​pm:​prj2026:​bianca.popa1106:​img_6435.jpg?600 |}} 
 +{{ :​pm:​prj2026:​bianca.popa1106:​img_6437.jpg?​600 |}} 
 +{{ :​pm:​prj2026:​bianca.popa1106:​img_6436.jpg?​600 |}} 
 +{{ :​pm:​prj2026:​bianca.popa1106:​img_6438.jpg?​600 |}} 
 +===== Concluzii ===== 
 + 
 + 
 + 
 + 
 +===== Bibliografie/​Resurse =====
  
- - SG90 servo[[https://​www.friendlywire.com/​projects/​ne555-servo-safe/​SG90-datasheet.pdf]] ​+ Datasheets:
  
- - QAPASS LCD: [[https://​mm.digikey.com/​Volume0/​opasdata/​d220001/​medias/​docus/​5773/​CN0295D%20other%20related%20document.pdf]]+* ESP32-CAM: [[https://​www.handsontec.com/​dataspecs/​module/​ESP32-CAM.pdf]] 
 +* ATMega328P-Xmini:​ [[https://​ww1.microchip.com/​downloads/​en/​devicedoc/​50002659a.pdf]] 
 +* OV2640 camera: [[https://​www.uctronics.com/​download/​cam_module/​OV2640DS.pdf?​srsltid=AfmBOoo3vdFbGk7ETYZYiuJ8k7jHcNlunSU3DsBpVrOuNQln2gw7Lgb2]] 
 +* SG90 servo: [[https://​www.friendlywire.com/​projects/​ne555-servo-safe/​SG90-datasheet.pdf]]  
 +QAPASS LCD: [[https://​mm.digikey.com/​Volume0/​opasdata/​d220001/​medias/​docus/​5773/​CN0295D%20other%20related%20document.pdf]]
  
  
pm/prj2026/bianca.popa1106/tudor.brandibur.1778963471.txt.gz · Last modified: 2026/05/16 23:31 by tudor.brandibur
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