当ARDUINO UNO的针脚2接地时,此示例使用键盘库使您退出计算机上的用户会话,同时模拟两个或三个键的按键,并在短暂延迟后释放它们。
您将需要以下组件-
遵循电路图,并连接面包板上的组件,如下图所示。
打开计算机上的Arduino IDE软件,使用Arduino语言进行编码将控制您的电路,通过单击"新建"打开一个新的sketch文件。
对于此示例,您需要使用Arduino IDE 1.6.7
注意-您必须在Arduino库文件中包含键盘库。
/* Keyboard logout This sketch demonstrates the Keyboard library. When you connect pin 2 to ground, it performs a logout. It uses keyboard combinations to do this, as follows: On Windows, CTRL-ALT-DEL followed by ALT-l On Ubuntu, CTRL-ALT-DEL, and ENTER On OSX, CMD-SHIFT-q To wake: Spacebar. Circuit: * Arduino Leonardo or Micro * wire to connect D2 to ground. */ #define OSX 0 #define WINDOWS 1 #define UBUNTU 2 #include "Keyboard.h" //更改它以匹配您的平台: int platform=WINDOWS; void setup() { //使引脚 2 成为输入并打开 //上拉电阻,所以它变高,除非 pinMode(2, INPUT_PULLUP); Keyboard.begin(); } void loop() { while (digitalRead(2) == HIGH) { //在引脚 2 变低之前什么都不做 delay(500); } delay(1000); switch (platform) { case OSX: Keyboard.press(KEY_LEFT_GUI); //Shift-Q 注销: Keyboard.press(KEY_LEFT_SHIFT); Keyboard.press('Q'); delay(100); //enter: Keyboard.write(KEY_RETURN); break; case WINDOWS: //CTRL-ALT-DEL: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(100); Keyboard.releaseAll(); //ALT-l: delay(2000); Keyboard.press(KEY_LEFT_ALT); Keyboard.press('l'); Keyboard.releaseAll(); break; case UBUNTU: //CTRL-ALT-DEL: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(1000); Keyboard.releaseAll(); //输入确认注销: Keyboard.write(KEY_RETURN); break; } //do nothing: while (true); } Keyboard.releaseAll(); //enter: Keyboard.write(KEY_RETURN); break; case WINDOWS: //CTRL-ALT-DEL: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(100); Keyboard.releaseAll(); //ALT-l: delay(2000); Keyboard.press(KEY_LEFT_ALT); Keyboard.press('l'); Keyboard.releaseAll(); break; case UBUNTU: //CTRL-ALT-DEL: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(1000); Keyboard.releaseAll(); //输入确认注销: Keyboard.write(KEY_RETURN); break; } //do nothing: while (true); }
在将程序上传到板上之前,请确保已将当前使用的正确操作系统分配给平台变量。
在运行sketch时,按下按钮会将引脚2接地,电路板会将注销序列发送到USB连接的PC。
当您将引脚2接地时,它将执行注销操作。
它使用以下键盘组合注销-
在 Windows 上,先按CTRL-ALT-DEL,再按ALT-l
在 Ubuntu ,CTRL-ALT-DEL和ENTER
在 OSX 上,CMD-SHIFT-q
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)