今回は「グラフィックLCD組み込みキット」のパーツ寄せ集めです。ジャンク品ですがボードは半田付けが終わっておりPIC16F778AとグラフィックLCD SG12232Cが入っていました。
パソコンからRS232C経由で画像を送ってボード上のEEPROMに書き込み、これを表示していくというキットみたいです。PICはプログラム書き込み済みとのことです。でもパソコンのソフトもありませんし、LCD画像のスライドショーよりPICマイコンボードにしてしまった方がよっぽど活用出来ますよね。
そこでまずは動作確認のためPICのプログラムを書き換えて、お決まりのLチカを行ってみたいと思います。少し前まではこのキットの回路図は秋月のサイトからダウンロード出来ていたのですが、今は出来なくなってしまったようです。もしかするとこれに収録されているかもしれません。
回路図によるとPICのRA1にLED1がつながっているのでこれを利用します。MPLAB X IDEのプログラムはこちらです。ちなみにPIC16F778AはMCCに対応してませんでした。
ちゃんと点滅しました。壊れてはいないようです。
続いてグラフィックLCDの動作確認です。このSG12232Cはちょっと使いにくくて、液晶表示の為に2kHzのクロックを入力する必要があります。回路図ではタイマーICによるクロックをLCDに入力するようになっていました。このパルスが出ていないと、たぶん交流駆動ができなくなるので液晶の劣化につながってしまいます。そこで今年の福箱に入っていたオシロスコープを使ってボードのクロック出力を確認することにしました。
500μsのパルス(=2KHz)が綺麗に出力されています。前から測定器を使った確認作業をしてみたかったんです。秋月さんありがとう。
ボードに問題はなさそうなのでSG12232Cのプログラムを組んで動かしてみました。
16F877A_GraphicTest.zip (クリックしてウィンドウが開いたら右上のダウンロードボタンを押してください)
ボードのボタンを押して画像を8ドットずつスクロール表示します。ボタンを使えるようにするためJP1のジャンパスイッチは外してください。
プログラム書き込みの度にPICを基板のCPUソケットから抜くのは嫌なので、書き込みに必要な端子にピンソケットを配線しました。でも、このボードでは書き込みに使うICSP端子のRB7とRB6をLCDのデータパスとして使っているので、PICkit4で書き込むときはLCDを外しておかないとエラーになってしまいます。元々プログラムを頻繁に書き換える使い方ではなかったのでしかたないのですが残念です。
基板には外部接続のための端子をつけられるスルーホールもあるので、そこにもピンをはんだ付けしました。
ボードにはRS232CのレベルコンバータとEEPROMものっています。RS232Cを使う機会は少ないのでレベルコンバータについては必要になった場合に動作確認することにしました。EEPROMは利用したいので確認しておきましょう。
ダウンロードした回路図の説明にはEEPROMに24C245や24LC245と謎の型番が付いていますが、たぶん間違いで24LC256だと思います。実際に0x8000番地以降にアクセスすると0番地から読みだされるのでたぶん間違いないでしょう。
EEPROMの読み書きプログラムについてですが、MCC未対応のPICだとI2Cの処理も自分で書く必要があります。面倒なのでこちらのサイトのプログラムをベースに作りました。I2CやEEPROMについてこのサイトで詳しく説明して下さっているので目を通しておくと勉強になります。
16F877A_EEPROM.zip (クリックしてウィンドウが開いたら右上のダウンロードボタンを押してください)
ちゃんと読み書き出来ました。
これでPICのマイコンボードが手に入りました。このPIC16F778AはI2CやSPIなど一通りの機能は搭載していながら、コンフィグレーションビットの数も少なめで扱いやすいPICだと思います。グラフィックLCDは画面の左右をコントローラ2つで制御するので使い勝手はよくないですが、PICの学習にはもってこいのボードではないでしょうか。
こちらhttps://akizukidenshi.com/catalog/pages/kairo.aspx の「グラフィックLCD組み込み・キット」と言うのがそうだと思います。
ブログを投稿したときには秋月電子のサイトがリニューアルされていて、検索にも引っかからずに困っていたんですよ。これで安心してジャンク品に手を出せます。