Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Vidio sam mnogo videa posramljenih ljudi kada nisu primijetili da im je uključen mikrofon ili kamera, i to mi je dalo ideju za ovaj projekt.
Napisao sam jednostavnu aplikaciju u C# koja otkriva kada se koristi kamera ili mikrofon i prikazuje obavijest s nazivom programa. Osim toga, imam jednostavnu ploču s 2 LED diode WS2812B i zujalicom koja pišti i svijetli kada primi obavijest od softvera.
Hardver se temelji na Arduinu, a komunikacija se vrši serijski kako bi bila jednostavna i omogućila početnicima jednostavan program za početak igranja.
Za potpuni izvorni kod provjerite spremište projekta GitHub:
Pribor
- 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 neodimijski 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 strane Arduina, to je samo jednostavan USB priključak tipa A koji se spaja na 5v, GND i pinove 8 i 9.
Korak 2: 3D ispis 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 kako se ne bi nagnuli. Na dno kućišta postavio sam 4 magneta tako lako se može uklopiti u nosač na ekranu.
Ispišite 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.
Za nadzor korištenja kamere ili mikrofona, pratim sljedeći put u Windows registru: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
i
HKEY_CURRENT_USER / SOFTVER / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofon
Svaki put kad dobijemo obavijest o promjeni moramo tražiti promjene u stablu. Kad se uređaj koristi, LastUsedTimeStop je 0, pa ga tražimo i raščlanimo ključ kako bi se naziv aplikacije prikazao u obavijesti.
Komunikacija između Arduina i C# programa odvija se serijski. Poruke su JSON pa će biti lako premjestiti komunikaciju na nešto drugo ako to želimo učiniti u budućnosti.