جدول المحتويات:
فيديو: نظام القفل التلقائي للكمبيوتر: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
في هذا البرنامج التعليمي سنستكشف أمان قفل شاشة الكمبيوتر. تحتوي أنظمة التشغيل على مهلة قابلة للتكوين ستغلق الشاشة إذا لم يلمس المستخدم الماوس أو لوحة المفاتيح.
عادة ما يكون الافتراضي حوالي دقيقة واحدة. إذا اتبعت هذا الإعداد الافتراضي وتركت جهاز الكمبيوتر الخاص بك في بيئة مشغولة ، فقد يقوم شخص ما بالوصول إلى جهاز الكمبيوتر الخاص بك في تلك الدقيقة حتى يتم قفل الشاشة. إذا قمت بتعيينه على بضع ثوانٍ ، فستحصل على شاشة القفل كثيرًا عندما لا تلمس لوحة المفاتيح وهذا أمر مزعج …
في أحد الأيام سألني أحد زملائي في العمل عما إذا كان بإمكاني "إصلاح" هذه المشكلة عن طريق نوع من الأجهزة التي تغلق الكمبيوتر عندما لا يكون موجودًا ، وقد قبلت التحدي:)
لقد استكشفت العديد من الخيارات في رأسي مثل استخدام اردوينو ومستشعر الحرارة بالأشعة تحت الحمراء أو مستشعر PIR أو ربما استخدام اكتشاف الوجه على الكمبيوتر ، لكنني استقرت على طريقة أبسط:
سنقوم بدمج وظيفة Arduino Leonardo HID (محاكاة لوحة المفاتيح) مع مستشعر المسافة بالموجات فوق الصوتية لاكتشاف ما إذا كان الشخص يستخدم الكمبيوتر ، وإذا لم يكن الجهاز سيرسل مجموعة مفاتيح عبر USB لقفل الكمبيوتر.
الخطوة 1: المكونات
لأن هذا دليل على المفهوم ، سنقوم ببناء الجهاز على لوح التجارب
انك سوف تحتاج:
1. Arduino Leonardo (من المهم استخدام Leonardo لأنه يمكنه محاكاة لوحة المفاتيح)
2. جهاز استشعار المسافة بالموجات فوق الصوتية HC-SR04
3. 2 × 10 ك مقاومات متغيرة
4. اللوح ، أسلاك اللوح
5. كبل USB
6. شاشة OLED (https://www.adafruit.com/product/931)
الخطوة 2: التجميع والتحميل
تحقق أولاً مما إذا كان لديك جميع المكونات المطلوبة و Arduino IDE. سأنتقل بإيجاز إلى خطوات الاتصال ، ويمكنك دائمًا إلقاء نظرة على مخطط fritzing المرفق
المجسم
1. ضع ليوناردو على اللوح وثبته في مكانه بشريط مطاطي
2. ضع المقاومين المتغيرين ، شاشة OLED وجهاز الاستشعار فوق الصوتي على لوح التجارب
3. ربط الأسباب و vcc's
4. قم بتوصيل المسامير الوسطى للمقاومات بـ arduino A0 و A1
5. قم بتوصيل SDA و SCL للشاشة بـ SDA و SCL المميزين على ليوناردو
6. قم بتوصيل الزناد ودبوس الصدى الخاص بجهاز الاستشعار بالموجات فوق الصوتية بـ 12 ، 13 دبابيس رقمية ليوناردو
7. قم بتوصيل USB بالكمبيوتر
تحميل
بادئ ذي بدء ، ستحتاج إلى تنزيل مكتبات arduino الضرورية وتثبيتها:
1. مكتبة GOFi2cOLED:
2. مكتبة Ultrasonic-HC-SR04:
إذا كنت لا تعرف كيفية تثبيت مكتبات اردوينو ، فراجع هذا البرنامج التعليمي.
بعد تنزيل المكتبات أعلاه وتثبيتها ، يمكنك استنساخ أو تنزيل مستودع اردوينو الخاص بي الموجود هنا: https://github.com/danionescu0/arduino ، وسنستخدم هذا الرسم التخطيطي: https://github.com/danionescu0 / اردوينو / شجرة / سيد …
أو يمكنك نسخ الرمز ولصقه أدناه:
/ * * المكتبات المستخدمة في هذا المشروع: * * GOFi2cOLED: https://github.com/hramrach/GOFi2cOLED * Ultrasonic-HC-SR04: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04 * / #include "Keyboard.h" # تتضمن "Wire.h" # تتضمن "GOFi2cOLED.h" #include "Ultrasonic.h"
GOFi2cOLED GOFoled ؛
بالموجات فوق الصوتية (12 ، 13) ؛
مسافة بايت constPot = A0 ؛
const بايت timerPot = A1 ؛ نسبة تعويم const في المئةMaxDistanceChangedAllowed = 25 ؛ المسافة الفعلية maxDistanceDetectionTime طويلة بدون توقيع ؛ bool lockTimerStarted = خطأ ؛
الإعداد باطل()
{Serial.begin (9600) ، Keyboard.begin () ، initializeDisplay () ، }
حلقة فارغة()
{clearDisplay () ، الفعلية = getActualDistance () ؛ writeStatusData () ، doDisplay () ، إذا (! lockTimerStarted && shouldEnableLockTimer ()) {lockTimerStarted = true؛ maxDistanceDetectionTime = مللي () ، Serial.println ("بدء مؤقت القفل") ؛ } else if (! shouldEnableLockTimer ()) {Serial.println ("قفل مؤقت معطل")؛ lockTimerStarted = خطأ ، } if (shouldLockScreen ()) {lockScreen ()؛ Serial.println ("قفل الشاشة") ؛ } تأخير (100)؛ }
يجب boolLockScreen ()
{return lockTimerStarted && (millis () - maxDistanceDetectionTime) / 1000> getTimer () ؛ }
يجب أن تكون منطقية EnableLockTimer ()
{int allowDistance = percentMaxDistanceChangedAllowed / 100 * getDistance () ؛ إرجاع getTimer ()> 1 && getDistance ()> 1 && activeDistance - getDistance ()> allowedDistance ؛ }
كتابة باطلة
{setDisplayText (1، "MinDistance:"، String (getDistance ())) ؛ setDisplayText (1، "Timer:"، String (getTimer ())) ؛ setDisplayText (1، "ActualDistance:"، String (activeDistance)) ؛ int countDown = getTimer () - (millis () - maxDistanceDetectionTime) / 1000 ؛ رسالة سلسلة = "" ؛ إذا (shouldLockScreen ()) {message = "تم إرسال القفل" ؛ } else if (shouldEnableLockTimer () && countDown> = 0) {message = ".." + String (countDown)؛ } آخر {message = "لا" ؛ } setDisplayText (1، "Locking:"، message) ؛ }
تهيئة باطلة
{GOFoled.init (0x3C) ، GOFoled.clearDisplay () ، GOFoled.setCursor (0، 0) ، }
setDisplayText باطلة (حجم الخط البايت ، تسمية السلسلة ، بيانات السلسلة)
{GOFoled.setTextSize (fontSize) ، GOFoled.println (التسمية + ":" + البيانات) ؛ }
عرض باطل ()
{GOFoled.display () ، }
باطل مسح
{GOFoled.clearDisplay () ، GOFoled.setCursor (0، 0) ، }
int getActualDistance ()
{int DistanceSum = 0 ؛ لـ (بايت i = 0 ؛ i <10 ؛ i ++) {مسافة + = ultrasonic. Ranging (سم) ؛ }
مسافة العودة سوم / 10 ؛
}
int getDistance ()
{خريطة العودة (analogRead (timerPot) ، 0 ، 1024 ، 0 ، 200) ؛ }
int getTimer ()
{خريطة العودة (analogRead (مسافة) ، 0 ، 1024 ، 0 ، 20) ؛ }
قفل الشاشة باطل ()
{Serial.println ("الضغط") ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ تأخير (10) ؛ Keyboard.press (KEY_LEFT_ALT) ؛ تأخير (10) ؛ Keyboard.write ('l') ؛ تأخير (10) ؛ Keyboard.releaseAll () ؛ }
أخيرًا ، قم بتوصيل اردوينو بالكمبيوتر باستخدام كابل USB ، وقم بتحميل الرسم التخطيطي في اردوينو.
الخطوة الثالثة: استخدام الجهاز
عند توصيل اردوينو بالكمبيوتر ، فإنه يراقب باستمرار المسافة أمام المستشعر ويرسل مجموعة مفاتيح شاشة "قفل" إلى الكمبيوتر إذا زادت المسافة.
الجهاز به بعض التكوينات:
1. المسافة العادية ، يمكن تكوين المسافة باستخدام المقاوم المتغير المتصل بـ A0. يتم عرض المسافة أيضًا على شاشة OLED. عندما تزداد المسافة بنسبة 25٪ من تلك التي تم تعيينها ، سيبدأ العد التنازلي
2. مهلة (العد التنازلي). يمكن أيضًا تكوين المهلة بالثواني من المقاوم المتصل بـ A1. عند انتهاء المهلة ، سيتم إرسال أمر القفل
3. قفل تركيبة المفاتيح. تم إعداد مجموعة مفاتيح القفل الافتراضية للعمل مع Ubuntu Linux 18 (CTRL + ALT + L). لتغيير المجموعة ، تحتاج إلى تعديل مخططك وفقًا لنظام التشغيل الخاص بك:
4. حماية المهلة والمسافة. نظرًا لأن هذا جهاز يحاكي لوحة المفاتيح ، فمن الجيد أن يكون لديك آلية لإلغاء تنشيط وظيفة لوحة المفاتيح. لقد اخترت في الرسم الخاص بي أن تكون المهلة والمسافة أكبر من "1". (يمكنك تعديل ذلك في الكود إذا أردت)
حدد موقع وتغيير وظيفة "lockScreen ()"
void lockScreen () {Serial.println ("press") ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ تأخير (10) ؛ Keyboard.press (KEY_LEFT_ALT) ؛ تأخير (10) ؛ Keyboard.write ('l') ؛ تأخير (10) ؛ Keyboard.releaseAll () ؛ }
للحصول على قائمة كاملة بمفاتيح اردوينو الخاصة ، تحقق هنا:
الخطوة 4: مناهج أخرى
قبل هذا التنفيذ ، فكرت في بعض التطبيقات الأخرى أيضًا:
1. مقياس الحرارة بالأشعة تحت الحمراء (MLX90614 https://www.sparkfun.com/products/10740). مقياس الحرارة بالأشعة تحت الحمراء هو جهاز يقيس درجة الحرارة عن طريق تحليل إشعاعات الأشعة تحت الحمراء المنبعثة من جسم على مسافة. كان عندي أحد الكذب وفكرت أنه ربما يمكنني اكتشاف الاختلاف في درجة الحرارة أمام الكمبيوتر.
لقد قمت بتوصيله ، لكن فرق درجة الحرارة كان صغيرًا جدًا (عندما كنت في المقدمة أم لا) 1-2 درجة واعتقدت أنه لا يمكن الاعتماد عليه
2. جهاز استشعار PIR. (https://www.sparkfun.com/products/13285) يتم تسويق هذه المستشعرات الرخيصة على أنها "مستشعرات حركة" لكنها تكتشف بالفعل تغيرات في الأشعة تحت الحمراء ، لذا فمن الناحية النظرية يمكن أن تعمل ، عندما يترك الشخص الكمبيوتر يكتشفه المستشعر ذلك.. كما أن هذه المستشعرات لها مقابض حساسية وانتهاء مهلة. لقد قمت بتوصيل أحدها ولعبت بها ولكن يبدو أن المستشعر لم يتم تصنيعه من أجل مسافة قريبة (له زاوية واسعة) ، فقد أعطى جميع أنواع التنبيهات الخاطئة.
3. كشف الوجه باستخدام كاميرا الويب. بدا هذا الخيار ممتعًا للغاية ، حيث لعبت مع مجال الكمبيوتر هذا في مشاريعي الأخرى مثل: https://github.com/danionescu0/robot-camera-platfo… و https://github.com/danionescu0/image-processing- العلاقات العامة …
كانت هذه قطعة من الكعكة! ولكن كانت هناك بعض العيوب: لا يمكن استخدام كاميرا الكمبيوتر المحمول لأغراض أخرى أثناء تشغيل البرنامج ، وستكون هناك حاجة إلى بعض موارد الكمبيوتر لذلك. لذا فقد أسقطت هذه الفكرة أيضًا.
إذا كان لديك المزيد من الأفكار حول كيفية القيام بذلك ، يرجى مشاركتها ، شكرًا!
موصى به:
نظام التخلف التلقائي: 5 خطوات
نظام التخلف التلقائي: تم تطوير هذا المشروع عن طريق تعديل خوارزمية الكائن الذي يتجنب الروبوت. علاوة على ذلك ، يمكن التحكم في الروبوت الموجود في هذا الدليل بواسطة هاتف ذكي عبر Bluetooth
نظام إضاءة السيارة التلقائي: 4 خطوات
نظام الإضاءة الأوتوماتيكي للسيارة: يا رفاق ، تأتي السيارة الحديثة مع نظام إضاءة تلقائي للسيارة مما يعني أن المصابيح الأمامية تضيء وتنطفئ تلقائيًا وتعتمد على الإضاءة المحيطة ، لذلك عندما يحل الظلام أو تقود السيارة في تانيل ، ستضيء الأضواء تلقائيًا. حتى فكرت سويتشي
نظام التحليل التلقائي للحجم الذكي: 4 خطوات
النظام الذكي لتحليل الحجم التلقائي: يتمثل الموضوع في إنشاء نموذج أولي يمكنه تحليل وتحديد شكلين مختلفين وعرض حجمهما. هنا نختار استخدام Cube و Cylinder كشكلين مختلفين. يمكنه اكتشاف الأشكال وتحليل وحساب الحجم بنفسه
طريقة سريعة وسهلة لتغيير شاشة القفل في 6 خطوات بسيطة (Windows 8-10): 7 خطوات
طريقة سريعة وسهلة لتغيير شاشة القفل الخاصة بك في 6 خطوات بسيطة (Windows 8-10): هل تريد تغيير الأشياء على الكمبيوتر المحمول أو الكمبيوتر الشخصي؟ تريد تغيير في الجو الخاص بك؟ اتبع هذه الخطوات السريعة والسهلة لتخصيص شاشة قفل جهاز الكمبيوتر الخاص بك بنجاح
تعطيل التشغيل التلقائي في USB ومحرك الأقراص المضغوطة في نظام التشغيل Windows XP: 6 خطوات
تعطيل التشغيل التلقائي في USB ومحرك الأقراص المضغوطة في نظام التشغيل Windows XP: تنتشر الفيروسات بسهولة عبر محركات أقراص فلاش USB. يتم إنشاء الفيروسات المنقولة بهذه الطريقة بطريقة يتم تشغيلها تلقائيًا (يتم تنشيطها تلقائيًا) عند توصيلها بجهاز كمبيوتر قيد التشغيل أو عند فتح محرك الأقراص (النقر أو النقر المزدوج