Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Vi muitos vídeos de pessoas envergonhadas por não perceberem que o microfone ou a câmera estavam ligados, e isso me deu a ideia desse projeto.
Eu escrevi um aplicativo simples em C # que detecta quando a câmera ou o microfone estão sendo usados e exibe uma notificação com o nome do programa. Além disso, tenho uma placa simples com 2 LEDs WS2812B e campainha que emite um bipe e acende quando recebe uma notificação do software.
O hardware é baseado em Arduino e a comunicação é feita via serial para mantê-lo simples e permitir aos iniciantes um programa de início fácil para brincar.
Verifique o repositório GitHub do projeto para obter o código-fonte completo:
Suprimentos
- 2 x WS2812B
- 1 x 5v Buzzer
- 1 x placa de breakout micro usb
- 1 x placa breakout USB fêmea tipo A
- Ímã de neodímio circular de 8 x 3 mm x 1,8 mm
Etapa 1: Eletrônica
A eletrônica aqui é muito simples. Usei 2 LEDs endereçáveis (WS2812B), campainha e conector micro USB. Tudo é conectado de acordo com o esquema em anexo.
No lado do Arduino, é apenas um conector USB tipo A simples que se conecta a 5v, GND e pinos 8 e 9.
Etapa 2: impressão 3D do caso
Projetei uma caixa simples que contém os componentes eletrônicos com duas fendas para os sinais de acrílico. Em volta dos LEDs, coloquei um suporte para as placas para que não se inclinem. Na parte inferior da caixa, coloquei 4 ímãs para ele pode caber na montagem na tela facilmente.
Imprima um de cada arquivo stl.
Etapa 3: Gravura em Acrílico Sings
Usei minha máquina CNC de mesa, SainSmart CNC 3018-PROVer. Pesquisei ícones grátis e os converto em vetor com o software inkview
Etapa 4: Programação
Aqui temos o aplicativo do lado do cliente que é C # (para Windows) e o código do Arduino. Você pode encontrá-los aqui.
Para monitorar quando a câmera ou o microfone estão sendo usados, estou monitorando o seguinte caminho no Registro do Windows: HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / webcam
e
HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows / CurrentVersion / CapabilityAccessManager / ConsentStore / microfone
Sempre que recebemos uma notificação de alteração, precisamos pesquisar as alterações na árvore. Quando o dispositivo está sendo usado, o LastUsedTimeStop é 0, portanto, procuramos por ele e analisamos a chave para obter o nome do aplicativo para mostrá-lo na notificação.
A comunicação entre o Arduino e o programa C # é via serial. As mensagens são JSON, portanto, será fácil migrar a comunicação para outra coisa se quisermos fazer isso no futuro.