題:
是否可以按下Arduino的按鈕,我的計算機就會收到按鍵事件?
Freewind
2014-06-15 16:23:23 UTC
view on stackexchange narkive permalink

我的想法似乎很簡單:

我將按鈕與arduino連接起來,然後編寫一些代碼並將其上傳到arduino。然後,我在計算機上打開記事本(或任何其他編輯器)。當我按下按鈕時,記事本中會顯示一個字符“ A”。將 A 發送到串行端口 9600 ,但似乎字符 A 僅顯示在串行監視器GUI中。

我的問題是:

  1. “ Arduino uno”可以實現嗎?
  2. 如果沒有,我還應該使用其他哪個板子?
  3. Serial.write / print 正確的功能?
  4. 還是我應該使用 Keyboard。??? 功能?
  5. 可以嗎?我必須編寫一個在計算機上運行並監聽串行端口並發出真實按鍵事件的應用程序? (真可悲)
  6. ol>
六 答案:
sachleen
2014-06-15 20:46:29 UTC
view on stackexchange narkive permalink

Uno並不是最好的選擇。您也許可以通過 Virtual USB項目實現某個目標,但是有一些板更適合於此。

其中包括Arduino Leonardo,Micro和Due 。在這種情況下,您可以像現在使用串行庫一樣使用鍵盤庫此頁面的示例與您的項目非常相似:

  void setup(){//將引腳2設為輸入,並打開//上拉電阻,這樣除非//接地,否則將變為高電平:pinMode(2,INPUT_PULLUP); Keyboard.begin();} void loop(){//如果按下了按鈕if(digitalRead(2)== LOW){//發送消息Keyboard.print(“ Hello!”); }}  
Madivad
2014-06-16 08:41:27 UTC
view on stackexchange narkive permalink

有一個專門為鍵盤仿真而設計的微型麥克風(我還沒有做任何實驗),但是在飛行模擬器世界中非常流行,因為這些微型麥克風裝有按鈕,開關和旋轉編碼器,模擬座艙。這些輸入將轉換為鍵盤輸入(據我所知)。

這裡有一些常規項目: https://www.pjrc.com/teensy/projects.html

一些鍵盤特定的內容: https://www.pjrc.com/teensy/usb_keyboard.html

有關arduino環境中的未成年人的更多信息: https://www.pjrc.com /teensy/teensyduino.html

關於您要查找的內容,這可能非常有用: https://www.pjrc.com/teensy/td_keyboard。 html

我並沒有讓您遠離Arduino,這只是需要研究的其他內容

確實去了Teensy。它們體積小,價格便宜,並且可以像“官方” Arduino一樣使用。您可以繼續使用Arduino的編輯器,因此除了開發板之外,其他都不會改變。您不僅可以模擬鍵盤,還可以假裝自己是鼠標,MIDI界面和許多其他東西。
JRobert
2014-06-15 17:43:18 UTC
view on stackexchange narkive permalink

您的示例描述了收集文本-是否符合您的目標,或者您需要生成任何類型的按鍵事件?如果您不需要生成系統事件,那麼任何終端仿真器(不僅是Arduino IDE)都應該能夠偵聽該端口,並將接收到的任何內容記錄到文件中。

我需要將其作為某種關鍵事件。我的最終目標是通過arduino製作自定義鍵盤
Tas
2016-01-04 20:15:31 UTC
view on stackexchange narkive permalink

查看此視頻,將Arduino UNO作為USB鍵盤(HID設備)[任何Arduino](ep 6),因為我認為這就是您想要的。

從youtube視頻中,您可以獲取庫站點和原理圖的鏈接。

您確實需要構建一個小接口以將Arduino連接到PC。我為Uno和Micro買到了它,但其他Arduinos使用最新固件就可以了。

當您鏈接到外部資源時,如果您總結鏈接的內容(本例中為視頻)或如何幫助解決問題,將很有幫助。如果鏈接“旋轉”,這尤其有用。我們正在嘗試在此處建立持久的資源,並從長遠的角度考慮問題。
如果您可以編輯您的答案以在*您的*答案中提供鏈接,那將是一個好主意,以及原理圖的副本,並引用源,如果版權允許的話,以防視頻被刪除。
Mausy5043
2014-06-15 19:21:03 UTC
view on stackexchange narkive permalink

我認為您還需要安裝 processing

請參閱此鏈接

它使您可以對計算機進行編程-應用程序的另一面。

您是說我必須使用某些編程語言來編寫在計算機端運行的程序嗎?我必須使用“處理”語言嗎?我發現它很有趣,但是我確定為什麼它在Arduino上很特別?
處理雖然是使用Arduino時對您的武器庫的寶貴補充,但對於您的目的並不需要。相反,如果不是不可能的話,它將使事情變得過於復雜。
George
2018-03-13 02:35:02 UTC
view on stackexchange narkive permalink

我有一個同樣的問題,我已經使用Arduino構建了12個按鈕的鍵盤,並且它可以很好地與USB配合使用,現在我需要使用藍牙模塊而不是USB,但是我找不到一些代碼來使我能夠從Arduino發送新聞

這是我的代碼,我的藍牙模塊CH-6需要更改。謝謝您的幫助。

  #include <Keyboard.h>#include <Keypad。 h>const字節ROWS = 4; //四行常量字節COLS = 3; //三個columnchar鍵[ROWS] [COLS] = {{'1','2','3'},{'4','5','6'},{'7','8', '9'},{'*','0','#'}};字節rowPins [ROWS] = {5,4,3,2}; //連接到kpdbyte colPins [COLS] = {8,7,6};的行引腳//連接到kpdKeypad的列管腳kpd = Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS); unsigned long loopCount; unsigned long startTime; void setup(){Serial.begin(9600); loopCount = 0; startTime = millis();} void loop(){loopCount ++;如果((millis()-startTime)>5000){startTime = millis(); loopCount = 0; } //用最多10個活動鍵填充kpd.key []數組。 //如果有任何活動鍵,則返回true。 if(kpd.getKeys()){for(int i = 0; i<LIST_MAX; i ++)//掃描整個密鑰列表。 {if(kpd.key [i] .stateChanged)//僅查找狀態已更改的鍵。 {switch(kpd.key [i] .kstate){//報告活動鍵狀態:空閒,已按下,保持或已釋放的情況已按下:Keyboard.write(kpd.key [i] .kchar); //Serial.print(kpd.key[i].kchar); //活動鍵號中斷; }}}}} //結束循環 
@MichelKeijzers該答案應該已經被投票刪除,未編輯和從LQP隊列中刪除。
-1


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...