Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Micro(Leonardo)でHID機能を使ってみる今回は、ちょっと変わったArduinoの使い方を紹介します。Miniのようにも見えますが、このArduinoは違う種類になります。MiniがMicroになっただけで、大きさもあまり変わらずどっちがどっちかわからなくなるような命名ですが、このArduinoはPCに接続した際にマウスやキーボードなどのHID(ヒューマン・インターフェイス・デバイス)として認識させることができるちょっと変わったArduinoなのです。Microを利用してArduinoからPCを操作してみたいと思います。Microとは、ATmega32U4というチップを搭載したArduino(UNOなどはATmega328Pなどを搭載)で、このチップでは、USB接続された際にキーボードやマウスなどのヒューマンインタフェースデバイス(HID)のふりをすることができるという大きな特徴があります。Leonardoというボードが有名です。Leonardo」というボードを選択して書き込むことができます。Microはスマートフォンなどが接続できる形式のUSBコネクタがついています。Microにサンプルプログラムを書き込んでHIDとしてパソコンに認識させてみます。IDEの「ファイル」-「スケッチの例」-「09.USB」-「Keyboard」-「KeyboardMessage」のプログラムを実行してみます。このプログラムでは、4番ピンにスイッチをつけたシンプルな回路を作成して、4番ピンが押されたら押された回数のカウンターをキーボード入力で表示するプログラムになっています。buttonState;}実際にプログラムを書き込んで、メモ帳などを開いたうえで、ボタンを押すたびにキーボードを触っていないのに上記の記述とともにカウントアップしていきます。なんか、こんな手軽にUSB機器が作れてしまうなんていうのは、夢が広がりますね!3.ジョイスティックを使ったマウスデバイスの作成HIDとして利用ができることがわかりましたので、実際に部品と組み合わせてマウスデバイスを作ってみたいと思います。今回は以前ラジコン制作で1度使ったことがあるジョイスティックを使って、ジョイスティックとタクトスイッチでマウスの代わりになるようなデバイスにしてみます。先に、ジョイスティックを使って上下左右とスイッチの状態を取得できるようにプログラムを用意します。回路は、先ほどのタクトスイッチの回路に加えていきます。ジョイスティックと後に利用するLEDを2番ピンに接続しています。delay(100);}プログラムを書き込んでジョイスティックをぐりぐり回すと数値が変わるのが確認できました。実際にジョイスティックの値をマウス座標に変換させていきます。このプログラムについても実はサンプルに用意されているので、それを使ってみます。「ファイル」-「スケッチの例」-「09.USB」-「Mouse」-「JoystickMouseControl」を選択してください。このプログラムを実行すると上下はアナログのA2番ピン、左右はA1番ピンの数値をマウス座標に反映させるようなプログラムになっています。2番に5Vの電源を入れることでスイッチになっていますので、2番とVCCを結線するか、スイッチを挟むことでデバイスのオンオフもできます。distance;}プログラムの書き込みができたら、実際に動かしてみます。Microを利用してUSBデバイスをArduinoで作るための基本的な処理を学びました。次回はさらに応用してデバプラ風のUSBデバイスの作成にチャレンジしてみたいと思います!赤川シホロ電子工作や新しいデバイスをこよなく愛するエンジニア。日常生活のちょっとしたことを電子工作で作って試して、おもしろく過ごしたいと日々考えています。