Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Vidio sam mnogo video zapisa posramljenih ljudi kada nisu primijetili da im je uključen mikrofon ili kamera, i to mi je dalo ideju za ovaj projekat.
Napisao sam jednostavnu aplikaciju u C# koja otkriva kada se koristi kamera ili mikrofon i šalje obavijest s nazivom programa. Osim toga, imam jednostavnu ploču sa 2 WS2812B LED diode i zujalicom koja pišti i svijetli kada primi obavijest od softvera.
Hardver je zasnovan na Arduinu, a komunikacija se odvija serijski kako bi bila jednostavna i omogućila početnicima lak početak programa za igru.
Molimo provjerite GitHub spremište projekta za potpuni izvorni kod:
Supplies
- 2 x WS2812B
- 1 x 5v zujalica
- 1 x Micro USB ploča za razbijanje
- 1 x ženska USB utičnica tipa A
- 8 x 3 mm x 1,8 mm kružni neodimijumski magnet
Korak 1: Elektronika
Ovdje je elektronika vrlo jednostavna. Koristio sam 2 adresabilne LED diode (WS2812B), zujalicu i mikro USB priključak. Sve je ožičeno prema priloženoj shemi.
Sa Arduino strane, to je samo jednostavan USB konektor tipa A koji se povezuje na 5v, GND i pinove 8 i 9.
Korak 2: 3D štampanje kućišta
Dizajnirao sam jednostavno kućište koje sadrži elektroniku s dva proreza za akrilne znakove. Oko LED dioda postavio sam podršku za znakove tako da se ne naginju. Na dno kućišta postavio sam 4 magneta može se lako uklopiti u nosač na ekranu.
Odštampajte po jednu od svake stl datoteke.
Korak 3: Akril pjeva graviranje
Koristio sam svoj stolni CNC stroj, SainSmart CNC 3018-PROVer. Tražio sam besplatne ikone i pretvorio ih u vektorske pomoću softvera za inkview
Korak 4: Programiranje
Ovdje imamo aplikaciju na strani klijenta koja je C# (za Windows) i Arduino kôd. Možete ih pronaći ovdje.
Da bih nadzirao kada se kamera ili mikrofon koriste, pratim sljedeću putanju u Windows registru: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
i
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofon
Svaki put kada dobijemo obavijest o promjeni moramo pretražiti stablo radi promjena. Kada se uređaj koristi, LastUsedTimeStop je 0, pa ga tražimo i raščlanimo ključ da bismo dobili naziv aplikacije koji će ga prikazati u obavijesti.
Komunikacija između Arduina i C# programa je serijska. Poruke su JSON pa će biti lako premjestiti komunikaciju na nešto drugo ako to želimo učiniti u budućnosti.