電子ガジェットいろいろ

電子系のガジェットやアプリ開発等の話題を書いてます

Arduino LEONARDOでUSBキーボード出力

今回はArdionoネタです。
ATmega32u4を搭載し、USB機器にもなれるArduino LEONARDOを入手したので、ちょっと遊んでみます。

USBキーボードとして接続されて、タクトスイッチを押すと、"TEST"と送信されるものを作ってみます。

配線は下の図のように、デジタル2番ピン-タクトスイッチ-Gndと接続しました。
図ではUNOとなっていますが、実際はLEONARDOです。

タクトスイッチの押下終了時に"TEST"を出力する処理のソースコードです

int key_enable = 1; // キー入力フラグ

void setup() {
  pinMode( 2, INPUT_PULLUP); // デジタル2ピンを内部プルアップ抵抗を有効にして出力に設定
  Keyboard.begin(); // キーボード開始
}
 
void loop() {
  if (digitalRead(2) == LOW) {
    // タクトスイッチを押している時はキー入力フラグを0にする
      key_enable = 0;
  } else {
    // 直前のキー入力フラグが0の時に文字列出力を実行する
    // (タクトスイッチの押下終了時に実行)
    if (key_enable == 0) {
      Keyboard.print("TEST");  // 文字列出力
      key_enable = 1;
    }
  }
}

これだけです。
キーボードだけではなく、マウスも簡単に扱えるので、Arduino LEONARDOは一番のお気に入りの機種になりました。