世界各地的人們使用Arduino來控制電機(jī),螺線管和泵,但是你做到了嗎?知道Arduino也可以用來控制你的電腦嗎?
使用一些簡單的代碼,Arduino可以作為鍵盤呈現(xiàn)給你的電腦,能夠輸入文字,按住鍵和觸發(fā)鍵盤快捷鍵。您甚至可以將Arduino編碼為鼠標(biāo)或媒體控制器 - 可能性非常大!
強(qiáng)大的生產(chǎn)力工具
我覺得最令人興奮的是,您可以對Arduino進(jìn)行編程,以便向您的計(jì)算機(jī)發(fā)送一系列按鍵。因此,如果您將按鈕連接到Arduino,您可以使用單按按鈕來觸發(fā)多次自動(dòng)擊鍵。
如果您經(jīng)常發(fā)現(xiàn)自己鍵入重復(fù)文本或使用相同的鍵盤快捷鍵,那么現(xiàn)在是時(shí)候了你將你的Arduino變成一個(gè)強(qiáng)大的生產(chǎn)力工具,消除了很多關(guān)鍵的攻擊!
向ATmega32u4問好
在你找到你之前Arduino Uno,你應(yīng)該知道這個(gè)功能僅限于基于ATmega32u4微芯片的Arduino板。
與大多數(shù)Arduino板(有一個(gè)單獨(dú)的微芯片來處理USB串行通信)不同,ATmega32u4可以完成所有工作。一個(gè)芯片,允許它直接呈現(xiàn)為鍵盤。
支持此功能的主板是Arduino Leonardo,Arduino Micro和Arduino兼容的Pro Micro。
對于本教程,我將使用Arduino兼容e Pro Micro。你可以從Ebay那里得到它們非常便宜,只要確保你不要把它與Pro Mini混在一起,這是一個(gè)完全不同的板!
與Arduino兼容的Pro Micro。
硬件
將我的Arduino兼容Pro Micro放入面包板并連接按鈕,為觸發(fā)我們的自動(dòng)擊鍵提供物理輸入。這是一個(gè)非常簡單的接線圖 - 按鈕的輸入位于Arduino兼容Pro Micro的引腳2上。
這是接線圖的示意圖:
接線圖示意圖
如果你在家里玩(就像我一樣,在我寫作的時(shí)候),那么這里有一張照片實(shí)體板:
實(shí)際構(gòu)建。不要介意我的(相當(dāng)搖擺)電路布線。
擊鍵自動(dòng)化軟件
該軟件相當(dāng)簡單 - 它使用內(nèi)置的 Keyboard.h 庫發(fā)送擊鍵,并有一個(gè)基本循環(huán),用于監(jiān)聽第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.
}
作為一個(gè)有趣的例如,我已經(jīng)將這個(gè)Arduino草圖打開了Windows計(jì)算機(jī)上的應(yīng)用程序記事本。它通過觸發(fā)鍵盤快捷鍵“Windows Key + R”來打開Windows運(yùn)行對話框來完成此操作。然后鍵入應(yīng)用程序“記事本”的名稱并按Enter鍵。
這種擊鍵組合將使應(yīng)用程序記事本在屏幕上快速彈出,所有這些都是通過鏈接到Arduino的單個(gè)物理按鈕觸發(fā)的。
如果您在Linux或OSX上并不絕望,可以非常輕松地調(diào)整代碼以在您首選的操作系統(tǒng)中實(shí)現(xiàn)自動(dòng)化 - 按鍵和快捷鍵的相同原則仍然適用。
后續(xù)步驟
想要打開不同的應(yīng)用程序而不是記事本?簡單!只需將字符串“notepad”替換為Arduino草圖中的“winword”,看看會(huì)發(fā)生什么。..。..你可能對彈出的應(yīng)用程序非常熟悉!
不要忘記延遲。..。..
可能不會(huì)立即顯而易見的一件事是需要延遲代碼。我把它們放進(jìn)去是因?yàn)槟愕腁rduino可以比計(jì)算機(jī)讀取它們更快地發(fā)送擊鍵。因此,您必須延遲100到1000毫秒才能使計(jì)算機(jī)趕上。
你能走多遠(yuǎn)?
如果你正在尋找使用這種Arduino鍵盤技術(shù)可以實(shí)現(xiàn)的一些靈感,然后看看Makey Makey。
它在一個(gè)聰明的小板上使用ATmega32u4芯片。設(shè)計(jì)用于連接(通過鱷魚夾)香蕉,胡蘿卜,軟糖熊,以及任何你喜歡的東西!
帶有Makey Makey的香蕉鋼琴。圖片由Makey Makey提供。
您可以通過有趣的事情在兩個(gè)聯(lián)系人之間建立聯(lián)系(如一個(gè)香蕉)這將導(dǎo)致Makey Makey向您的計(jì)算機(jī)發(fā)送擊鍵。只需打開一個(gè)在線鋼琴應(yīng)用程序并釋放你的內(nèi)心香蕉音樂家。
-
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
188114
發(fā)布評論請先 登錄
相關(guān)推薦
評論