uBITX、まだケースに入れていないけど、LCDを大きくしたいので、まずは、ファームウェアを書き換える。オリジナル版も新しいのが出ているけれど、目的が「LCDを大きくしたい」ので、CEC版(KD8CECによる改造版)を入れる。
準備
LCDモジュールの準備
CEC版のファームウェアではVersion 1.073 Betaから、いくつかのLCDのオプションがサポートされている。
- 16桁2行パラレル接続(オリジナル)
- 16桁2行I2C接続
- 20桁4行パラレル接続
- 20桁4行I2C接続
- 16桁2行 × 2
Various LCD support in uBITX with Firmware CEC Version 1.073 Beta
http://www.hamskey.com/2018/04/various-lcd-support-in-ubitx-…
I2C接続なら配線が四本で済むので、メイン基板と離して設置しやすい。ということで、20桁4行I2C接続のLCDを準備。AliExpressやeBayで500円くらいで見つかる。
このリンクを見てもわかるように、パラレル-I2C変換のアダプタもある。これは100円くらい。パラレルのLCDとI2Cアダプタの両方を買って試してみるのも手かも。実は、I2Cタイプのものを購入するとパラレルタイプにこの変換モジュールがくっついてくるのだろうと思ったのだけど、手元に届いたものを見たら、いや、確かにその構成なんだけれど、ソケット挿しはなく、直にはんだ付けされていた。なので、パラレルで試してみることはできない(シリアル専用)。両方やってみたいなら、別々に購入すべし。
それと、液晶もブルー(ネガ)とイエロー(ポジ)があって、これでも値段が違う。これは好みで。
ハードウェアの改造
Various LCD support in uBITX with Firmware CEC Version 1.073 Beta
http://www.hamskey.com/2018/04/various-lcd-support-in-ubitx-…
上記ページの「3. I2C LCD Connection (16×02, 20×04)」を参考に、配線する。Raduino(コントローラボード)側は直接はんだ付けしたけれど、不安定。やはり、上記サイトのようにピンヘッダをはんだ付けして、それにケーブルを挿すようにした方が安定しそう。そのうち直そう。
ソフトウェアのダウンロード
必要なソフトウェアは次の三点。
- Xloader
- uBITX Memory Manager
- uBIXファームウェア
XloaderはArduinoのファームウェア書込みツール。こちらからダウンロードできる。
Xloader
http://xloader.russemotto.com/
uBITX Memory Managerとファームウェアはバージョンに合せてセットで公開されているみたい。現時点の最新版は、1.08で、公開場所はこちら。
uBITX CEC Version v1.08
https://github.com/phdlee/ubitx/releases/tag/v1.08
UBITX_CEC_V1.080_Hex.zip がファームウェア、uBITX_MM_V1.081.zip がuBITX Memory Manager。他にソースコードもある。
その他、1.08に関する情報はこちら。
uBITX Firmware CEC Version 1.08 Release
http://www.hamskey.com/2018/05/ubitx-firmware-cec-version-10…
ファームウェアの書込み
ファームウェアアップグレードの手順はこちらのページを参考に。
How to upgrade uBITX Firmware
http://www.hamskey.com/2018/01/how-to-upgrade-ubitx-firmware…
まずは、PCとRaduinoボードをUSBケーブルで接続する。
uBITX本体から外してRaduino(とLCD)だけにした。基本的にArduinoなので、ファームウェアの書換えにはuBITX本体はいらないだろうと思い。このあたりは自己責任で。
この時点では、何も表示されない。オリジナル版のファームウェアは2004 LCDに対応していないので当然。
デバイスマネージャを開いてポート番号をチェックする。
「COM4」として認識されている。
では、Xloaderを起動。ZIPファイルを展開して、XLoader.exe をダブルクリックすればOK(インストール作業はない)。
Hex file(書き込むファームウェア)を指定する。
ファームウェアのZIPファイルを展開すると一通り入っている。LCDが2004のI2Cなので、UBITX_CEC_V1.080_20I.hexを選択。
DeviceはATmega328を、COM Portは先程確認したCOM4を選択。
「Upload」ボタンを押せば、書込み開始。
書込み終了。時間はどれくらいだったろう?15秒くらいかな?30秒はかからなかったと思う。
では、一旦、USBケーブルを抜き、再度挿して再起動。
あれ?待てど暮らせど、何も表示されない…。念の為、コントラストの調整ボリューム(LCD裏のアダプタに付いている半固定)を回してみたけれど、文字は表示されない…。
あ、そういえば、I2Cのアドレスがどうのこうのと書かれていた。以下のページの「4. I2C LCD Setup」のところ。
Various LCD support in uBITX with Firmware CEC Version 1.073 Beta
http://www.hamskey.com/2018/04/various-lcd-support-in-ubitx-…
uBITX Mememory Managerによる設定
では、uBITX Mememory Managerを使って、I2Cアドレスの変更をやってみよう。
uBITXからのデータの取込み
uBITX Mememory ManagerもダウンロードしたZIPファイルを展開するだけでインストール作業は不要。uBITX_Manager.exeをダブルクリックすれば立ち上がる。
ポートを設定し(ここではCOM4)、「Connect」ボタンを押す。
ポートに問題がなければつながるはず。先程までグレーアウトされていた「Read from uBITX」ボタンが有効になるので、これを押す。
数秒で読込みは終る。
先程まで何もなかった左側に読み込んだデータがダンプ表示されている。
続いては、「Decode =>」ボタン。これで、読み込んだデータがuBITX Memory Managerに反映される。
この作業はうっかり忘れがち。なぜ、読み込んだらすぐに反映してくれないんだろう?
データの書換え
先程の「4. I2C LCD Setup」の説明によれば、LCDのI2Cアドレスは大抵は0x27か0x3Fであり、CEC版のファームウェアではデフォルトを0x3Fにしてあるとのこと。これで表示できていないのだから、0x27にしてみる。
画面のズズーッと下がると、「User Interfae」のところに目的の項目がある。「Master I2C LCD」の欄を「0x27」に変更。
uBITXへのデータの書込み
今度は「<= Encode」ボタンを押す。
「Write」ボタンを押すと、データのコンペアをやってくれるらしい。
ということで、「Write to uBITX」ボタンを押す。
ん?たくさん変更点があるみたい。I2Cアドレス以外にもいろいろいじってみたからかな。ともかく、右下の「Wite」ボタンを押してみる。
書込み終了。Faildが0だから大丈夫だろう。
「Port Close」ボタンを押して作業完了。
先程のアドレス設定の欄のところに「Applies after reboot uBITX」と赤字で注意書きされていたので、USBケーブルを挿し直して再起動。
お!今度はちゃんと表示された。起動時間は7秒くらい。その間ドキドキものだったけど、上手く行ってよかった。
【追記】
uBITXの再起動は、USBケーブルを挿し直すのではなく、Memory Managerからもできる。右上に「Reset uBITX」というボタンがあるので、これを押せばOK。「Port Close」の操作は不要。
uBITX Mememory Managerの使い方のまとめ
話がごちゃごちゃしたので、uBITX Mememory Managerの使い方の基本(操作手順)をまとめておく。
- uBITXをPCにつなぎ、ポート番号を確認する
- uBITX Mememory Managerを起動する
- 「Connect」ボタンを押す
- 「Read from uBITX」ボタンを押す
- 「Decode =>」ボタンを押す
- 必要な設定・変更を行う
- 「<= Encode」ボタンを押す
- 「Write to uBITX」ボタンを押す
- 「Wite」ボタンを押す
- 「Port Close」または「Reset uBITX」ボタンを押す
注意事項
この作業中にPCがブルークラッシュした。二回も。メインPCで作業するのはリスクが高いと思い、途中からサブのノートPCに替えた。他の作業をやりながらというのは危険だと思う。
LCDをI2C接続にするとRaduinoボードにはLCDがつかないため、うっかりするとuBITX本体に逆向きに取り付けてしまいそう。要注意。
最初の方にも書いたが、今回はuBITX本体から外してRaduino単体で作業した。これをやっていいのかどうかはわからないので、そのあたりは参考にするにしても自己責任で。
コメント