ハードウェア版マウスふるふる(Arduino Leonardo互換のCJMCU beetleの工作例)


CJMCU Beetleという小型のUSB接続のマイコンボードに標準で書かれているプログラムは、USBキーボード/マウスとして認識し、マウスをランダムで動かすという機能となっているらしいので入手してみた。

ネタ元: Okiraku Programing「USB直結のスクリーンセーバーブロッカー

購入はAliexpressの「Beetle ard Leonardo USB ATMEGA32U4 mini development board」から行った。
送料込みで$7.78で、8/22発注、8/25発送、9/1到着、という感じで届きました。


とりあえずWindows10パソコンに接続してみる。

標準でfirmware書き換え用のUSBシリアルポートを認識するというのも驚いた。(Windows7ではドライバ認識はしなかった)

USBキーボードとマウスが認識されてはいるんだが、期待通りにマウスが小刻みに動いている場合と、全然動かない場合が・・・というか、動かないことの方が多い・・・

また、赤いLEDランプが点灯期間が長めの点滅でちょっとうざい。

もうちょっとなんとかならないかとカスタマイズを実施。

準備1:Arduino IDEをインストール

Arduino IDEをインストールする。

準備2:ボード「Arduino Leonardo」を選択

Arduino IDEでボートとして「Arduino Leonardo」を選択する。

準備3:CJMCU beetleをUSBポートにさす

CJMCU beetleをUSBポートにさして認識されるのを待つ(ドライバにより認識が変わる)

準備4:シリアルポートを選択

Arduino IDEで使用するシリアルポートを適切なものに設定する。具体的には「Arduino Leonardo (COM?)」と認識された番号のものを選択する。

準備5:IDE上のボード認識を確認

Arduio IDEの「Get Board Info」で「BN:Arduino Leonardo」と表示されることを確認

プログラミング実施

コードとして以下を入力する。

#include <Mouse.h>
#define LEDPIN 13

void setup() {
  pinMode(LEDPIN, OUTPUT);
  Mouse.begin();
}

int x=4;

void loop() {
  // put your main code here, to run repeatedly:
  Mouse.move(x, 0, 0);
  digitalWrite(LEDPIN, HIGH);   // turn the LED on
  delay(500);
  digitalWrite(LEDPIN, LOW);   // turn the LED off
  x = -x;
  delay(4500);
}

ボードへの書き込みを実施

スケッチ-マイコンボードに書き込むで書き込みを実施する。

なお、今回のこのコードは5秒間隔でマウスを動かし、動かす際にLEDを短時間点灯させる、というものになっています。

LEDの点灯をさせたくなければ「digitalWrite」の行を削除すればokです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください