【8月3日】mbed-LPC実装<I2cDisplayで風速計動作開始>

通常のDISPLAY(SPI)だと結線の数が多く、配線が不得意な私にとって実装が厳しいものなので、I2cDisplayで動作が簡単なものを探しました。
ACM1602NI-FLW-FBWという白バックライト液晶で1発動作できました。直後のYOU TUBEご覧下さい1週間以上 他のI2C Displayで不通でしたので感激した次第です。

風速計、車速、sdメモリー、I2cDisplay搭載です。

ACM1602N1と書いてあるんですが、mbedの公開プログラムでは、NIと記述されてますので、私はNIとします。

LPC1768のピンは未だすかすかですので、この程度のデバイス数では
物足りないということでしょうか。
●mbedで動作できるプログラムの探し方
どうして簡単に動作したのかというと、mbedとWEBを検索しまくって
I2cDisplayの解説が詳細な方のプログラムをmbedライブラリーとプログラムからインポートしてプログラム内容を見て、何個か動作させてみて動作したものを採用するという単純な作業をしただけです。
プログラムでも、ヘッダーに詳細なコメントがしっかりと書いてあるもののほうが、確実性が高いです。コメントが足りないものは、たとえ同じデバイスを動作させるにしても、動作しないことが多いです。
今回は運良くTakuo Watanabe様のプログラムで一発動作できました。
https://developer.mbed.org/users/takuo/code/ACM1602NI_Demo/

とにかく、動作できるものが1個でもあるとそれをベースにI2cの勉強が実践的にできるので、動作不能だったDisplayもなんとか動作させられうのではないかと希望がもてました。

●I2c通信波形の比較
1週間ずっと動作できなかったI2cパネルは、
SO1602AWWB-UC-WBというものですが、有機ELなので輝度と省エネ性能が優れていて、最初からこれを選んでいたのですが、未だ動作できずです。現象は、ACKが全然返ってこない点です。
今日動作したACM1602NI-FLW-FBWと波形を比較してみました。

OK:黄色のSCL(クロック)が下がった時に青SDA(データ)が転送されてます。通信開始は、SCLがハイ状態の時にSDAが下がるとスタートと認識して通信が開始されます。そして、7ビットのアドレス+1ビットのR/W+ACK信号でアドレスを指定してスレーブと通信が始まります。
http://sudoteck.way-nifty.com/blog/2010/05/i2c-ack-afff.html
この写真では、黄色のlowが9発目で青がLowになってますので
マスターは、ACKを認識してます。
では、1週間不通だったSO1602の画像は、

NG:黄色のSCLの波形がGNDまで下がりきってません。電圧スケール1V/divで両者とも同じ条件でオシロ測定してあるので、SCL波形の違いがACK認識できずの原因と思われます。
・全体が低くて3.3Vの半分くらいしか電位差が無い=>電源まわり
・波形の鈍りとなるとコンデンサと抵抗の組み合わせ

=>SO1602は、その線で調べてみます。

ようやく、8月予定の全デバイスの動作確認ができたので、実装設計にはいれます。

カテゴリー: mbed

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です