Created
December 12, 2023 15:36
-
-
Save RyoKosaka/0a3252e3d07106fc96a4c822fb893b0a to your computer and use it in GitHub Desktop.
プロダクトデザイン応用実習サンプルコード - ESP32をワンボタンキーボードとして使う
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// プロダクトデザイン応用実習サンプルコード - 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