Differences

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

Link to this comparison view

pm:prj2026:vlad.radulescu2901:radu_mihai.voinea04 [2026/05/06 09:39]
radu_mihai.voinea04 [Rezultate Obţinute]
pm:prj2026:vlad.radulescu2901:radu_mihai.voinea04 [2026/05/23 00:29] (current)
radu_mihai.voinea04 [Rezultate Obţinute]
Line 43: Line 43:
 ===== Software Design ===== ===== Software Design =====
  
 +==== Mediu de Dezvoltare ====
  
-<note tip> +**PlatformIO IDE** (VS Codecu două environment-uri''​env:​car''​ și ''​env:​remote''​. 
-Descrierea codului aplicaţiei ​(firmware): +Framework Arduino pe ESP32-S3, compilator Xtensa GCC (ESP-IDF toolchain). 
-  * mediu de dezvoltare ​(if any(e.g. AVR StudioCodeVisionAVR) + 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +==== Biblioteci 3rd-Party ==== 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi + 
-  * (etapa 3surse şfuncţii implementate +^ Bibliotecă ^ Nod ^ Utilizare ^ 
-</note>+| ''​arduino-esp32''​ | Car + Remote | Wi-FiAsyncUDP, ADC, FreeRTOS | 
 +| ''​esp32-camera''​ | Car | Driver OV2640, captură JPEG, PSRAM | 
 +| ''​NimBLE-Arduino''​ | Car + Remote | BLE Coded PHY Extended Advertising | 
 +| ''​LovyanGFX''​ | Remote | Display ILI9341 parallel 8-bit, ''​drawJpg()''​ | 
 +| ''​ESP-IDF LEDC''​ | Car | PWM motoare DC (4 canale, 1 kHz, 10-bit) | 
 +| ''​ESP-IDF MCPWM''​ | Car | PWM servomotoare SG90 (50 Hz, 1 µs rezoluție) | 
 +| ''​video_protocol.h''​ / ''​ble_protocol.h''​ | Shared | Struct-uri și constante protocol custom | 
 + 
 +==== Algoritmi și Structuri ==== 
 + 
 +  * **Differential drive mixer** — ''​left = y + x'',​ ''​right = y − x'';​ PWM = ''​|mix| × speed × MAX_DUTY / 10000''​ 
 +  * **Servo rate integration** — task la 100 Hz integrează rata joystick în poziție float, mapată la µs (500–2500) 
 +  * **UDP frame reassembly** — ''​chunk_bitmap[128]''​ pentru deduplicare;​ double buffer PSRAM cu swap zero-copy la completare 
 +  * **BLE Coded PHY** — Extended Advertising 125 Kbps (FEC); ''​WRITE_NR''​ la 50 Hz; ''​motorsStop()''​ automat la deconectare 
 +  * **ADC calibrare** — medie 64 samplee la startup; deadzone + normalizare asimetrică → [−100, +100] 
 +  * **FreeRTOS core pinning** — Core 0: Wi-Fi + video; Core 1: BLE + control 
 + 
 +==== Surse șFuncții Implementate ==== 
 + 
 +**''​car/main.cpp'':​** ''​initMotors'',​ ''​motorsDrive'',​ ''​motorsStop'',​ ''​initServos'',​ ''​servoTask'',​ ''​initCamera'',​ ''​sendFrame'',​ ''​cameraTask'',​ ''​initWiFiAP'',​ ''​initBLE''​ 
 + 
 +**''​remote/​main.cpp'':​** ''​onPacketReceived'',​ ''​videoTask'',​ ''​calibrateJoysticks'',​ ''​readAxis'',​ ''​controlTask'',​ ''​connectToCar'',​ ''​startBLEScan'',​ ''​updateSpeedLEDs'',​ ''​LGFX''​ (clasă display)
  
 +**''​include/'':​** ''​video_protocol.h''​ — ''​VideoPacketHeader'',​ constante UDP; ''​ble_protocol.h''​ — ''​ControlCommand'',​ UUID-uri BLE
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-====== Ansamblu final ====== +Masinuta: ​   [[https://​youtu.be/​yV8iQhhMfLA]] 
-{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_1_voinea_radu_mihai_335ca.jpeg?​200|}} + 
-{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_2_voinea_radu_mihai_335ca.jpeg?​200|}} +Telecomanda:​ [[https://​youtu.be/​jgnJoZh3GZg]] 
-{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_3_voinea_radu_mihai_335ca.jpeg?​200|}}+===== Ansamblu final ===== 
 +{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_1_voinea_radu_mihai_335ca.jpeg?​750|}} 
 +{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_2_voinea_radu_mihai_335ca.jpeg?​750|}} 
 +{{:​pm:​prj2026:​vlad.radulescu2901:​ansamblu_final_3_voinea_radu_mihai_335ca.jpeg?​750|}}
  
  
Line 74: Line 100:
 ===== Jurnal ===== ===== Jurnal =====
  
-<note tip> +==== 4 aprilie 2026 ==== 
-Puteți avea și o secțiune de jurnal ​în care să poată urmări asistentul ​de proiect progresul proiectului. +  * **Refactorizare formatare cod** — îmbunătățiri de consistență șlizibilitate în protocoalele BLE și video 
-</​note>​+  * **Refactorizare definiții pini și comentarii** — claritate sporită ​în ''​car_main''​ și ''​remote_main''​ 
 +  * **Actualizare pin reset cameră** — conexiunea pinului de reset mutat la 3V3 pe PCB 
 +  * **Actualizare rotație display** — corectat pentru randare video și vizualizare cameră 
 +  * **Adăugare control BLE și funcționalitate motoare** — integrare joystick (3 commit-uri) 
 + 
 +---- 
 + 
 +==== 3 aprilie 2026 ==== 
 +  * **Adăugare streaming cameră și afișare de la distanță** — configurare WiFi AP și transmisie UDP (2 commit-uri) 
 +  * **Adăugare control BLE și funcționalitate motoare** — integrare joystick 
 + 
 +---- 
 + 
 +==== 1 aprilie 2026 ==== 
 +  * **Adăugare funcționalitate streaming cameră** — configurare WiFi AP și transmisie video UDP 
 +  * **Refactorizare cod mașină și telecomandă** — structură îmbunătățită și lizibilitate sporită (2 commit-uri) 
 + 
 +---- 
 + 
 +==== 30 martie 2026 ==== 
 +  * **Refactorizare setări cameră** — control manual al expunerii; îmbunătățiri opțiuni socket pentru display 
 +  * **Îmbunătățire setări cameră** — performanță mai bună în interior; corecție culori display 
 +  * **Optimizare control expunere automată** — corecție culori pentru stream display 
 +  * **Refactorizare streaming video** — trecere la UDP cu pachete fragmentate pentru fiabilitate și performanță sporite 
 +  * **Îmbunătățire fiabilitate cameră și display** — opțiuni socket îmbunătățite și validare JPEG 
 +  * **Refactorizare cod cameră și display** — claritate și îmbunătățiri ​de performanță 
 +  * **Refactorizare setări VCOM** — control manual expunere și optimizare VCOM pentru stream display 
 + 
 +---- 
 + 
 +==== 29 martie 2026 ==== 
 +  * **Adăugare funcționalitate streaming cameră** — configurații inițiale adăugate 
 + 
 +---- 
 + 
 +==== 26 martie 2026 ==== 
 +  * **Implementare control rată servo cu BLE** — gestionare îmbunătățită a zonei moarte a joystick-ului 
 +  * **Adăugare control servo cu integrare joystick** — actualizare definiții GPIO motoare 
 + 
 +---- 
 + 
 +==== 25 martie 2026 ==== 
 +  * **Adăugare funcționalitate control servo** — integrare joystick 
 +  * **Actualizare configurație logging Bluetooth** — depanare îmbunătățită și claritate sporită (2 commit-uri) 
 +  * **Refactorizare control joystick și management viteză** — integrare ADC 
 +  * **Actualizare definiții pini GPIO motoare** — claritate și funcționalitate îmbunătățite 
 + 
 +---- 
 + 
 +==== 24 martie 2026 ==== 
 +  * **Adăugare control LED pentru indicare viteză** — afișare stare conexiune în modulul telecomandă 
 +  * **Adăugare module mașină și telecomandă** — funcționalitate BLE și control motoare 
 + 
 +----
  
 +==== 23 martie 2026 ====
 +  * **Refactorizare logică control motoare** — utilizare PWM și îmbunătățire inițializare butoane
 +  * **Inițializare structură proiect** — configurare CMake și PlatformIO; control GPIO pentru funcții motoare
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
pm/prj2026/vlad.radulescu2901/radu_mihai.voinea04.1778049556.txt.gz · Last modified: 2026/05/06 09:39 by radu_mihai.voinea04
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