Mănușă HID (Human Interface Device)
Introducere
Proiectul constă în realizarea unei mănuși inteligente echipată cu senzori flexibili și un senzor de mișcare inerțial (IMU), capabilă să detecteze poziția mâinii și gradul de îndoire al degetelor. Dispozitivul funcționează ca un Human Interface Device (HID), transmițând datele colectate către un PC sau telefon prin Bluetooth Low Energy (BLE).
Scop: Crearea unei interfețe de control digitale naturale și intuitive.
Idee: Folosirea gesturilor mâinii pentru a interacționa cu diverse aplicații software.
Utilitate: Poate fi folosit în aplicații de realitate virtuală, control de la distanță sau ca instrument de asistență.
Descriere generală
Sistemul este construit în jurul microcontrolerului ESP32, care gestionează achiziția de date de la senzori și comunicarea wireless.
Module componente:
Senzori Flex: 5 senzori (unul pentru fiecare deget) care își modifică rezistența în funcție de gradul de îndoire.
IMU (MPU-6500): Detectează orientarea (pitch, roll, yaw) și accelerația mâinii.
Afișaj OLED: Oferă feedback vizual (ceas, informații de debug).
Sistem de alimentare: Baterie LiPo, modul de încărcare TP4056 și convertor MT3608 pentru a ridica tensiunea la 5V (necesară pentru alimentarea ESP32 prin pinul Vin).
Comunicație: Bluetooth Low Energy (BLE) pentru trimiterea datelor către dispozitivul gazdă.
Laboratoare Folosite:
| Laborator | Descriere / Utilizare |
| UART | Transmiterea datelor de debug către consola serială. |
| ADC | Citirea valorilor analogice de la cei 5 senzori flex și nivelul bateriei. |
| 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
| Componentă | Descriere | Rol în proiect |
| ESP32 (E-WROOM-32) | Microcontroler cu WiFi și Bluetooth | Unitate centrală de procesare și comunicație BLE |
| Senzori Flex (5x) | Senzori rezistivi de îndoire | Măsurarea gradului de încovoiere pentru fiecare deget |
| IMU MPU-6500 | Senzor inerțial pe 6 axe | Detecția orientării mâinii și a mișcărilor bruște |
| Ecran OLED | Afișaj grafic mic | Interfață utilizator (ceas, debug info) |
| Baterie LiPo | Sursă de energie reîncărcabilă | Asigură portabilitatea dispozitivului |
| Modul TP4056 | Încărcător baterie LiPo | Protecția și încărcarea securizată a bateriei |
| Convertor MT3608 | DC-DC Step-Up Converter | Ridicarea tensiunii bateriei la 5V pentru alimentarea ESP32 (Vin) |
Schemele electrice și diagramele de semnal vor fi adăugate în etapele următoare.
Software Design
Mediu de dezvoltare: ESP-IDF (C) pentru ESP32, React (TypeScript) pentru frontend, Python pentru server.
Arhitectură Firmware (ESP32):
Arhitectură multi-tasking bazată pe FreeRTOS (Task-uri pentru IMU, UI Meniu, LED, Haptics și BLE).
Sistem de meniuri extensibil pe OLED.
Conexiune BLE GATT: Trimite date la 50Hz (IMU, 5x Flex) și primește comenzi (Stare Sequencer, Comenzi Haptice).
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
Am invătat să cos cu mâna stângă.
Concluzii
Tineti orice departe de mine.
Download
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Modificări și Evoluție
Deoarece proiectul este în stadiul de dezvoltare, lista de componente (BOM) poate suferi modificări:
Componente noi: Pot fi adăugate butoane suplimentare sau un encoder rotativ pentru navigarea în meniuri.
Optimizări: Anumite module pot fi înlocuite cu variante mai eficiente energetic sau mai compacte.
Actualizare: Orice modificare în hardware va fi reflectată în tabelul de mai sus și în schema electrică.
Export to PDF