digitalRead
が機能していないか、bleKeyboard
が機能していないか、もしくは両方機能していないか、ですかね。
Serial.println
の出力結果が見れるのなら、プリントデバッグできるかと。
出力が大量なら、delay
挟むとか工夫してみてください。
Like!
pin14に5vをつないてもCTRLが入力されません
解決方法を教えてください
c++
#include <BleKeyboard.h>
BleKeyboard bleKeyboard;
void setup() {
pinMode(14,INPUT);
Serial.begin(115200);
Serial.println("Starting BLE work!");
bleKeyboard.begin();
}
void loop() {
if(bleKeyboard.isConnected()) {Serial.println("setusokukannryou");}
if(digitalRead(14) == HIGH) { bleKeyboard.write(KEY_LEFT_CTRL);
}
}
digitalRead
が機能していないか、bleKeyboard
が機能していないか、もしくは両方機能していないか、ですかね。
Serial.println
の出力結果が見れるのなら、プリントデバッグできるかと。
出力が大量なら、delay
挟むとか工夫してみてください。
pin14に5vをつないてもCTRLが入力されません
bleKeyboard.write(KEY_LEFT_CTRL)
↑このコードだと、CTRLキーが押されるのは一瞬なので、押されたかどうか目視では判断できないと思います。(CTRLキーだけをタイプする意味はなんでしょうか?)
bleKeyboard.write('a')
とすれば、文字aがタイプされるので、動作確認という意味では簡単に分かると思います。
それと、"setusokukannryou"
がものすごい速さで繰り返し出力されませんか? 10ミリ秒ぐらいdelay入れた方がいいと思います。
そもそもですが、Bluetooth接続のキーボードですから、PCとペアリングしないとキー入力できなです。PCのBluetoothの情報を見てペアリング済み(接続済み)か確認してはどうですか。
実際に上のライブラリ(T-vK/ESP32-BLE-Keyboard)を試してみました。
Windows10だと、ESP32 Keyboardと表示され、ペアリングしてキー入力も問題なくできました。
しかし、iPhoneとMacは、ペアリングはできますがキー入力はできませんでした。(README.mdに書いてある通り?)