PCの状態表示用LCD(lcd2usb)


はじめに

CPUの負荷や温度等をはじめとしたPCの状態を外付けのLCDに表示するためのLCD4Linuxというソフトがあります.
このLinux4LCDで利用可能なUSB接続のLCDディスプレイであるlcd2usbを作成しました. lcd2usbはUSB用の特別なコントローラーを使わずに,AVRのソフトウェアのみで直接USBの処理を行ないます. Linuxだけではなく,Windows上でこのディスプレイを使うLCD Smartieというソフトも公開されています.

製作

回路図 回路図(PDF)  配線図 配線図

回路やファームウェアは,基本的にオリジナルのlcd2usbと同じですが,若干異なる部分があります:

使用するAVRのポートの変更
今回,もともとAVR-CDC用に作成した基板を改造してlcd2usbを作成しました. そのため,USBの信号の接続先はAVR-CDCで使用しているものと同じAVRのポートとなっています. (もともとはAVR-CDCを使ってLinux4LCD用のディスプレイを作成しようとしましたが,LinuxではLCD-CDCがうまく動作しなかったためlcd2usbを使うことにしたという事情があります).
電源電圧を5Vから約3Vに変更
オリジナルの回路で使っているツェナーダイオードが手元になかったのと,上記のとおりAVR-CDCの基板を流用したために,電源電圧は赤色LEDの電圧降下を利用して約3Vとしています. この場合,5V用のLCDの電源も3VになるためLCDを駆動する電圧が足りません. 都合のよいことに,lcd2usbではソフト側でLCDのコントラストを調整できる仕組みになっていて,コントラスト調整用のPWMの信号が出力されるため,これを負電圧発生用のチャージポンプ回路に入れて,LCDで必要な電位差を生成するようにしました(参考: ELM - LCDモジュールを3Vで使う).

上記以外の点として,AVRにATmega8ではなくATmega48を使っています.
使用したLCDは日本橋のデジットで安く売っていたSSC2Q16URG-01というモジュールですが,HD44780互換のものであればどれでも動くと思います.

基板(表) 基板(表) 基板(裏) 基板(裏)

ファームウェア

使用例

Linuxでの利用

使用例(Linux) Linuxで動作中
Debian (etch)にLCD4Linuxを入れて動かしました.
CPU負荷,空きメモリ量,ディスクI/O,ネットワークI/Oを表示させています.
設定ファイル(lcd4linux.conf)はこのようにしました.

Windowsでの利用

使用例(Windows) Windowsで動作中
WindowsにLCD Smartieを入れて動かしました.
CPU負荷,ネットワークの下り/上り転送速度,CPU温度,マザーボード温度,CPUファンの回転数を表示させています.
温度やファンの回転数を利用するために,SpeedFanというソフトも導入しました.

遊びで作ってみたものですが使ってみると結構おもしろいので,ちゃんとしたケースに入れて常用したいと思います.

ケースに入れた状態 ケースに入れた状態
後日ケースに入れました.100円ショップ(ダイソー)で売っていた500円玉ケースを使いました.
小さいので,ディスプレイの上に両面テープで貼り付けて使用しています.

参考資料

  1. LCD2USB - LCD to USB converter

[戻る]
2008-12-09 ページ更新
2008-11-06 ページ作成
(2008-11 製作)
T. Nakagawa