即使我包含Keyboard.h也找不到键盘

时间:2018-09-22 19:29:31

标签: c++ arduino arduino-uno

我想制作一个简单的程序放在Arduino / Genuino(Sunfounder)Uno板上,插入该板后,它将调用Keyboard.print()函数。当我编译程序来执行此操作时,它表示即使实际上是我程序的开始,我也不包括Keyboard.h

我的代码:

#include <Keyboard.h>

void setup() {
  Keyboard.begin();
  Keyboard.print("Hello, world!");
  Keyboard.end();
}


void loop() {

}

编译代码时,出现此错误:

KeyboardMessage:4:3: error: 'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?

我在Arduino草图编辑器文件中检查了我的库文件,并且Keyboard.h在其中。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

Arduino / Genuino Uno不支持键盘。您可以在hardware/ardunino/avr/libraries/HID/HID.h中看到它。该文件来自Keyboard.h,包含#if defined(USBCON)。但是USBCON尚未为Arduino / Genuino Uno定义。您需要为Keyboard.h

使用另一个板

以下控制器支持它:

  • ATmega32U6
  • ATmega8U2
  • ATmega16U2
  • ATmega16U4
  • ATmega32U2
  • ATmega32U4
  • 和一些ATxxUSBxx

Arduino / Genuino Uno使用ATmega32U8。

答案 1 :(得分:0)

您知道您现在不需要32u4了吗,我有一个通过 any Arduino使用键盘和鼠标的解决方案。

您要做的只是这样:

Serial.println("pressA")

在Arduino上

转到python脚本并执行以下操作:

import serial
import pyautogui
Arduino_Serial = serial.Serial('COM5', 9600)

while 1:
    incoming_data = str(Arduino_Serial.readline())
    print(incoming_data)
    if 'pressA' in incoming_data:
        pyautogui.press('a')
    incoming_data = ""