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

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

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

怎樣使用Arduino和按鈕自動(dòng)重復(fù)按鍵

454398 ? 來源:工程師吳畏 ? 2019-07-26 14:09 ? 次閱讀

世界各地的人們使用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)心香蕉音樂家。

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

    關(guān)注

    188

    文章

    6477

    瀏覽量

    188114
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用Arduino實(shí)現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化等領(lǐng)域。它以其高可靠性、實(shí)時(shí)性和靈活性而受到青睞。Arduino作為一個(gè)
    的頭像 發(fā)表于 11-12 10:09 ?1454次閱讀

    labview 布爾按鈕閂鎖動(dòng)作問題

    大家好,如圖我通過設(shè)置布爾按鈕的屬性實(shí)現(xiàn)按鈕按下去自動(dòng)復(fù)原但是有個(gè)問題這個(gè)選擇會(huì)導(dǎo)致這個(gè)按鈕的值改變兩次,就會(huì)導(dǎo)致在事件結(jié)構(gòu)-值變化中執(zhí)行兩次有大佬知道怎么解決執(zhí)行兩次的問題嗎?
    發(fā)表于 09-18 17:10

    控制的按鈕開關(guān)是交流還是直流

    控制按鈕開關(guān)可以是交流(AC)或直流(DC)供電,具體取決于其設(shè)計(jì)和應(yīng)用場景。在電氣系統(tǒng)中,按鈕開關(guān)通常用于控制電路的開啟和關(guān)閉,它們可以是簡單的機(jī)械開關(guān),也可以是更復(fù)雜的電子控制單元。 1.
    的頭像 發(fā)表于 09-11 14:54 ?910次閱讀

    開源項(xiàng)目!基于 Arduino DIY 漂亮的宏機(jī)械鍵盤

    功能。例如,對于鍵 2,我指定了截屏快捷鍵,在 Mac OS 上是 CMD+SHIFT+5。在if條件下,如果按下按鈕,Arduino 將通過 Keyboard.press () 函數(shù)將三個(gè)按鍵發(fā)送到
    發(fā)表于 08-19 17:02

    重復(fù)接地的作用與實(shí)施

    重復(fù)接地是一種在中性點(diǎn)直接接地的電力系統(tǒng)中采用的技術(shù)措施,通過在零干線的一個(gè)或多個(gè)位置用金屬導(dǎo)線將接地裝置連接起來。這 種措施主要應(yīng)用于低壓三相四線制中性點(diǎn)直接接地的配電線路中。在施工過程中
    的頭像 發(fā)表于 08-15 11:23 ?1367次閱讀

    怎樣Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1091次閱讀
    <b class='flag-5'>怎樣</b>用<b class='flag-5'>Arduino</b>測試鋰電池容量

    在ESP32-S3-DevKitM-1上學(xué)習(xí)使用按鍵中斷,無法工作是哪里的問題?

    硬件:ESP32-S3-DevKitM-1 IDE:Arduino IDE 2.0.3 想借助板子上的boot按鈕學(xué)習(xí)使用按鍵外部中斷控制RGB亮滅,代碼附下,問題表現(xiàn)為開發(fā)板重啟,中斷無法工作
    發(fā)表于 07-01 07:32

    ESP32使用Arduino啟用藍(lán)牙后編譯固件過大,怎樣縮減大小呢?

    ESP32使用Arduino啟用藍(lán)牙后編譯固件過大,怎樣縮減大小,日志級(jí)別已經(jīng)最低了,分區(qū)不能動(dòng),已經(jīng)是1.9M的OTA分區(qū)配置了,怎樣還能縮減大小,藍(lán)牙功能能否裁剪
    發(fā)表于 06-28 11:27

    Arduino怎樣配置LVGL8.1.0訪問spiffs里面的字庫或圖片?

    抱歉把Arduino的內(nèi)容發(fā)在這個(gè)版塊了. 在Arduino的示例中LITTLEFS_test.ino SPIFFS_Test.ino FFat_Test.ino已經(jīng)測試成功, 并且使用ESP32
    發(fā)表于 06-19 06:15

    使用idf.py命令方式編譯,怎樣才能編譯arduino的庫,并且在項(xiàng)目中可調(diào)用?

    在編譯過程中,提示找不到對應(yīng)的頭文件。 請問使用idf.py命令方式編譯,怎樣才能編譯arduino的庫,并且在項(xiàng)目中可調(diào)用。
    發(fā)表于 06-13 06:56

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    在esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時(shí)需要使用arduino的第三方庫blinker,怎樣使用
    發(fā)表于 06-12 07:21

    探究合閘接觸器重復(fù)動(dòng)作問題

    這個(gè)變電所原來的控制裝置比較陳舊,在技術(shù)改造過程中,提升為綜合自動(dòng)化裝置。在進(jìn)行10kV出線斷路器聯(lián)動(dòng)試驗(yàn)時(shí),發(fā)現(xiàn)合閘接觸器出現(xiàn)重復(fù)動(dòng)作。
    的頭像 發(fā)表于 04-09 11:47 ?528次閱讀

    stm8觸摸感應(yīng)按鍵怎樣掃描的?

    stm8觸摸感應(yīng) 按鍵怎樣掃描,和怎樣消抖
    發(fā)表于 04-01 06:17

    如何用Arduino制作一個(gè)簡易自動(dòng)喂魚器

    如果你家里養(yǎng)有魚,并想找到一種自動(dòng)化喂食的方法,這個(gè)項(xiàng)目可能會(huì)對你有所啟發(fā)。 在這個(gè)教程中,作者將展示如何制作自己的基于Arduino自動(dòng)喂魚器,讓小魚不在餓肚子。 自動(dòng)喂魚器的
    發(fā)表于 03-28 11:25

    Qorvo的MEMS壓力傳感器如何消除機(jī)械按鈕

    我在上一篇關(guān)于MEMS壓力傳感器的博客中,談到了從手表到復(fù)雜機(jī)械等眾多設(shè)備中的HMI傳感器如何改變了我們獲取信息以及與技術(shù)交互的方式。過去,許多設(shè)備上只有機(jī)械按鈕按鍵,而現(xiàn)在則利用觸摸屏及其它傳感
    的頭像 發(fā)表于 02-21 09:39 ?761次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品