PCドライブのアクセスランプの製作(20260724追記、アップデートあり)
PC側のアプリ DriveAccessMonitor.zip をアップデートしました。
修正点は、startup登録時にComポートが見つからないなどの不具合を避けるため、起動にWAITを5秒設けました。
これにより起動が5秒遅くなります。
【 20260729 追記 】
4ポイントバーグラフを2個使って見やすくしてみました。
動画B.4ポイントバーグラフ 2個使い
これは上からつぎのような並びになっています。
ドライブ0 R W
バーグラフが全部たて並びよりも圧倒的に見やすくなりました(^-^)
【 20260724 追記 】
ファームウェアをアップデートし、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを、最大4ドライブに対して色別で点滅できるようにしました(動画A)。
動画A.RP2040-Zero 単体動作追加
これにより、最大4ドライブに対し、
① ドライブ別、R/W別に外付けLEDを合計8個点滅
② ドライブ、R/W兼用でRaspberryPI PICOに搭載のLED(GPIO25)を点滅
③ ドライブ、R/W兼用で1個の外付けLED(GPIO15)を点滅
④ ドライブ別にRP2040-Zeroボードに搭載のフルカラーLED WS2812B(GPIO26)を色別で点滅
という動作が可能になりました。
このうち、②は工作なしでRaspberryPI PICO(または互換品)をつなぐだけで動作、④も同じく工作なしでRP2040-Zeroをつなぐだけで動作するようになりました。
PC側の専用アプリは変更ありませんので、下の元記事のリンクからダウンロードしてください。
200aと200bは、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを使用時に、緑色をドライブ0、1のどちらに割り付けるかの違いです。
これはCドライブに緑を使いたかったのですが、PCによってCドライブがドライブ0の場合とドライブ1の場合があるからです。
RP2040-Zeroを使う場合は、USB A (オス) USB-C (オス) 変換アダプタ(写真A)を使えば、パソコンのUSB Aポートに直挿しできます(写真B)。

写真A.USB A ー USB C アダプタ
写真B.PCのUSBポートに直挿し
【 これより元記事 】
動画1.製作したアクセスランプ
動画2.RaspberryPI PICO(純正ボード)のみによるアクセスランプ
GPIO25のLEDを全ドライブ共通のアクセスランプとして使用する。工作なしで接続するだけでOK!
パソコンにおいてSSDが普及してからというもの、徐々にドライブのアクセスランプがなくなる傾向が続いていて、現在販売されているノートPCではほとんど付いているのを見なくなりました。
また、コンパクトで高性能なミニPCは、本体をモニターのうしろに付けるなどして使うと、そもそも本体が見えないので、アクセスランプが付いていたとしても見ることができません。
ハードディスクの時代を知っている者としては、ドライブの動作音もアクセスランプもないというのは、なんとなく心許ない感じがするし、実用上では、たとえば大容量のインストール作業や、全画面表示や真っ黒な画面でのインストールなどが長時間続くと、ひょっとしてフリーズしているのではないか?という疑念が出てきて、確かめるすべがない、ということがままあります。
こういう場合にドライブのアクセスランプがチカチカしていれば、作業は進んでいるんだな、と、確認できて、安心できるのです(^-^)
そこで今回は手軽な材料で、USB接続の外付けアクセスランプを製作したので紹介します。
今回製作したアクセスランプの仕様は次のとおり。
① 対応ドライブは4台まで
② 最大4台のドライブに対し、個別にR/W(リードライト)を区別してLEDを点灯(LED8個)
③ 最大4台のドライブに対し、いずれかのドライブが、R/Wいずれかの動作をしていれば点滅するLEDを別に1個
④ 最大4台のドライブに対し、ドライブ別に、フルカラーLED WS2812Bが4色で点滅する
⑤ アクセスランプ側のデバイスはRaspberryPI PICOを使用
⑥ PC側はC#による専用アプリを使用
従来パソコンに付いていたアクセスランプは、全ドライブ兼用でなおかつR/W兼用だったため、上の仕様③を用意しました。
このアクセスランプを作るには、RaspberryPI PICOのボードと表示用のLED、それにLED用の抵抗が必要です。
回路図を図1に示します。
図1.アクセスランプ回路図
LEDの色によって輝度が違うため、抵抗値で調整してそろえている。
回路図といっても、PICOのGPIO0~7およびGPIO15に、抵抗を介してLEDを繋いであるだけの回路です。
今回使用したPICOボードはPR2040-Zeroというもので、Aliexpressで1個400円くらいから売られていて、Amazonやスイッチサイエンスなどでも入手可能です(図2)。
図2.今回使用したPICOボードRP2040ーZero
また、今回使用したLEDは、バーグラフ用に作られたもので、内蔵LED10個のうち9個を使っています(図3)。
図3.今回使用したLEDアレイ
Aliexpressで10個726円!
今回はRP2040ーZeroを使用したため、上の回路図には出てきませんが、正規品のRaspberryPI PICOおよびコンパチ品は、GPIO25に接続されたLEDがボードに搭載されているので、全ドライブR/W共通のアクセスランプだけなら工作の必要はありません。ボード上のLEDがアクセスランプとして動作します。
各ドライブのR/Wに対応するGPIOは表1のとおりです。
すべてのドライブでR/W兼用のLED信号はGPIO25(RaspberryPI PICO正規品およびコンパチ品の搭載LED)およびGPIO15(外付け用)。
冒頭に示した動画1はドライブ別にLEDを接続した場合の動作、動画2はRaspberryPI PICOボード上のLED(GPIO25)のみによる全ドライブ兼用の動作です。
表1.GPIO対応表
セットアップと使い方は以下のとおりです。
① PICOボードにファームウェアを書き込む
ダウンロード - drivemonitor_200a.ino.uf2(ドライブ1が緑色)
ダウンロード - drivemonitor_200b.ino.uf2(ドライブ0が緑色)
200aと200bは、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを使用時に、緑色をドライブ0、1のどちらに割り付けるかの違いです。
これはCドライブに緑を使いたかったのですが、PCによってCドライブがドライブ0の場合とドライブ1の場合があるからです。
このファームウェアをダウンロードします。
※ダウンロード時に、ブラウザによって図4のようにブロックされる場合は、”保存”を押してダウンロードしてください。
図4.ダウンロードのブロック(driveaccessmonitor.zip の例:保存を押して続行します。)
ダウンロードできたら、以下の手順で書き込みます。
・BOOTSELボタンを押しながらPCにUSB接続(正規品RaspberryPI PICO)
・USB接続した状態で、BOOTボタンを押しながらリセット(リセットボタンがあるもの)
すると、PICOがドライブとして認識されるので、ここにダウンロードしたuf2ファイルをDrag&Dropすれば書き込まれます。
② COMポートの確認
ファームウェアが書き込まれると、COMポートとして認識されるので、デバイスマネージャでCOMポート番号を確認します(図5)。
図5.COMポート番号を確認。
ここではCOM14がアクセスランプ。わからない場合は抜き差しして確認してください。
③ PC側のアプリのインストールおよび実行
つぎのファイルをダウンロードして、任意の場所に解凍してください。
ダウンロード - driveaccessmonitor.zip
※ダウンロード時に、ブラウザによって図4のようにブロックされる場合は、”保存”を押してダウンロードしてください。
解凍したら、まずホルダ内の"SetCOM.exe"を実行。このとき図6のように起動がプロテクトされた場合は、”詳細情報”をクリックしてから”実行”を押して実行します。
図6.プロテクト画面が出たら、詳細情報→実行
次に、.NET Frameworkがインストールされていないと図7のようなメッセージが出るので、Download it now を押して.NET Frameworkをインストールし、再度"SetCOM.exe"を実行します。起動できたら、なにもせずに右上の✕を押して一旦終了します。
図7..NET Frameworkのインストール画面(これはSSSRCアプリの例)
次にホルダ内のDriveAccessMonitor.exeを実行。
再度図6のプロテクト画面が出たら、先ほどと同じように詳細情報から実行します。
数秒待つと図8に示すCOMポートエラーが出るのでOKを押して、次の図9の画面が出たら先程調べたCOMポートを選んでOK。図10の確認画面が出たらOK。
図8.COMポートエラー
図9.アクセスランプのCOMポートを設定
図10.COMポート設定完了
これで数秒待つと動作を開始し、タスクバーの通知領域に図11のようなアイコンが表示されます。
図11.通知領域のアイコン(表示されない場合は ^ を押して隠れているアイコンを表示)
これでアクセスランプが動作開始しているはず!
④その他の留意事項
・本アプリの終了は、通知領域のアイコンを右クリックして”終了”を押します。
・ドライブは、ディスク0~3のように認識されますが、ディスク0がCドライブになるとは限りません。これはWindowsのスタートメニューを右クリックして”ディスクの管理”を起動し、確認できます(図12)。
したがって、特定のドライブに対してLEDの色を決めたい場合は、先にディスク番号を確認し、表1のGPIO対応表にしたがってLEDを接続してください。
・COMポートを設定しなおしたい場合は、いちど本アプリを終了し、本アプリのホルダ"DriveAccessMonitor"の中の"SetCOM.exe"を実行してCOMポートを設定し直してください。設定ができたら再度本アプリを起動します。
・アクセスランプを常時使用する場合は、アクセスランプをUSBに繋いだままにしておき、本アプリをスタートアップに登録してください。ただし、COMポートが変更になった場合は再設定が必要です。
図12.ディスクの管理
ディスク0がCではなくDドライブになっている。
やっぱりドライブのアクセスランプがあると安心感があるなあ……(^-^)
| 固定リンク | 0
コメント