世界各地的人們使用Arduino來控制電機,螺線管和泵,但是你做到了嗎?知道Arduino也可以用來控制你的電腦嗎?
使用一些簡單的代碼,Arduino可以作為鍵盤呈現給你的電腦,能夠輸入文字,按住鍵和觸發鍵盤快捷鍵。您甚至可以將Arduino編碼為鼠標或媒體控制器 - 可能性非常大!
強大的生產力工具
我覺得最令人興奮的是,您可以對Arduino進行編程,以便向您的計算機發送一系列按鍵。因此,如果您將按鈕連接到Arduino,您可以使用單按按鈕來觸發多次自動擊鍵。
如果您經常發現自己鍵入重復文本或使用相同的鍵盤快捷鍵,那么現在是時候了你將你的Arduino變成一個強大的生產力工具,消除了很多關鍵的攻擊!
向ATmega32u4問好
在你找到你之前Arduino Uno,你應該知道這個功能僅限于基于ATmega32u4微芯片的Arduino板。
與大多數Arduino板(有一個單獨的微芯片來處理USB串行通信)不同,ATmega32u4可以完成所有工作。一個芯片,允許它直接呈現為鍵盤。
支持此功能的主板是Arduino Leonardo,Arduino Micro和Arduino兼容的Pro Micro。
對于本教程,我將使用Arduino兼容e Pro Micro。你可以從Ebay那里得到它們非常便宜,只要確保你不要把它與Pro Mini混在一起,這是一個完全不同的板!
與Arduino兼容的Pro Micro。
硬件
將我的Arduino兼容Pro Micro放入面包板并連接按鈕,為觸發我們的自動擊鍵提供物理輸入。這是一個非常簡單的接線圖 - 按鈕的輸入位于Arduino兼容Pro Micro的引腳2上。
這是接線圖的示意圖:
接線圖示意圖
如果你在家里玩(就像我一樣,在我寫作的時候),那么這里有一張照片實體板:
實際構建。不要介意我的(相當搖擺)電路布線。
擊鍵自動化軟件
該軟件相當簡單 - 它使用內置的 Keyboard.h 庫發送擊鍵,并有一個基本循環,用于監聽第2針上的按鈕按下。
#include // The main library for sending keystrokes.
void setup()
{
Keyboard.begin(); // Initialise the library.
}
// Loop around waiting for a button press on pin 2.
// When the button is pressed, go to the function triggerAutomation.
void loop()
{
if(digitalRead(2) == HIGH)
{
triggerAutomation();
}
}
void triggerAutomation()
{
Keyboard.press(KEY_LEFT_GUI); // Press and hold the Windows key.
Keyboard.press(‘r’); // Press and hold the ‘r’ key.
delay(100); // Wait for the computer to register the press.
Keyboard.releaseAll(); // Release both of the above keys.
delay(1000); // Wait for the Windows Run Dialog to open.
Keyboard.print(“Notepad”); // Type “Notepad”。
Keyboard.press(KEY_RETURN); // Press the Enter key.
delay(100); // Wait for the computer to register the press.
Keyboard.releaseAll(); // Release the Enter key.
}
作為一個有趣的例如,我已經將這個Arduino草圖打開了Windows計算機上的應用程序記事本。它通過觸發鍵盤快捷鍵“Windows Key + R”來打開Windows運行對話框來完成此操作。然后鍵入應用程序“記事本”的名稱并按Enter鍵。
這種擊鍵組合將使應用程序記事本在屏幕上快速彈出,所有這些都是通過鏈接到Arduino的單個物理按鈕觸發的。
如果您在Linux或OSX上并不絕望,可以非常輕松地調整代碼以在您首選的操作系統中實現自動化 - 按鍵和快捷鍵的相同原則仍然適用。
后續步驟
想要打開不同的應用程序而不是記事本?簡單!只需將字符串“notepad”替換為Arduino草圖中的“winword”,看看會發生什么。..。..你可能對彈出的應用程序非常熟悉!
不要忘記延遲。..。..
可能不會立即顯而易見的一件事是需要延遲代碼。我把它們放進去是因為你的Arduino可以比計算機讀取它們更快地發送擊鍵。因此,您必須延遲100到1000毫秒才能使計算機趕上。
你能走多遠?
如果你正在尋找使用這種Arduino鍵盤技術可以實現的一些靈感,然后看看Makey Makey。
它在一個聰明的小板上使用ATmega32u4芯片。設計用于連接(通過鱷魚夾)香蕉,胡蘿卜,軟糖熊,以及任何你喜歡的東西!
帶有Makey Makey的香蕉鋼琴。圖片由Makey Makey提供。
您可以通過有趣的事情在兩個聯系人之間建立聯系(如一個香蕉)這將導致Makey Makey向您的計算機發送擊鍵。只需打開一個在線鋼琴應用程序并釋放你的內心香蕉音樂家。
-
Arduino
+關注
關注
189文章
6494瀏覽量
190324
發布評論請先 登錄
《ESP32S3 Arduino開發指南》第二章 Arduino基礎知識
Tektronix泰克MSO4054示波器按鈕失靈維修案例

TPS3422 單通道按鈕控制器,具有可配置的延遲和復位脈沖數據手冊

基于Arduino的串口通信項目
如何使用Arduino實現CAN總線通信
labview 布爾按鈕閂鎖動作問題
控制的按鈕開關是交流還是直流
開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤
重復接地的作用與實施
在ESP32-S3-DevKitM-1上學習使用按鍵中斷,無法工作是哪里的問題?
ESP32使用Arduino啟用藍牙后編譯固件過大,怎樣縮減大小呢?
利用Arduino的自動風扇速度控制電路設計

評論