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:16]
radu_mihai.voinea04 [Lista Piese]
pm:prj2026:vlad.radulescu2901:radu_mihai.voinea04 [2026/05/23 00:29] (current)
radu_mihai.voinea04 [Rezultate Obţinute]
Line 33: Line 33:
 {{:​pm:​prj2026:​vlad.radulescu2901:​schema_electrica_voinea_radu_mihai_335ca.png?​750|}} {{:​pm:​prj2026:​vlad.radulescu2901:​schema_electrica_voinea_radu_mihai_335ca.png?​750|}}
  
-<note tip> +===== Schema PCB ===== 
-Aici puneţi tot ce ţine de hardware design: +{{:pm:​prj2026:​vlad.radulescu2901:​schema_pcb_voinea_radu_mihai_335ca.png?​750|}} 
-  * listă de piese +{{:pm:​prj2026:​vlad.radulescu2901:​pcb_virtual_voinea_radu_mihai_335ca.png?750|}} 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.ghttp://www.captain.at/​electronic-atmega16-mmc-schematic.png) + 
-  * diagrame de semnal ​ +===== PCB Fizic ===== 
-  * rezultatele simulării +{{:​pm:​prj2026:​vlad.radulescu2901:​pcb_fizic_voinea_radu_mihai_335ca.jpeg?​750|}} 
-</​note>​+{{:​pm:​prj2026:​vlad.radulescu2901:​pcb_fizic_2_voinea_radu_mihai_335ca.jpeg?​750|}}
  
 ===== Software Design ===== ===== Software Design =====
  
 +==== Mediu de Dezvoltare ====
  
-<note tip> +**PlatformIO IDE** (VS Codecu două environment-uri:​ ''​env:​car''​ ș''​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 Studio, CodeVisionAVR) +
-  * librării şsurse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
 +==== Biblioteci 3rd-Party ====
 +
 +^ Bibliotecă ^ Nod ^ Utilizare ^
 +| ''​arduino-esp32''​ | Car + Remote | Wi-Fi, AsyncUDP, 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 și 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 =====
  
-<note tip> +Masinuta: ​   [[https://​youtu.be/​yV8iQhhMfLA]] 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</note>+Telecomanda:​ [[https://​youtu.be/​jgnJoZh3GZg]] 
 +===== 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|}} 
  
 ===== Concluzii ===== ===== Concluzii =====
  
 ===== Download ===== ===== Download =====
 +
 +{{:​pm:​prj2026:​vlad.radulescu2901:​design_circuit_voinea_radu_mihai_335ca.zip|}}
  
 <note warning> <note warning>
Line 70: 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.1778048199.txt.gz · Last modified: 2026/05/06 09:16 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