参考
いろいろ注意
- 過去ログを見た?
- usbhost,usb-host,usb-ホスト
- 各自、データシートで確認せよ!!!
- 配線
5V - 5V
D- - D-
D+ - D+
GND - GND
結果
プログラム
esp32-s2
#include "EspUsbHost.h"
EspUsbHost usb;
void setup()
{
Serial.begin(115200);
delay(5000);
usb.setKeyboardLayout(ESP_USB_HOST_KEYBOARD_LAYOUT_JA_JP);
usb.onDeviceConnected([](const EspUsbHostDeviceInfo &device)
{
Serial.print("connected: ");
espUsbHostPrint(device); });
usb.onDeviceDisconnected([](const EspUsbHostDeviceInfo &device)
{
Serial.print("disconnected: ");
espUsbHostPrint(device); });
//iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
usb.onKeyboard([](const EspUsbHostKeyboardEvent &event)
{
// en: Print characters only on key press; release events do not emit text.
// ja: キー押下時だけ文字を表示し、キー解放イベントでは文字を出しません。
if (!event.pressed) return;
if (event.ascii == '\r')
{
Serial.println();
}
else if (event.ascii >= 0x20 && event.ascii != 0x7F)
{
Serial.print((char)event.ascii);
} });
//iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
if (!usb.begin())
{
Serial.printf("usb.begin() failed: %s\n", usb.lastErrorName());
} else {Serial.printf("usb.begin() OK\n");}
}
void loop()
{
delay(1);
}
ae-esp32-s2-mini
//USB_Keyboard_ae_esp32_s2_mini_1
//インクルド
#include <Arduino.h>
#include "USB.h"
#include "USBHIDKeyboard.h"
//定義1
USBHIDKeyboard Keyboard; //キーボードの定義
//定義2
const int buttonPin = 1; //(I/O)ピンの定義
int previousButtonState = HIGH; //ボタンステータス
int counter = 1; //カウンター
//初期化
void setup() {
pinMode(buttonPin, INPUT_PULLUP); //(I/O)の初期化
Keyboard.begin(); //キーボードの開始
USB.begin(); //USBの開始
} //setup
//メインループ
void loop() {
//キーの読み込み
int buttonState = digitalRead(buttonPin);
//たぶん、ボタンの立ち下がりに実行
if ((buttonState != previousButtonState) && (buttonState == LOW)) {
//ボタンの状態表示
Keyboard.print("You pressed the button ");
Keyboard.print(counter);
Keyboard.println(" times.");
counter++; //カウントアップ
} //endif
previousButtonState = buttonState; //ボタンステータスの保存
delay(1); //ダミー
} //loop


