製作モジュール一覧

2014年10月13日月曜日

I2C LCDにこだわる理由

Arduino + I2C LCD + I2Cバス用レベル変換モジュール(PCA9306)で、もう少し実験

5V駆動ならRESET PINはArduinoから制御しなくても、VDDに引っ張っておけば動いた

というかRESET PINはI2Cバスではないので、このモジュールでレベル変換するのは多分NG

RESET PINをVDDにつないでaitendoのI2C LCDで実験した



画像の通り、VDDに3.3V供給して変換モジュールをかましてSCL/SDAを3.3V変換すると
何も表示されない

スケッチのContrastの値を、10、34、50に変えてみたがダメだ

VDDに3.3V供給して信号線をArduino直ならOK

Contrastは20~63まで表示される

記録してないが、このときSCL/SDAは3.6Vぐらいになっていた

5Vと3.3Vの引っ張り合いっこで、この値になってるんだろう(たぶん)

もう実験を続ける気力がないので、I2CのLCDを使うと
どれぐらい実装面積が節約できるか部品を並べて確認して見た

可変安定化電源


I2C LCD



120mm x 150mm ぐらい


hd44780互換



140mm x 150mm ぐらい

筐体の後ろからDCジャック×2で電源供給

前面か上面から安定化した電圧を出力

あんまり考えないで並べたが、I2C LCDの方が確実にコンパクトにおさまるはず

ケースはオーダーメイドじゃないので…

ぴゅんぴゅんシールド



これはもうあからさまだ

レベル変換しないで済むなら、それに越したことはない

I2Cの5V↔3.3Vレベルシフト 秋月のレベル変換モジュールを使ってみた

<追記:2016.07.05>

実験しなおしました。「秋月のI2Cバス用双方向電圧レベル変換モジュール(PCA9306)を使ってみる。」

</追記>

電源用の抵抗が届くまで他のことをする

I2Cのレベルシフト用のモジュールを秋月で購入したのでテスト
I2Cバス用双方向電圧レベル変換モジュール(PCA9306)(http://akizukidenshi.com/catalog/g/gM-05452/)

結果から言うとダメだった




I2CのSCL、SDAとRESETの3本が必要なのでモジュールを2コ使った

このモジュールはSCL、SDAと端子名が付いているんだがそれ以外は使えないんだろうか

2コ目の使っていない端子の処理も気になる

付属のDATA SHEETの回路図を見るとプルアップされているのでオープンでいいはずだが

PCA9306のDATA SHEETもおいおい調べることにする


テスターでDC電圧を計ると、VREF1側が3.3V、VREF2側が5V弱出ている

500HzのHIGH/LOWをソフトオシロで計測すると

3.3V側


5V側


→delayMicroseconds()を使ってもう少し周波数を上げて計測したほうがいいかな?

Arduinoのスケッチとか、何か根本的なところで間違ってるのかもしれない

秋月のLCDはピンヘッダをはんだづけするときに失敗してデカップリングコンデンサを外してしまっているので(http://dad8893.blogspot.jp/2014/08/i2clcd.html)aitendoのLCDでも試したが同じ。

5V駆動すると、どちらもちゃんと表示される(^q^;



画像はバックライトがないので暗いです


他のI2C製品だが、aitendoでArduinoを使った写真があったので見てみると(http://www.aitendo.com/product/9937)
LCDの供給電圧は3.3VをArduinoから取ってきているが
I2Cの信号線はArduinoの出力そのままだ

同じように接続するとやはりちゃんと表示される

LCDのコントローラーのDATA SHEETを確認すると

Input High Voltage | Limit Max. | VDD

となっているので仕様外だ(と思う)

可変安定化電源の電流電圧計も、ぴゅんぴゅん3号のシールドも
できればバックライト付きのコンパクトなLCDを使いたいので
3.3V給電、信号線5Vで行こうかなあ…

ぼちぼち実験しながら進めることにする

2014年10月12日日曜日

万歩計液晶調査

前から調べたかったのですが、時間がなかなか取れず、ようやく万歩計液晶の回路を調べました。

前にも書きましたが、小さくて無駄のない液晶ってなかなかないわけです。

☆調査方法ですがロジアナなんて持ってないからセロハンテープです。

液晶に接続されるパターンをセロハンテープでマスクして一旦組み全液晶表示して、状態を手で書き写す。それを一つづつ全部の信号に適用。
表示されない液晶が、マスクした信号線の担当箇所だよな(笑)という地味ーな作業。
謎のパターンがあり、これをGNDに落とすと全ての数字に8を出すスイッチとなることがわかってたので、こいつが利用できたわけです。


調査結果がこんなかんじです。5コモン7セグでした。



電圧はテキトーに3Vくらいで試してみます。(0V 1.5V 3V)
おそらくtiny2313を一個、フルに液晶表示専用に供すればいけそう。
12本の信号使ってもまだIOは6本あるので表示データもtiny13から送れそうだ
…ソフトでi2c実装するって手もあるか。