マウス操作!
売れているらしい・・・!
こんにちは、管理人のomoroyaです。
テレワークの普及で変なものが売れている。
何のためにと思うが需要があるということは・・・である。
建前上は・・・
- すぐにログオフするからそれを避けたい・・・
- スクリーンセーバーになるのを防ぎたい・・・
- パスワードの再入力を防ぎたい・・・
らしい。
呼び方も様々。
「マウスジグラー」「スクリーンセーバーキラー」「マウスムーバー」「スリープキラー」・・・
それがこちら。
※prime対応、Amazon’s Choise 売れているってことらしい・・・。
同じようなもので、下記のようなものも。
まあ、結構な値段です。
そんなお値段かけなくても「Digispark」と「Arduino IDE」があれば簡単に作れます。
DIYってやつですね!
管理人的には、小さく、色々遊べる電子工作に最適な「Digispark」です。
「Digispark」はHIDデバイス
→デバイスマネージャーではHID準拠マウスとして認識されます!
キーボード、マウス機能を持つ機器の製作にとても便利。
キーボード、マウスとして作動させるためのライブラリーも用意されています。
そのため簡単にプログラムを作成可能。
例えば下記などであれば、1個あたり数百円でOK。
※prime:対応 出荷元:Amazon
上記の在庫がない場合
※prime:対応 出荷元:Amazon
ちなみに、1年ほど前に比べると値段が上がっていると思います。
といっても、1個あたり500円~600円程度で購入できます。
半導体不足による品薄なのか・・・、売れているからなのか・・・。
ということで、「Digispark」で「マウスジグラー」の代替品を作ってみます。
作るといっても、「Digispark」を「Arduino IDE」に認識させて、マウス操作をさせるだけ。
Digispark Kickstarter ATTINY85 仕様
まずは「Digispark Kickstarter ATTINY85」の仕様を確認していきます。
■Digispark Kickstarter ATTINY85 仕様一覧
項目 | 仕様 |
---|---|
Arduino IDE | 対応 |
電源 | USB電源:DC 5V 外部電源:7~35V(12V以下推奨) →基板上のれグレーターで5V/500mAに高圧 |
USB端子 | 規格:Type-A(パソコンに直接接続可能) |
I/O | All pins can be used as Digital I/O Pin 0 → I2C SDA, PWM (LED on Model B) Pin 1 → PWM (LED on Model A) Pin 2 → I2C SCK, Analog In Pin 3 → Analog In (also used for USB+ when USB is in use) Pin 4 → PWM, Analog (also used for USB- when USB is in use) Pin 5 → Analog In |
フラッシュメモリ | 8KB(ブートローダで約2KB使用) |
LED | 搭載(電源、動作確認) |
HID (Human Interface Device) |
対応 キボード、マウスとして認識されるデバイス ※マウスのように動かせるってことですね・・・。 |
シールド | 「Digispark」数多くのシールドがあり、色々と遊べるやつです! |
■実物
ここから「Digispark」を「Arduino IDE」に認識させる方法を解説していきます。
Arduino IDE インストール
「Arduino IDE」の導入方法は下記記事を確認ください。
Digisparkのインストール手順と接続
ここからは、Digisparkを使うための前準備の解説です。
インストール手順
1.「Arduino IDE」を起動してください。
2.「ファイル」→「環境設定」
3.「追加ボードマネージャのURL」へURLを追加する(赤矢印の部分をクリック)
4.「http://digistump.com/package_digistump_index.json」を記載してOKをクリック
5.「ツール」→「ボード」→「ボードマネージャ…」選択
6.「Digistump AVR Boards」をインストール
7.「ボード」→「Digistump AVR Boards」→「Digispark(Default – 16.5mhz)」を選択
これで「Digispark」のインストールは完了です。
※「Arduino IDE」を一度再起動してください。
サンプルスケッチによる動作確認
次に、サンプルスケッチ(コード)を読んで「Digispark」動かしてみましょう。
「starat」というサンプルスケッチを利用します。
※「Digispark」をインストールしたことで登録されています
下記が読み出しだサンプルスケッチです。
ArduinoおなじみのLチカのスケッチですね!
// the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(0, OUTPUT); //LED on Model B pinMode(1, OUTPUT); //LED on Model A or Pro } // the loop routine runs over and over again forever: void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(1, HIGH); delay(1000); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW digitalWrite(1, LOW); delay(1000); // wait for a second }
■書き込みについて
Arduinoと異なり、「Digispark」は書き込み手順が異なります。
PCと接続した状態で書き込み可能
①書き込みボタンを押す
②ステータスコントロールにPlug in device now.. (will timeout in 60 seconds )と表示
③メッセージが表示されたら60秒以内にDigisparkをPCのUSBへ挿入
上記を踏まえて、さっそくLチカを動かしてみましょう。
書き込みボタンを押します。
Plug in device now.. (will timeout in 60 seconds )
と表示されたら「Digispark」をPCのUSBに挿入しましょう。
書き込みが成功すると以下が表示されます。
※1 書き込みができないときはドライバがインストールされていない可能性があります。
※2 デバイスマネージャーで不明なデバイスになっていないか確認ください。
>> Micronucleus done. Thank you!
■動作結果
PCのUSBポートに挿入した「Digispark」のLEDが点滅していれば成功です!
矢印のLEDが1秒間隔で点滅します。
Digisparkにマウスの動作をさせる
ここからは、本題の「マウス」のように動作させるスケッチを考えていきます。
最初に「ボードマネージャ」にて「Digispark」を使えるようにインストールしたことで「Digispark」のライブラリも使えるようになっています。
「スケッチ」→「ライブラリをインクルード」でも良いですし、下記を直接スケッチに描いてもOK。
#include <DigiMouse.h>ライブラリのキーワードは以下
DigiMouse KEYWORD1
update KEYWORD2
moveX KEYWORD2
moveY KEYWORD2
scroll KEYWORD2
move KEYWORD2
setButtons KEYWORD2
詳細を知りたい方は下記を参照ください。
https://github.com/digistump
下記が管理人のサンプルスケッチ。
- カーソルが□を描くように一周
- 右クリック
- 右に移動
- 左クリック
- 左に移動
- 繰り返し
//【Digispark】マウス操作!売れているらしい・・・! //「Digispark」でmouseの動作をさせるスケッチ //https://omoroya.com/ #include "DigiMouse.h" void setup() { DigiMouse.begin(); //USB起動、再起動 } void loop() { //マウスカーソルの移動 DigiMouse.moveY(50); //下に50 DigiMouse.delay(1000); //1秒 DigiMouse.moveX(50); //右に50 DigiMouse.delay(1000); //1秒 DigiMouse.moveY(-50); //上にに50 DigiMouse.delay(1000); //1秒 DigiMouse.moveX(-50); //左に50 DigiMouse.delay(1000); //1秒 //クリックもしてあげましょう! DigiMouse.setButtons(-1); //マウス右クリック DigiMouse.delay(1000); //1秒 DigiMouse.setButtons(0); //マウス unclick DigiMouse.delay(1000); //1秒 DigiMouse.moveX(50); //右に50 DigiMouse.delay(1000); //1秒 DigiMouse.setButtons(1); //マウス左クリック DigiMouse.delay(1000); //1秒 DigiMouse.setButtons(0); //マウス unclick DigiMouse.delay(1000); //1秒 DigiMouse.moveX(-50); //左に50 DigiMouse.delay(1000); //1秒 }
これを、応用すればパソコンに自動で何かさせられそうです。
繰り返し処理とか色々できそうですね。
まとめ
【Digispark】マウス操作!売れているらしい・・・!はここまで。
「Digispark」小さいので、電子工作にはもってこいのマイコンです。
ちょっとしたものと組み合わせて、組み込みデバイスとして使えば面白い。
Arduino で遊んでいる方には、使いやすく面白いデバイスだと管理人は考えます。
今後、電子工作に使っていくのもよいなと思っています。
ぜひ一度、遊んでみることをお勧めします!
prime:対応 出荷元:Amazon
上記の在庫がない場合
prime:対応 出荷元:Amazon
Amazonでお得に買う方法
Amazonでお得に購入するならAmazon Mastercard、Amazonギフト券がおすすめです。
時期により異なりますが、様々なキャンペーンを実施しています。
\Amazonギフト券/
Amazonギフトカード キャンペーン
\Amazon Mastercard お申込み/
Amazon Mastercard 申し込み
いずれの場合もプライム会員である方がお得!!
\Amazon Prime 30日間の無料会員を試す/
無料会員登録
コメント