ゲームに使う専用のコントローラーを作りたい
computer_mouse_cord

前回つくったプログラム

  1. #include <Keyboard.h>
  2. void setup() {
  3.   // make pin 2 an input and turn on the
  4.   // pullup resistor so it goes high unless
  5.   // connected to ground:
  6.   pinMode(2, INPUT_PULLUP);
  7.   Keyboard.begin();
  8. }
  9. void loop() {
  10.   //if the button is pressed
  11.   if (digitalRead(2) == LOW) {
  12.     //Send an ASCII 'A',
  13.     Keyboard.write(65);
  14.     delay(200);
  15.   }
  16. }

細かく見ていく

  • //のあとの文は説明文
  • 単なるコメントです。

  • pinMode(2, INPUT_PULLUP);
  • Arduinoのデジタルピンは入力(INPUT)、または出力(OUTPUT)のどちらか設定できます。
    ここでは入力に設定します。
    PULLUPはArduinoの基板上にあるプルアップ抵抗の使用を指定します。

  • Keyboard.write(65);
  • ボタンが押されるとASCIIコードの65が入力されます。
    ASCIIコードの65(10進)はAです。
    16進の0x41でもOKです。

  • if(digitalRead(2) == LOW)
  • 2ピンに電気が流れない状態(=LOW)であれば。

  • delay(200);
  • 最初にAが入力されたあと、0.2秒間プログラムを止めます。
    これにより、ボタン1回押すごとにAが1回だけ入力されるようにします。

出力はどこから?

no-img2″>
 <figcaption  class=
管理人

2ピンは入力に設定していますし、GNDは出力にはなりません。

no-img2″>
 <figcaption  class=
マイ

この点に関しては以下のサイトが参考になるかと思います。

https://mag.switch-science.com/2013/05/23/input_pullup/


https://qiita.com/nishiwakki/items/e921d44a00a37c72979c


no-img2″>
 <figcaption  class=
マイ

次回はプルアップ回路を自分で組んで、ボタンを増やしてみたいと思います。