2019/09/23(MON) 【電子工作】LCDを使ってみる
3連休は
台風がニアミスで
雨だったり風だったりで
バイクに乗ろうかと思ったけど
サス付けて、ちょっとだけでしたね。

で、部屋に篭って電子工作
まぁいつものごとくPICマイコンね。
今回はI2Cで制御できるLCDを使ってみます。
LCDってのは液晶ね。
今回は8文字×2行の小さめのを使ってみた。
↓これね
フォト

裏に5P×2行のPINのコネクタを付けました
フォト

で、ブレッドボードに使うには
間隔が狭いので変換器を自作します。
フォト

こんな感じにブレッドボード上で使います。
フォト

ちなみに10pinありますが
電源で2pin
バックライトの電源で2pin
コントラスト調整で1pin
I2C通信で2pin
I2Cのアドレスで2pin
使わないのが1pin
で、合計10pin
PICマイコンとの接続はI2C通信用2pinだけ
とりあえず。8pinでI2Cモジュールを持っている
PIC12F1822を使ってみました。
↓こんな感じ。
フォト

ちなみに
I2CとはInter-Integrated Circuitの略ね。
フィリップス社で開発されたシリアルバスらしい。
2本の信号線、シリアルデータ (SDA) とシリアルクロック (SCL) で
制御できる。
しかもPICマイコンで、
I2C用のモジュールが内臓されているのがあるので
そういうマイコンをセレクトすると2線で制御できるのだ。
でね。
いつもはアセンブラでプログラムを書いているんだけど
今回は、処理が複雑になりそうだったので
初のC言語でプログラミングっ!
 #あ、ちなみに仕事ではC言語は使っています。
 #PICマイコンで初めてという意味です。
まずは、開発環境の整備で
コンパイラのインストールからw
インストールしたあとは
プロジェクト作って云々はアセンブラと同じ。


LCDのデータシート(説明書)が
非常に不親切で、ハード的な情報はあるんだけど
ソフト的な情報が少ない・・・
いろいろググって
↓やっと文字が出せた・・・
フォト


実は、いろいろハマって
オシロで測定しつつデバッグしました。
さんざんデータ通信の割り込みが入らないと思ったら
マスターの設定にしなくちゃいけないところを
スレーブの設定にしてた・・・orz
マスターにしたら普通に割り込みが入った。

これで、デジタルタコメーターとか
水温計もスピードメーターとかも作れるぞっ!
てか、
動作させながらデバッグモニタとしても使えそう。

今回作ったプログラムをちょっと整理して
I2CとLCDを使うためのライブラリ化しておきますかね?
イマイマはゴッチャ煮です。
ソースコードを紹介する時がくるかは不明www
とりあえず、
またレベルがひとつ上がった気分です。
さて、なにを作りますかね?