Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg så mange videoer av flau mennesker da de ikke la merke til at mikrofonen eller kameraet var på, og det ga meg ideen til dette prosjektet.
Jeg har skrevet en enkel applikasjon i C# som oppdager når kameraet eller mikrofonen brukes og sender et varsel med programnavnet. I tillegg har jeg et enkelt kort med 2 WS2812B lysdioder og summer som piper og lyser når det mottar varsel fra programvaren.
Maskinvaren er Arduino -basert og kommunikasjonen skjer via seriell for å holde det enkelt og la nybegynnere et enkelt startprogram å leke med.
Sjekk ut prosjektets GitHub -depot for fullstendig kildekode:
Rekvisita
- 2 x WS2812B
- 1 x 5v summer
- 1 x Micro USB breakout -kort
- 1 x kvinnelig USB type A breakout board
- 8 x 3 mm x 1,8 mm sirkel neodymmagnet
Trinn 1: Elektronikk
Elektronikken her er veldig enkel. Jeg har brukt 2 adresserbare lysdioder (WS2812B), summer og mikro -USB -kontakt. Alt er kablet i henhold til vedlagt skjema.
På Arduino -siden er det bare en enkel USB type A -kontakt som kobles til 5v, GND og pinner 8 og 9.
Trinn 2: 3D -utskrift av saken
Jeg har designet et enkelt etui som inneholder elektronikk med to spalter for akrylskiltene. Rundt lysdiodene har jeg plassert støtte for skiltene slik at de ikke kan vippe. I bunnen av saken har jeg plassert 4 magneter så det kan enkelt passe til festet på skjermen.
Skriv ut en av hver stl -fil.
Trinn 3: Akryl synger gravering
Jeg brukte min stasjonære CNC-maskin, SainSmart CNC 3018-PROVer. Jeg har søkt etter gratis ikoner og konvertert dem til vektor med inkview-programvare
Trinn 4: Programmering
Her har vi applikasjonen på klientsiden som er C# (for Windows) og Arduino -koden. Du finner dem her.
For å overvåke når kameraet eller mikrofonen brukes, overvåker jeg følgende bane i Windows -registret: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
og
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / mikrofon
Hver gang vi får endringsvarsel, må vi søke etter endringer i treet. Når enheten brukes, er LastUsedTimeStop 0, så vi søker etter den og analyserer nøkkelen for å få applikasjonsnavnet til å vise det i varselet.
Kommunikasjonen mellom Arduino og C# -programmet er via serie. Meldingene er JSON, så det vil være enkelt å migrere kommunikasjonen til noe annet hvis vi ønsker å gjøre det i fremtiden.