Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Am văzut o mulțime de videoclipuri cu oameni jenați când nu au observat că microfonul sau camera lor erau aprinse și mi-a dat ideea acestui proiect.
Am scris o aplicație simplă în C # care detectează când se utilizează camera sau microfonul și afișează o notificare cu numele programului. În plus, am o placă simplă cu 2 LED-uri WS2812B și buzzer care emite semnale sonore și se aprinde atunci când primește notificări de la software.
Hardware-ul este bazat pe Arduino, iar comunicarea se face prin serial pentru a fi simplă și pentru a permite începătorilor un program de pornire ușor cu care să se joace.
Verificați depozitul GitHub al proiectului pentru codul sursă complet:
Provizii
- 2 x WS2812B
- 1 buzzer 5 x
- 1 x placă micro USB breakout
- 1 x placă USB tip feminin A.
- Magnet de neodim de 8 x 3 mm x 1,8 mm
Pasul 1: Electronică
Electronica de aici este foarte simplă Am folosit 2 LED-uri adresabile (WS2812B), buzzer și conector micro USB. Totul este conectat conform schemei atașate.
Pe partea Arduino, este doar un simplu conector USB de tip A care se conectează la 5v, GND și pinii 8 și 9.
Pasul 2: Imprimarea 3D a carcasei
Am proiectat o carcasă simplă care conține elemente electronice cu două fante pentru semnele acrilice. În jurul LED-urilor am plasat suport pentru semne astfel încât să nu se încline. În partea inferioară a carcasei am așezat 4 magneți astfel se poate potrivi cu ușurință pe suportul de pe ecran.
Imprimați unul din fiecare fișier STL.
Pasul 3: Acrilica cântă gravarea
Am folosit mașina CNC desktop, SainSmart CNC 3018-PROVer. Am căutat icoane gratuite și le-am convertit în vector cu software inkview
Pasul 4: Programare
Aici avem aplicația pentru client care este C # (pentru Windows) și codul Arduino. Le puteți găsi aici.
Pentru a monitoriza când se utilizează camera sau microfonul, monitorizez următoarea cale în Registrul Windows: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
și
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / microphone
De fiecare dată când primim o notificare de modificare, trebuie să căutăm modificările în arborele nostru. Când dispozitivul este utilizat, LastUsedTimeStop este 0, așa că o căutăm și analizăm cheia pentru a obține numele aplicației care să o afișeze în notificare.
Comunicația dintre programul Arduino și C # este via serial. Mesajele sunt JSON, deci va fi ușor să migrezi comunicarea către altceva dacă dorim să facem acest lucru în viitor.