chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)屏幕鎖定的安全性

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-13 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:組件

因?yàn)楦拍钭C明,我們將在面包板上構(gòu)建設(shè)備

您需要:

1。 Arduino Leonardo(使用Leonardo非常重要,因?yàn)樗梢?a href="http://www.brongaenegriffin.com/analog/" target="_blank">模擬鍵盤rd)

2。。HC-SR04超聲波距離傳感器

3。 2個(gè)10 K可變電阻器

4。面包板,面包板電線

5。 USB電纜

6。 OLED顯示屏(https://www.adafruit.com/product/931)

步驟2:組裝和上傳

首先檢查您是否具有所有必需的組件和Arduino IDE。我將簡(jiǎn)要地介紹連接步驟,您隨時(shí)可以查看所附的壓條示意圖

裝配

1。將Leonardo放在面包板上,并用橡皮筋將其固定到位

2。在面包板上放置兩個(gè)可變電阻OLED顯示器和超聲波傳感器

3。連接接地和vcc的

4。將電阻的中間引腳連接到arduino A0和A1

5。將顯示器的SDA和SCL連接到列昂納多(Leonardo)

6上標(biāo)記的SDA和SCL。將超聲波傳感器的觸發(fā)和回波引腳連接到Leonardo

7的12、13個(gè)數(shù)字引腳。將USB連接到計(jì)算機(jī)

上傳

首先,您需要下載并安裝必要的arduino庫:

1。 GOFi2cOLED庫:https://github.com/hramrach/GOFi2cOLED

2. Ultrasonic-HC-SR04庫:https://github.com/JRodrigoTech/Ultrasonic-HC-SR04

如果您不知道如何安裝arduino庫,請(qǐng)查看本教程。

下載并安裝了庫之后上方,您可以克隆或下載位于以下位置的arduino存儲(chǔ)庫:https://github.com/danionescu0/arduino,我們將使用此草圖:https://github.com/danionescu0/arduino/tree/master。 。

或者您可以復(fù)制并粘貼以下代碼:

/*

* Libraries used by this project:

*

* GOFi2cOLED: https://github.com/hramrach/GOFi2cOLED

* Ultrasonic-HC-SR04: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04

*/

#include “Keyboard.h”

#include “Wire.h”

#include “GOFi2cOLED.h”

#include “Ultrasonic.h”

GOFi2cOLED GOFoled;

Ultrasonic ultrasonic(12,13);

const byte distancePot = A0;

const byte timerPot = A1;

const float percentMaxDistanceChangedAllowed = 25;

int actualDistance;

unsigned long maxDistanceDetectionTime;

bool lockTimerStarted = false;

void setup()

{

Serial.begin(9600);

Keyboard.begin();

initializeDisplay();

}

void loop()

{

clearDisplay();

actualDistance = getActualDistance();

writeStatusData();

doDisplay();

if (!lockTimerStarted && shouldEnableLockTimer()) {

lockTimerStarted = true;

maxDistanceDetectionTime = millis();

Serial.println(“l(fā)ock timer begin”);

} else if (!shouldEnableLockTimer()){

Serial.println(“l(fā)ock timer disabled”);

lockTimerStarted = false;

}

if (shouldLockScreen()) {

lockScreen();

Serial.println(“Lock screen”);

}

delay(100);

}

bool shouldLockScreen()

{

return lockTimerStarted && (millis() - maxDistanceDetectionTime) / 1000 》 getTimer();

}

bool shouldEnableLockTimer()

{

int allowedDistance = percentMaxDistanceChangedAllowed / 100 * getDistance();

return getTimer() 》 1 && getDistance() 》 1 && actualDistance - getDistance() 》 allowedDistance;

}

void writeStatusData()

{

setDisplayText(1, “MinDistance:”, String(getDistance()));

setDisplayText(1, “Timer:”, String(getTimer()));

setDisplayText(1, “ActualDistance:”, String(actualDistance));

int countDown = getTimer() - (millis() - maxDistanceDetectionTime) / 1000;

String message = “”;

if (shouldLockScreen()) {

message = “l(fā)ock sent”;

} else if (shouldEnableLockTimer() && countDown 》= 0) {

message = “。.” + String(countDown);

} else {

message = “no”;

}

setDisplayText(1, “Locking: ”, message);

}

void initializeDisplay()

{

GOFoled.init(0x3C);

GOFoled.clearDisplay();

GOFoled.setCursor(0, 0);

}

void setDisplayText(byte fontSize, String label, String data)

{

GOFoled.setTextSize(fontSize);

GOFoled.println(label + “:” + data);

}

void doDisplay()

{

GOFoled.display();

}

void clearDisplay()

{

GOFoled.clearDisplay();

GOFoled.setCursor(0, 0);

}

int getActualDistance()

{

int distanceSum = 0;

for (byte i=0;i《10;i++) {

distanceSum += ultrasonic.Ranging(CM);

}

return distanceSum / 10;

}

int getDistance()

{

return map(analogRead(timerPot), 0, 1024, 0, 200);

}

int getTimer()

{

return map(analogRead(distancePot), 0, 1024, 0, 20);

}

void lockScreen()

{

Serial.println(“pressing”);

Keyboard.press(KEY_LEFT_CTRL);

delay(10);

Keyboard.press(KEY_LEFT_ALT);

delay(10);

Keyboard.write(‘l’);

delay(10);

Keyboard.releaseAll();

}

最后使用usb電纜將arduino連接到計(jì)算機(jī),然后將草圖上傳到arduino。/p》

第3步:使用設(shè)備

將arduino連接到計(jì)算機(jī)后,它將持續(xù)監(jiān)控顯示器前部的距離。傳感器,并在距離增加時(shí)將“鎖定”屏幕按鍵組合發(fā)送到計(jì)算機(jī)。

設(shè)備具有一些配置:

1。正常距離,可以使用連接到A0的可變電阻器來配置距離。距離也顯示在OLED上。當(dāng)距離從設(shè)置的距離增加25%時(shí),倒計(jì)時(shí)將開始

2。超時(shí)(倒數(shù))。 還可以通過連接到A1的電阻來配置超時(shí)(以秒為單位)。超時(shí)到期后,將發(fā)送鎖定命令

3。鎖定組合鍵。設(shè)置了默認(rèn)的鎖定鍵組合以適用于Ubuntu Linux 18(CTRL + ALT + L)。要更改組合,您需要根據(jù)操作系統(tǒng)修改草圖:

4。超時(shí)和距離保護(hù)。 因?yàn)檫@是一種模擬鍵盤的設(shè)備,所以最好有一種停用鍵盤功能的機(jī)制。在我的草圖中,我選擇超時(shí)和距離必須大于“ 1”。 (您可以根據(jù)需要在代碼中進(jìn)行修改)

找到并更改“ lockScreen()”功能

void lockScreen()

{

Serial.println(“pressing”);

Keyboard.press(KEY_LEFT_CTRL);

delay(10);

Keyboard.press(KEY_LEFT_ALT);

delay(10);

Keyboard.write(‘l’);

delay(10);

Keyboard.releaseAll();

}

有關(guān)arduino特殊鍵的完整列表,在此處檢查:https://www.arduino.cc/en/Reference/KeyboardModifi 。..

步驟4:其他方法

在此實(shí)現(xiàn)之前我也考慮了其他一些實(shí)現(xiàn):

1。紅外溫度計(jì)(MLX90614 https://www.sparkfun.com/products/10740)。紅外溫度計(jì)是一種通過分析遠(yuǎn)距離物體發(fā)射的紅外輻射來測(cè)量溫度的設(shè)備。我周圍躺著一個(gè),我想也許我可以檢測(cè)到計(jì)算機(jī)正面的溫度差異。

我已經(jīng)將它掛好了,但是溫差很小(無論我在前面還是不在)

1-2度,我認(rèn)為它不太可靠

2。 PIR傳感器。(https://www.sparkfun.com/products/13285)這種便宜的傳感器被稱為“運(yùn)動(dòng)傳感器”,但它們確實(shí)可以檢測(cè)到紅外輻射的變化,因此從理論上講,當(dāng)一個(gè)人使用時(shí),它可以工作離開計(jì)算機(jī)后,傳感器將檢測(cè)到該情況。此外,這些傳感器還具有超時(shí)和靈敏度旋鈕。因此,我已經(jīng)掛接好它并玩了,但是似乎它不是在近距離內(nèi)制作的(它有一個(gè)廣角),它發(fā)出了各種錯(cuò)誤的警報(bào)。

3。使用網(wǎng)絡(luò)攝像頭進(jìn)行人臉檢測(cè)。這個(gè)選項(xiàng)似乎非常有趣,因?yàn)槲以谄渌?xiàng)目(例如https://github.com/danionescu0/robot-camera-platfo 。..和https://github.com/danionescu0/image-processing-pr 。..

這真是小菜一碟!但是有一些缺點(diǎn):程序運(yùn)行時(shí)不能將筆記本電腦相機(jī)用于其他目的,為此需要一些計(jì)算機(jī)資源。因此,我也放棄了這個(gè)想法。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7663

    瀏覽量

    90834
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)計(jì)算機(jī)與商用計(jì)算機(jī)的區(qū)別有哪些

    工業(yè)計(jì)算機(jī)是一種專為工廠和工業(yè)環(huán)境設(shè)計(jì)的計(jì)算系統(tǒng),具有高可靠和穩(wěn)定性,能夠應(yīng)對(duì)惡劣環(huán)境下的自動(dòng)化、制造和機(jī)器人操作。其特點(diǎn)包括無風(fēng)扇散熱技術(shù)、無電纜連接和防塵防水設(shè)計(jì),使其在各種工業(yè)自動(dòng)化場(chǎng)景中
    的頭像 發(fā)表于 07-10 16:36 ?183次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>與商用<b class='flag-5'>計(jì)算機(jī)</b>的區(qū)別有哪些

    工業(yè)計(jì)算機(jī)的定義與重要

    工業(yè)計(jì)算機(jī)是專門為工業(yè)環(huán)境設(shè)計(jì)和制造的計(jì)算設(shè)備,其主要功能在于監(jiān)控、控制和優(yōu)化生產(chǎn)流程。這類計(jì)算機(jī)系統(tǒng)通常具備強(qiáng)大的處理能力、較高的穩(wěn)定性以及耐高溫、抗震動(dòng)和防塵等特性,能夠在極端的工作環(huán)境下高效
    的頭像 發(fā)表于 12-25 15:11 ?707次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>的定義與重要<b class='flag-5'>性</b>

    云端超級(jí)計(jì)算機(jī)使用教程

    云端超級(jí)計(jì)算機(jī)是一種基于云計(jì)算的高性能計(jì)算服務(wù),它將大量計(jì)算資源和存儲(chǔ)資源集中在一起,通過網(wǎng)絡(luò)向用戶提供按需的計(jì)算服務(wù)。下面,AI部落小編為
    的頭像 發(fā)表于 12-17 10:19 ?553次閱讀

    工業(yè)中使用哪種計(jì)算機(jī)

    使其成為工廠、倉庫和其他要求苛刻的工業(yè)環(huán)境的理想選擇。通過提供高性能和可靠,工業(yè)計(jì)算機(jī)可確保高效、連續(xù)的運(yùn)行。工業(yè)計(jì)算機(jī)的類型在工業(yè)環(huán)境中,人們使用各種專用計(jì)算機(jī)來滿
    的頭像 發(fā)表于 11-29 14:07 ?716次閱讀
    工業(yè)中使用哪種<b class='flag-5'>計(jì)算機(jī)</b>?

    量子計(jì)算機(jī)與普通計(jì)算機(jī)工作原理的區(qū)別

    ? 本文介紹了量子計(jì)算機(jī)與普通計(jì)算機(jī)工作原理的區(qū)別。 量子計(jì)算是一個(gè)新興的研究領(lǐng)域,科學(xué)家們利用量子力學(xué),制造出具有革命性能力的計(jì)算機(jī)。雖然現(xiàn)在的量子
    的頭像 發(fā)表于 11-24 11:00 ?1506次閱讀
    量子<b class='flag-5'>計(jì)算機(jī)</b>與普通<b class='flag-5'>計(jì)算機(jī)</b>工作原理的區(qū)別

    新思科技如何應(yīng)對(duì)量子計(jì)算機(jī)的威脅

    敏感數(shù)據(jù)都有可能被儲(chǔ)存起來,待量子計(jì)算機(jī)具備足夠能力后解密。這種“先收集后解密”的策略嚴(yán)重威脅著我們的數(shù)字通信保密、醫(yī)療記錄、金融交易以及國家安全
    的頭像 發(fā)表于 11-18 09:33 ?931次閱讀

    工業(yè)計(jì)算機(jī)類型介紹

    工業(yè)領(lǐng)域沒有計(jì)算機(jī)的世界就像沒有管弦樂隊(duì)的交響樂,缺乏實(shí)現(xiàn)最佳性能所需的和諧和精確度。計(jì)算機(jī)徹底改變了工業(yè)的運(yùn)作方式,將效率、準(zhǔn)確和創(chuàng)新推向了新的高度。事實(shí)上,根據(jù)最近在印度進(jìn)行的一項(xiàng)研究
    的頭像 發(fā)表于 11-04 15:56 ?673次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>類型介紹

    計(jì)算安全性如何保障

    計(jì)算安全性是一個(gè)復(fù)雜而多維的問題,涉及多個(gè)層面和多種技術(shù)手段。為了保障云計(jì)算安全性,需要采取一系列綜合措施,以下是具體的保障方法: 一、數(shù)據(jù)加密 數(shù)據(jù)加密是保護(hù)云
    的頭像 發(fā)表于 10-24 09:14 ?898次閱讀

    工業(yè)中使用哪種類型的計(jì)算機(jī)

    極端條件而不可或缺。工業(yè)計(jì)算機(jī)在現(xiàn)代工業(yè)中的重要工業(yè)計(jì)算機(jī)與普通消費(fèi)級(jí)計(jì)算機(jī)的區(qū)別在于其耐用和在惡劣環(huán)境下的性能。工業(yè)界選擇工業(yè)
    的頭像 發(fā)表于 10-22 17:10 ?695次閱讀
    工業(yè)中使用哪種類型的<b class='flag-5'>計(jì)算機(jī)</b>?

    計(jì)算機(jī)接口位于什么之間

    計(jì)算機(jī)接口是計(jì)算機(jī)硬件和軟件之間、計(jì)算機(jī)與外部設(shè)備之間以及計(jì)算機(jī)各部件之間傳輸數(shù)據(jù)、控制信息和狀態(tài)信息的硬件設(shè)備和軟件程序。它在計(jì)算機(jī)系統(tǒng)中
    的頭像 發(fā)表于 10-14 14:02 ?1325次閱讀

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)的構(gòu)成

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)是計(jì)算機(jī)中用于存放程序和數(shù)據(jù)的設(shè)備或部件的集合,它構(gòu)成了計(jì)算機(jī)信息處理的基礎(chǔ)。一個(gè)完整的計(jì)算機(jī)存儲(chǔ)系統(tǒng)通常包括多個(gè)層次的存儲(chǔ)器,從高速緩存(Cache)到主存儲(chǔ)器(Mai
    的頭像 發(fā)表于 09-26 15:25 ?2547次閱讀

    簡(jiǎn)述計(jì)算機(jī)總線的分類

    計(jì)算機(jī)總線作為計(jì)算機(jī)系統(tǒng)中連接各個(gè)功能部件的公共通信干線,其結(jié)構(gòu)和分類對(duì)于理解計(jì)算機(jī)硬件系統(tǒng)的工作原理至關(guān)重要。以下是對(duì)計(jì)算機(jī)總線結(jié)構(gòu)和分類的詳細(xì)闡述,內(nèi)容將涵蓋總線的基本概念、內(nèi)部結(jié)
    的頭像 發(fā)表于 08-26 16:23 ?5187次閱讀

    晶體管計(jì)算機(jī)和電子管計(jì)算機(jī)有什么區(qū)別

    晶體管計(jì)算機(jī)和電子管計(jì)算機(jī)作為計(jì)算機(jī)發(fā)展史上的兩個(gè)重要階段,它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別。以下是對(duì)這兩類計(jì)算機(jī)在硬件、性能、應(yīng)用以及技術(shù)發(fā)展等方面區(qū)別的詳細(xì)闡述。
    的頭像 發(fā)表于 08-23 15:28 ?3623次閱讀

    請(qǐng)問DM平臺(tái)訪問安全性如何控制?

    DM平臺(tái)訪問安全性如何控制?
    發(fā)表于 07-25 06:10

    計(jì)算機(jī)系統(tǒng)的組成和功能

    計(jì)算機(jī)系統(tǒng)是一個(gè)復(fù)雜而龐大的概念,它涵蓋了計(jì)算機(jī)硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計(jì)算機(jī)系統(tǒng),本文將從定義、組成、功能、發(fā)展歷程以及未來趨勢(shì)等方面進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 07-24 17:41 ?2414次閱讀