Skip to content

Instantly share code, notes, and snippets.

@RyoKosaka
Created December 12, 2023 15:36
Show Gist options
  • Save RyoKosaka/0a3252e3d07106fc96a4c822fb893b0a to your computer and use it in GitHub Desktop.
Save RyoKosaka/0a3252e3d07106fc96a4c822fb893b0a to your computer and use it in GitHub Desktop.
プロダクトデザイン応用実習サンプルコード - ESP32をワンボタンキーボードとして使う
// プロダクトデザイン応用実習サンプルコード - ESP32をワンボタンキーボードとして使う
// ESP32をBluetoothキーボードにするライブラリ「BleKeyboard」を使いますという宣言
#include <BleKeyboard.h>
BleKeyboard bleKeyboard("your device"); // BLEデバイスに名前をつける
void setup()
{
pinMode(13, OUTPUT); // 13番ピンを出力に使う(LED)
bleKeyboard.begin(); // bleKeyboardライブラリを使うためのおまじない
}
void loop()
{
// Bluetooth接続されたとき
if (bleKeyboard.isConnected())
{
digitalWrite(13, HIGH); // 接続されたことがわかるようにLEDを点灯させる
int buttonState = digitalRead(12); // 12番ピンにボタンを繋ぐ
// ボタンを押したとき(ボタン類はまずExampleで挙動を確認する。今回の場合は押した時LOWになったのでそのような記述にした)
if (buttonState == LOW)
{
bleKeyboard.press(KEY_DOWN_ARROW); // 下の方向キー
// bleKeyboard.press(KEY_LEFT_GUI); //Windowsキー
// bleKeyboard.press(KEY_LEFT_CTRL);//左側のコントロールキー
// bleKeyboard.press('w'); //W
/*
char words[7] = {'a','r','d','u','i','n','o'};
for(int i = 0; i < 8; i++){
bleKeyboard.press(words[i]);
bleKeyboard.releaseAll();
if(i == 7){
bleKeyboard.press(KEY_RETURN);
}
}
*/
delay(100); // チャタリング防止
}
// ボタンを離したとき
else
{
bleKeyboard.releaseAll(); // すべてのキーを離す
}
}
// Bluetooth接続されていないとき
else
{
digitalWrite(13, LOW);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment