digisparkでマウスピクピク

スクリーンセーバーがポリシーなどで強制される今日この頃… ハード的なキャンセラーとして下記のような記事が。 (ほしくなる事情としては私もほぼ同じです)

【Arduino】一定時間毎にピクピク動いて、PCの画面ロックを防ぐ

Leonardは手持ちが無くて、手元にあるdigisparkで作ってみることにしました。(安いしね)

20200214Digispark.jpg

そのまま動くかなと思ったけど、そこまで甘くはなかった。 と言うわけで、digispark用に編集したコードを置いておきます。


#include 
#define LEDPIN 1

/** 移動させるピクセル */
const int MOVING_PIXEL = 1;
/** 待機時間(ms) */
const long WAITING_TIME = 299000; // 4分59秒

/**
 * 起動時処理
 */
void setup() {

  pinMode(LEDPIN, OUTPUT);
  DigiMouse.begin();

}

/**
 * 常駐処理
 */
void loop() {

  // マウスを移動
  DigiMouse.moveX(MOVING_PIXEL);
  DigiMouse.delay(10);
  DigiMouse.moveX(-MOVING_PIXEL);

  // 必要に応じてLEDで通知
  notify(100);

  // 待機
  DigiMouse.delay(WAITING_TIME);

}

/**
 * 本体LEDで通知する
 * @param notifyingTime 通知時間(ms)
 */
void notify(int notifyingTime) {

  // LED ON
  digitalWrite(LEDPIN, HIGH);
  // 待機
  DigiMouse.delay(notifyingTime);
  // LED OFF
  digitalWrite(LEDPIN, LOW);

}

多分これでいけるはず。

  • DigiMouseを使う。
  • DelayもDigiMouse.Delayを使う
  • 若干ディレイを入れる

ぐらいでしょうか、やっぱりこのマイコンでUSB使うのはかなり無理が有るんでしょうね。

さて、数個作って誰かにプレゼントしようかな?(笑