株式会社ジーテック

制御機器を小ロット多品種で設計製作

ラズパイでI2Cテスト

ラズパイで常時表示したいがわざわざモニターを接続するほどではない項目はいくつかあります。IPアドレスやネット環境の有無など常時表示していると安心です。
今回はI2C接続のLCD(AE-AQM1602A)を使用します。

接続方法と確認

接続ができたらターミナルにて確認できます。


sudo i2cdetect 1

ターミナルにてテスト

簡単な動作テストはターミナルにて手打ちコマンドでできます。


#初期化
i2cset -y 1 0x3e 0x00 0x38
i2cset -y 1 0x3e 0x00 0x39
i2cset -y 1 0x3e 0x00 0x14
i2cset -y 1 0x3e 0x00 0x70
i2cset -y 1 0x3e 0x00 0x56
i2cset -y 1 0x3e 0x00 0x6c
i2cset -y 1 0x3e 0x00 0x38
i2cset -y 1 0x3e 0x00 0x01
i2cset -y 1 0x3e 0x00 0x0c

#文字表示
i2cset -y 1 0x3e 0x40 0x61
i2cset -y 1 0x3e 0x40 0x62
i2cset -y 1 0x3e 0x40 0x63

Error: Write failedが出る

なぜか決まった箇所でエラーが出てきます。2×8のAE-AQM0802であれば問題はありませんが今回使用している2×16のAE-AQM1602Aだけがエラー出ます。電気的な問題を疑って別のラズパイで試したりオシロで電圧を調べてみたりレベルコンバータを入れてみたり別のLCDを用意してみたりと試行錯誤試してみましたがわからず。残りはLCDの文字数の違いで応答速度が違うのでは?というぼんやりした疑惑が残ったまま心が折れてしまいました。気になるエラーは出ますが今のところ表示は問題なくできているので暫定的にヨシとしました。

©ZEATEC co.,ltd.