สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันดูวิดีโอของคนที่เขินอายจำนวนมากโดยที่พวกเขาไม่ได้สังเกตว่าไมโครโฟนหรือกล้องเปิดอยู่ และนั่นทำให้ฉันมีไอเดียในการทำโปรเจ็กต์นี้
ฉันได้เขียนแอปพลิเคชันอย่างง่ายใน C # ที่ตรวจจับว่ามีการใช้กล้องหรือไมโครโฟนเมื่อใด และแสดงการแจ้งเตือนด้วยชื่อโปรแกรม นอกจากนี้ ฉันมีบอร์ดธรรมดาที่มีไฟ LED WS2812B 2 ดวงและออดที่ส่งเสียงบี๊บและสว่างขึ้นเมื่อได้รับการแจ้งเตือนจากซอฟต์แวร์
ฮาร์ดแวร์ใช้ Arduino และการสื่อสารทำได้ผ่านซีเรียลเพื่อให้ง่าย และให้ผู้เริ่มต้นใช้งานโปรแกรมที่เล่นได้ง่าย
กรุณาชำระเงินที่ที่เก็บโครงการ GitHub สำหรับซอร์สโค้ดที่สมบูรณ์:https://github.com/tlevis/S. H. I. E. L. D.
เสบียง
- 2 x WS2812B
- 1 x 5v Buzzer
- 1 x บอร์ดฝ่าวงล้อม Micro USB
- 1 x USB ตัวเมีย ชนิด A กระดานฝ่าวงล้อม
- แม่เหล็กนีโอไดเมียมวงกลม 8 x 3 มม. x 1.8 มม.
ขั้นตอนที่ 1: อุปกรณ์อิเล็กทรอนิกส์
อุปกรณ์อิเล็กทรอนิกส์ที่นี่ง่ายมาก ฉันเคยใช้ LED ที่สามารถระบุตำแหน่งได้ 2 ดวง (WS2812B) ออดเซอร์ และขั้วต่อไมโคร USB ทุกอย่างมีสายตามสคีมาที่แนบมา
ที่ด้าน Arduino เป็นเพียงขั้วต่อ USB ชนิด A แบบธรรมดาที่เชื่อมต่อกับ 5v, GND และพิน 8 และ 9
ขั้นตอนที่ 2: การพิมพ์เคส 3 มิติ
ฉันได้ออกแบบเคสที่เรียบง่ายซึ่งมีอุปกรณ์อิเล็กทรอนิกส์ที่มีร่องสองช่องสำหรับป้ายอะครีลิก รอบไฟ LED ฉันได้รองรับป้ายเพื่อไม่ให้เอียง ที่ด้านล่างของเคส ฉันวางแม่เหล็กไว้ 4 อัน สามารถติดตั้งเข้ากับหน้าจอได้อย่างง่ายดาย
พิมพ์ไฟล์ stl แต่ละไฟล์
ขั้นตอนที่ 3: แกะสลักอะคริลิคร้องเพลง
ฉันใช้เครื่อง CNC เดสก์ท็อป SainSmart CNC 3018-PROVer ฉันค้นหาไอคอนฟรีและแปลงเป็นเวกเตอร์ด้วยซอฟต์แวร์ inkview
ขั้นตอนที่ 4: การเขียนโปรแกรม
ที่นี่ เรามีแอปพลิเคชันฝั่งไคลเอ็นต์คือ C# (สำหรับ Windows) และโค้ด Arduino คุณสามารถค้นหาได้ที่นี่
เพื่อตรวจสอบเวลาที่ใช้กล้องหรือไมโครโฟน ฉันกำลังตรวจสอบเส้นทางต่อไปนี้ใน Windows Registry:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam
และ
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone
ทุกครั้งที่เราได้รับการแจ้งเตือนการเปลี่ยนแปลง เราจำเป็นต้องค้นหาการเปลี่ยนแปลงในแผนผัง เมื่อมีการใช้งานอุปกรณ์ LastUsedTimeStop จะเป็น 0 ดังนั้นเราจึงค้นหาและแยกคีย์เพื่อให้ได้ชื่อแอปพลิเคชันเพื่อแสดงในการแจ้งเตือน
การสื่อสารระหว่าง Arduino และโปรแกรม C# เป็นแบบอนุกรม ข้อความคือ JSON ดังนั้นจึงง่ายต่อการโยกย้ายการสื่อสารไปยังอย่างอื่นหากเราต้องการทำเช่นนั้นในอนาคต