Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

とあるモジュールを買ったマイコン初心者がそれを使えるようになるまでの道のり。

基本的なことがまだ理解出来ていないと思いますが、LCD(I2C接続)について教えてください。
LCD 1602A
I2C変換モジュール PCF8574
PIC 12F1822
2行で使用したいのですが
電源投入後のLCD初期化処理は次のコマンドでいいのでしょうか?
0x28
0x29
0x14
0x70
0x56
0x6c
delay 200ms
0x28
0x01
0x0c
4bitモードにしたあとは送信データだけでなく、アドレスや制御コードも4bitで送信しなくてはいけないのでしょうか?

今手元に現物がなくてわかる範囲になります、すいません。
購入したLCDとI2C変換
Amazonで下記の製品名の物になります。
WayinTop 1602 LCD ディスプレイモジュール 16×2キャラクタ 青 バックライト付き 白抜き + IIC/I2C/TWI/SPI シリアルインターフェイス シリアルI/F モジュールポート
参考にしたサイト
http://machoto2.g2.xrea.com/page/P1822/P12_A05.htm
コードについては参考にさせてもらってるところと同じです。アドレスは変えました。これをもとに4ビット試したりしました。

某掲示板でとある質問者による投稿が上の2つ。
私ならどうするだろうと考えてみた。
まあ、掲示板へ質問しに行かないことだけは確かだけど。

販売サイトに以下の情報がちゃんと書かれている。

LCDディスプレイ:
動作電圧:5V
インターフェースIC:HD44780
表示:16文字 x 2行
バックライト色:青
文字カラー:白
コントラスト調整:V0(ピン3)
サイズ:80x36x9mm

I2CシリアルI/F:
動作電圧:5V
チップ:PCF8574
I2Cアドレス:デフォルト0x27、0x20~27に変更可能
ピン:GND、VCC、SDA、SCL
ピン接続:GND-GND、VCC-5V、SDA-A4、SCL-A5
半固定抵抗付き、コントラスト調整可能
サイズ:41.5x19x15.3mm

LCDディスプレイのピンアサイン:
ピン1(VSS):GND
ピン2(VDD):電源(+5V)
ピン3(V0):Contrast Adj–VRでVDD-VSS間で電圧調整できるよう接続
ピン4(RS):Register Select–コマンド発行の際0,データ転送の際1にセット
ピン5(RW):Read/Write–読出:High, 書込:Low
ピン6(E):Enable Signal–通常はLowにしておき、送受信の際Positive pulseを与える
ピン7~14(D0~D7):Data Bit0~Bit7–8bitモード
ピン15(A):バックライト 電源プラス–VDDに接続可
ピン16(K):バックライト 電源マイナス–VSSに接続可

I2Cシリアルインターフェイス アドレスの対応:
A0  A1  A2  I2Cアドレス
0   0   0   0x20
1   0   0   0x21
0   1   0   0x22
1   1   0   0x23
0   0   1   0x24
1   0   1   0x25
0   1   1   0x26
1   1   1   0x27

当然、真っ先にGoogle先生にお尋ねする。
「PIC HD44780 PCF8574 1602」で検索して上から7番め。

写真から見てもこれに違いない。

ソースコードと

モジュールのライブラリまで提供されていた。

持ってるはずのモジュールが見つからないので動作確認はしてない。
それでも、結論はただ一つだ。
「四の五の言わずにまずググれ。」

追記
探したら出てきた。
液晶の方は単独で使うようにピンヘッダがはんだ付けしてあった。
IICのモジュールの方もブレッドボードに挿して使うようにピンヘッダをはんだ付けした。

2014年8月1日に購入し、
1602 16×2 HD44780 Character LCD with I2C Serial Interface Adapter Module
2015年3月3日にIIC部分を切り離していた。
16×2 Character LCD with I2C Module の分離
ずいぶん荒っぽいことをやって、しかも放置してあったので、まずArduinoで動作テストした。

問題なく動作するようだ。

続けて、上で見つけたサイトから拝借したコードとライブラリをPIC16F1827に書き込む。
表示テスト無事完了。

追記
探したらPIC12F1822が出てきた。
が、メモリーが足りずにBuildできない。
と思ったらC90にしたらBuildできた。

こちらも問題なく動作した。
8pinなので実行時にICSP関連の線を外すのを忘れずに。

追記
で、肝心の質問者さんはどうなったのか、毎度毎度のフェードアウト、自然消滅、音沙汰無し。
ただのネタだったんでしょうね。

このエントリーをはてなブックマークに追加

Posted under: PIC, 電子工作その他


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.