2~3年前に作った安価なマイコンボード「Digispark」で作ったスイッチ1個だけのスイッチインターフェース用のプログラムと、1個のデジタルセンサ用のプログラムを、新たに数種類追加しました。久しぶりにArduino系 を触ったので、環境構築からやり直しました。ほぼ、自分のための備忘録です。
デバイスドライバーと書き込みの準備
(1)【GitHub】DigistumpArduino から「micronucleus-2.0a4-win.zip」をダウンロードし展開(解凍)する。
(2) DPimst.exe を実行して、デバイスドライバーをインストールする。
(3) デバイスマネージャーで、Digispark をUSBケーブルで接続した後に、[libusb-win32 Usb Devices] [Digispark Bootloader] があることを確認する。
(4)書き込みに使用する「micronucleus.exe」以外のファイルを、フォルダ「micronucleus-***」内から消す。
開発環境構築
プログラムを修正するのでなければ、この作業は必要ないです。
(1)Software | Arduino から、「Arduino IDE 2.0.4」をダウンロードし、インストールする。
(2)[ファイル] [基本設定] "追加のボードマネージャのURL"
http://digistump.com/package_digistump_index.json
(3)[ツール] [ボード] [ボードマネージャ] [Digistump AVR Boards by Digistump 1.6.7] [インストール]
(4)[ツール] [ボード] "Digispark (Default - 16.5mhz)"
(5)書き込み装置に「Micronucleus」を選択する
(6)IDEのUI上で書き込み操作を実行後、USBにdigispark を差し込む
モーメンタリースイッチ用プログラム
Digispark のP0に接続されたスイッチを押すと、以下のアクションをするプログラムを作成しました。新たに4種類を追加しました。SwitchToX_230409.zip
長押し有効
キーボードの場合は、長押しするとオートリピート機能で複数のキーの入力になります。マウスの場合は、ダブルクリックやドラッグができます。
iOSのスイッチコントロールで、ボタンを短く押した時と長く押した時で別の機能を割り当てたい場合にも使えます。
プログラム名 | 機能 |
SwitchToSpace | Spaceキーのコードが送られます。 |
SwitchToEnter | Enterキーのコードが送られます。 |
SwitchToShiftN | Shift+Nキーのコードが送られます。![]() |
SwitchToClick | マウスの左ボタンを押します。ダブルクリック、ドラッグできます。 |
SwitchToRightClick | マウスの右ボタンを押します。ダブルクリック、ドラッグできます。![]() |
長押し無効
短く押そうとして長押しになってしまう人にとって、長く押してしまっても長押しにならない方が好都合な場合もあります。
プログラム名 | 機能 |
SwitchToSpaceOne | Spaceキーのコードが送られます。 |
SwitchToEnterOne | Enterキーのコードが送られます。 |
SwitchToShiftNOne | Shift+Nキーのコードが送られます。![]() |
SwitchToClickSingle | マウスの左ボタンをシングルクリックします。 |
SwitchToRightClickSingle | マウスの右ボタンをシングルクリックします。![]() |
SwitchToClickDouble | マウスの左ボタンをダブルクリックします |
デジタルセンサー用プログラム
Digispark のP2に接続されたデジタルセンサーを操作すると、以下のアクションをするプログラムを作成しました。新たに5種類を追加しました。DigitalToX_230409.zip
長押し有効
キーボードの場合は、長押しするとオートリピート機能で複数のキーの入力になります。マウスの場合は、ダブルクリックやドラッグができます。
iOSのスイッチコントロールで、ボタンを短く押した時と長く押した時で別の機能を割り当てたい場合にも使えます。
プログラム名 | 機能 |
DigitalToSpace | Spaceキーのコードが送られます。 |
DigitalToEnter | Enterキーのコードが送られます。 |
DigitalToShiftN | Shift+Nキーのコードが送られます。![]() |
DigitalToClick | マウスの左ボタンを押します。ダブルクリック、ドラッグできます。 |
DigitalToRightClick | マウスの右ボタンを押します。ダブルクリック、ドラッグできます。![]() |
長押し無効
短く押そうとして長押しになってしまう人にとって、長く押してしまっても長押しにならない方が好都合な場合もあります。
プログラム名 | 機能 |
DigitalToSpaceFall | HIGH→LOWの瞬間に、Spaceキーを短く押します。 |
DigitalToSpaceRise | LOW→HIGHの瞬間に、Spaceキーを短く押します |
DigitalToEnterFall | HIGH→LOWの瞬間に、Enterキーを短く押します。 |
DigitalToEnterRise | LOW→HIGHの瞬間に、Enterキーを短く押します。 |
DigitalToShiftNFall | HIGH→LOWの瞬間に、Shift+Nキーのコードが送られます。![]() |
DigitalToShiftNRise | LOW→HIGHの瞬間に、Shift+Nキーのコードが送られます。![]() |
DigitalToClickSingle | マウスの左ボタンをシングルクリックします。 |
DigitalToRightClickSingle | マウスの右ボタンをシングルクリックします。![]() |
DigitalToClickDouble | マウスの左ボタンをダブルクリックします |
プログラムの書き込み
(1) SwitchToX_230409.zip あるいは DigitalToX_230409.zip をダウンロードして展開(解凍)する。
(2) 先に準備をした[micronucleus-***] の中に、展開したフォルダを移動する。
(3) 使いたいプログラムのhexデータ(***.ino.hex)を”upload.bat” の上に、ドラック&ドロップする。
(4)"Please plug in the device …"と表示されたら、Digispark とPCをUSBケーブルで繋ぐ。
詳しくは、Digisparkにプログラムを書き込む
連載



