Arduino Pro microはArduino Leonardoの互換基板で、今回入手したのは更にそのコピー商品である。
このArduinoクローンの特徴としていわゆるArduino UNOなどスタンダードなシリーズがATMegaシリーズのAVRを使っているのと異なり、32U4というUSBインターフェイスを内蔵したチップを使っている。このチップのおかげでLeonardoシリーズはUSBデバイスとPCから認識されるため、自作キーボードクラスターでは自キー用コントローラとして重宝がられているのだ。
今回の目的もまさにそれなのだ。
ということでキーボード入力をまずはテストしてみる。
単純にデジタルピンにタクトスイッチの片足をつなげ、反対の足をGNDにつなぐだけの簡単回路でまずは試す。
デジタルピンをHIGHにしておいてGNDに落ちたらキー入力されたことになる。普通HIGHにするのにプルアップしておくのだが、内蔵抵抗でプルアップしておく便利機能もあるらしい。
#include "Keyboard.h" const int buttonPin = 9; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() { // make the pushButton pin an input: pinMode(buttonPin, INPUT_PULLUP); // initialize control over the keyboard: Keyboard.begin(); } void loop() { // read the pushbutton: int buttonState = digitalRead(buttonPin); // if the button state has changed, if ((buttonState != previousButtonState) // and it's currently pressed: && (buttonState == HIGH)) { // increment the button counter counter++; // type out a message Keyboard.print("You pressed the button "); Keyboard.print(counter); Keyboard.println(" times."); } // save the current button state for comparison next time: previousButtonState = buttonState; }
サクッとサンプルを流用。今回ピンをd9にしたので変えたのはそこだけ。
タクトスイッチを押すたび、文字列とカウンターが入力されるという仕組み。