« 【16番】HOWA ナハ10(DCCデコーダー搭載②) | トップページ | 【PICマイコン】PIC16F18313の初期設定 »

2017/10/20

【PICマイコン】I2C接続LCDモジュール

秋葉原の秋月電子でI2C接続のLCDキャラクタディスプレイ@¥645を購入したので、PICマイコンに接続してみました。詳しい説明書はなかったのですが、先人がネット上に提供されているライブラリで比較的簡単に使用できたので、備忘録代わりにメモしておきます。最終的には、追加の抵抗とコンデンサは不要となったので、追記しています。

#PIC16F18313のPPS機能を使った記事はこちらです。


(参考)
LCDモジュール 16x2行 AQM1602Y-RN-GBW
・「コントローラIC(SITRONIX ST7032i)データシート」(I2C接続小型キャラクタLCDモジュール 8x2行のページにリンクあり
・「I2Cのソース - PIC12F1822/16F1705/16F1938/18F26K22 - LCD(ACM1602)を例にして」(セッピーナの趣味の天文計算
・「秋月電子I2C接続小型LCDモジュールに表示を行う」(PICの動かせ方入門

PICマイコンはPIC12F1822で、ピンの設定は次のとおりです。

・RA1:SCL出力(I2Cクロック。10KΩでプルアップして、LCDの8番に接続)
・RA2:SDA入出力(I2Cデータ。10KΩでプルアップして、LCDの7番に接続)

LCDのピン番号は、左から右へ1〜9です。データシートを見て、電源、コンデンサをつなぎます。バックライトがケース側にありましたが、ブレッドボードに載せるため外しています。

ライブラリ内のパラメータを変更することで、5V電源でも動作可能です。


5V電源のときは内部の昇圧回路を使いませんので、LCDモジュール周りのコンデンサは要らないようです。(動作を保証するものではありませんので、自己責任でお願いします)


PICマイコンのプルアップ機能が使えたので、外付けの抵抗が不要となりました。新しいピンの設定は次のとおりです。

・RA1:SCL出力、Weak Pull-up(I2Cクロック。LCDの8番に接続)
・RA2:SDA入出力、Weak Pull-up(I2Cデータ。LCDの7番に接続)

(Weak Pull-upの設定)
nWPUEN = 0; // Weak Pull-upは禁止しない
WPUA = 0b0000110; // RA2, RA1をPull-up

出力ピン数に余裕があれば、プログラムの動作確認や調整に活躍しそうです。

続く。。

(2017/10/21:5V動作時のコンデンサについて追記)
(2017/10/21:Weak Pull-upについて追記)
(2017/11/11:リンク切れを修正し、参考にバックライトなしのLCDを追記)
(2018/07/14:後続記事へのリンクを追加)

« 【16番】HOWA ナハ10(DCCデコーダー搭載②) | トップページ | 【PICマイコン】PIC16F18313の初期設定 »