This shows you the differences between two versions of the page.
|
pm:prj2026:theodor_ioan.buliga:cosmin.asavoae [2026/05/03 23:18] cosmin.asavoae created |
pm:prj2026:theodor_ioan.buliga:cosmin.asavoae [2026/05/27 07:13] (current) cosmin.asavoae |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| ^ Laborator ^ Descriere / Utilizare ^ | ^ Laborator ^ Descriere / Utilizare ^ | ||
| | UART | Transmiterea datelor de debug către consola serială. | | | UART | Transmiterea datelor de debug către consola serială. | | ||
| - | | Timere | Sincronizarea achiziției de date și a ratei de refresh. | | + | | ADC | Citirea valorilor analogice de la cei 5 senzori flex și nivelul bateriei. | |
| - | | ADC | Citirea valorilor analogice de la cei 5 senzori flex. | | + | |
| | I2C | Comunicarea cu senzorul IMU MPU-6500 și afișajul OLED. | | | I2C | Comunicarea cu senzorul IMU MPU-6500 și afișajul OLED. | | ||
| + | | PWM (LEDC) | Controlul intensității motorului haptic și al buzzer-ului. | | ||
| + | | Întreruperi (PCNT) | Citirea hardware a encoder-ului rotativ fără a bloca procesorul. | | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 45: | Line 46: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | * **Mediu de dezvoltare**: VS Code (PlatformIO). | + | * **Mediu de dezvoltare**: ESP-IDF (C) pentru ESP32, React (TypeScript) pentru frontend, Python pentru server. |
| - | * **Biblioteci**: (TBD) | + | * **Arhitectură Firmware (ESP32)**: |
| - | * **Algoritmi**: | + | * Arhitectură multi-tasking bazată pe FreeRTOS (Task-uri pentru IMU, UI Meniu, LED, Haptics și BLE). |
| - | * Maparea valorilor analogice de la senzorii flex în procente de îndoire. | + | * Sistem de meniuri extensibil pe OLED. |
| - | * Calcularea orientării folosind datele de la giroscop și accelerometru. | + | * Conexiune BLE GATT: Trimite date la 50Hz (IMU, 5x Flex) și primește comenzi (Stare Sequencer, Comenzi Haptice). |
| - | * Transmiterea datelor sub formă de pachete HID custom către gazdă. | + | * **Arhitectură Software (Host)**: |
| + | * **Server Python**: Conectează PC-ul la mănușă prin librăria `bleak`, interpretează gesturile și servește datele către Frontend via WebSockets. Include un algoritm **Anti-Windup** pentru controlul fluid al parametrilor prin rotația mâinii. | ||
| + | * **Web Synth (React + Tone.js)**: Un sintetizator web complex, cu un Sequencer în 16 pași, efecte (LPF, HPF, Reverb, Delay) și un player **Bytebeat** integrat, controlabil exclusiv prin gesturile mâinii. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | Am invătat să cos cu mâna stângă. |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | |||
| + | Tineti orice departe de mine. | ||
| ===== Download ===== | ===== Download ===== | ||