Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Jag såg många videor av generade människor när de inte märkte att deras mikrofon eller kamera var på, och det gav mig idén till det här projektet.
Jag har skrivit en enkel applikation i C# som upptäcker när kameran eller mikrofonen används och skickar ett meddelande med programnamnet. Dessutom har jag en enkel tavla med 2 WS2812B lysdioder och summer som piper och lyser när den får meddelande från programvaran.
Hårdvaran är Arduino -baserad och kommunikationen sker via seriell för att hålla det enkelt och låta nybörjare ett enkelt startprogram att spela med.
Kolla in projektet GitHub -förvaret för fullständig källkod:
Tillbehör
- 2 x WS2812B
- 1 x 5v summer
- 1 x Micro USB -brytkort
- 1 x kvinnlig USB typ A -utbrottskort
- 8 x 3 mm x 1,8 mm cirkel neodymmagnet
Steg 1: Elektronik
Elektroniken här är väldigt enkel. Jag har använt 2 adresserbara lysdioder (WS2812B), summer och mikro -USB -kontakt. Allt är anslutet enligt det bifogade schemat.
På Arduino -sidan är det bara en enkel USB typ A -kontakt som ansluts till 5v, GND och stift 8 & 9.
Steg 2: 3D -utskrift av fodralet
Jag har designat ett enkelt fodral som innehåller elektroniken med två slitsar för akrylskyltarna. Runt lysdioderna har jag placerat stöd för skyltarna så att de inte lutar. I botten av fodralet har jag placerat 4 magneter så den passar enkelt till fästet på skärmen.
Skriv ut en av varje stl -fil.
Steg 3: Akryl sjunger gravyr
Jag använde min stationära CNC-maskin, SainSmart CNC 3018-PROVer. Jag har sökt efter gratis ikoner och konverterat dem till vektor med inkview-programvara
Steg 4: Programmering
Här har vi klientsidan som är C# (för Windows) och Arduino -koden. Du hittar dem här.
För att övervaka när kameran eller mikrofonen används övervakar jag följande sökväg i Windows -registret: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webbkamera
och
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofon
Varje gång vi får ändringsmeddelande måste vi söka i trädet efter ändringar. När enheten används är LastUsedTimeStop 0, så vi söker efter den och analyserar nyckeln för att få applikationsnamnet att visa det i meddelandet.
Kommunikationen mellan Arduino och C# -programmet är via seriell. Meddelandena är JSON så det blir lätt att migrera kommunikationen till något annat om vi vill göra det i framtiden.