[Homepage][BBS][Blog][YouTube][asablo]

エアーバリアブルBBS
新エアーバリアブルBBS
初めにお読み下さい Please read first ホームページ ブログ YouTube 過去ログ倉庫
お久しぶりです
エアーバリアブル様
お久しぶりです。 覚えてますか?
VUメーターとデジタルアンプではお世話になりました。
最近 I2C LCDで検索かけたら改造方法が載ってたので
懐かしくなり投書しました。まだ全然I2Cの事は解ってないのですが
2本の線でコントロール出来るのは配線しやすく良いと思いました。
そこで質問なのですがストロベリーリナックスのSB1602E用プログラムを
秋月の ACM1602NIで使うにはストロベリー互換ファームを入れたら
良いのでしょうか?コントラスト制御は出来ないようですね!
後 ブログも拝見しました。
料理が好きなんですね! 今度教えて下さい^^
  • skynet
  • URL
  • 2012/12/11 (Tue) 13:36:31
Re: お久しぶりです
ご無沙汰しております。
> そこで質問なのですがストロベリーリナックスのSB1602E用プログラムを
> 秋月の ACM1602NIで使うにはストロベリー互換ファームを入れたら
> 良いのでしょうか?コントラスト制御は出来ないようですね!

全部を検証しているわけではないですが、ほぼ互換で動きます。
コントラストは外付けVRで行います。コマンドは無視されます。
注意事項はホームページに記載されている通りです。
http://www.ne.jp/asahi/air/variable/picmel/applications/ACM1602NI/index.html

また、16F1823とキャラクターLCDを使った記事を紹介していただいております。
http://airvariable.bbs.fc2.com/?act=reply&tid=7335138#15744773
コントラストコマンドなどが対応しているとのことです。
  • air_variable
  • URL
  • 2012/12/11 (Tue) 14:49:25
Re: お久しぶりです
エアーバリアブル様
今日 SB1602B互換にLCDをファームしました。
結果は上手く書き込み出来たようで ストリナ互換になってるようです。
電源を入れた時に I2C3E SB1602Bと表示されました。
ただ 純正のストリナLCDと差し替えた所 文字化けして表示されませんでした。
http://strawberry-linux.com/catalog/items?code=27003 で
表示してるのは確認出来てますので プログラムの変更をしないと
ダメかと思いますが どこを変えて良いか解りませんでした。
ソースは自分で作ったのでは無いので載せられませんが




extern Wire i2c;

Lcd::Lcd() {

;
}

i2c.beginTransmission(LCD);
i2c.write(0x00);
i2c.write(0x39);
i2c.endTransmission();
_delay_ms(1);

一部だけ こんな風に書かれてます。

無茶なお願いかと思いますがヒントでもあればと思います。
宜しくお願いします。
  • skynet
  • URL
  • 2012/12/21 (Fri) 19:24:59
Re: お久しぶりです
一つ前のバージョンを書いてみてどうでしょうか。
それで文字化けが治るようであれば、セットアップ時の時間がシビアで
文字化けしているかもしれません。

文字化けしているとのことですが、期待する表示と、その結果はどうなのかを
もう少し現象を詳しく書いて頂けるでしょうか?
(このBBSは画像を1枚貼り付けられますのでご活用下さい。)

電源投入時にLCDが同時に電源がはいっているかとか、プルアップ抵抗についても
今一度ご確認をおねがいします。

また、注意書きの通り、対応が完全でないのはこちらでも確認しております。
そのためにソース・コードなどを全部公開しております。
対応しておきたいとは思っておりますが、趣味での公開ですので、
いつになるかの確約は約束出来ないことをお伝えしておきます。
ご報告ありがとうございます。

  • air_variable
  • URL
  • 2012/12/21 (Fri) 19:32:35
Re: お久しぶりです
エアーバリアブル様
遅くなりましたが 明けましておめでとう御座います。
秋月のLCDですが内蔵PICを交換してみたんですが
純正のPICと同じく1回しか書き込み出来ず
2回目からは プログラム領域が何故か初期化されないと
言う問題が発生しまして、あれから全然してません。
PICライターが秋月の古いライターVer4だからかも
しれません。
それと遅れましたがLCDの表示状態の画像を貼っておきます。参考になればですが!
これはパラレル接続でも単続接続でも同じでした。
左が ストリナLCDで 右が秋月LCDです。
  • skynet
  • URL
  • 2013/01/21 (Mon) 17:38:00
Re: お久しぶりです
写真をつけて頂いてありがとうございます。
写真を見る限り、I2C受信としては動いているようですが、初期設定コマンドや
電文がちょっと対応出来ていない可能性があります。
(原因追求など中々直す時間がとれていないので私も放置した状態ですが)
この秋月LCDモジュールについては、PICKit2で何十回となく書き込んでいますが、
それについては問題なく使用できています。

所で同じアドレスを持ったI2Cスレーブのパラレル接続は、大抵は動作はしてくれますが、厳密にいうと規格外になります。
I2C電文の最後のビットに送受信を切り替えて通信が正常が否かをデバイス側がCPUに送信するためです。
コンディションによって、スレーブデバイスの片方がNAK(NG)、片方がACK(ok)を返してきた時、信号がぶつかってしまうためです。
チョット気になったのでご報告しておきます。
  • air_variable
  • URL
  • 2013/01/22 (Tue) 18:50:26
Re: お久しぶりです
アドバイス 有難う御座います。
それとLCDの書き込みなのですが原因が解りました。
交換した際に部分的にショートしてたみたいです。
肉眼ではショートしてないように見えたのですが、
除去しまして普通に何回でも書き込みを確認しました。
申し訳ありませんでした。それとパラレル接続は良くないみたいですね!
後は 初期化関係のプログラムかと思いますので研究してみます。(もう妥協状態です。)
有難う御座いました。 
  • skynet
  • 2013/01/23 (Wed) 00:20:03
Re: お久しぶりです
うーーん、
横から失礼します。
まだI2Cはよくわかりませんが、
 秋月LCDのI2Cのアドレスを変更するようにPICのソースを改造してみたらどうなりますか?
つまり、
  ツトリナ版と秋月版のI2Cのアドレスを別にしてしまう。
です。
air_variablesさんの考えたソフトはみんな同じアドレスですよね。
  • ITO
  • 2013/01/23 (Wed) 10:58:23
Re: お久しぶりです
ITOさん
既にプログラムで外部ハードピンをGNDにすればアドレスが変わる仕組みを実装しています。
http://www.ne.jp/asahi/air/variable/picmel/applications/ACM1602NI/index.html

今回skynetさんが行った実験は比較実験が目的なので、同一アドレスのデバイスを2つ同時に動作させているのですが、
同一アドレスが混在するデバイスを同じI2Cバス上に接続しなければ良いので、片方だけ繋げば比較実験できると思います。

完全互換にならないのはセットアップ時間、イニシャル方法、アクセス方法など色々要因が考えられます。
あくまでも研究開発用に公開しているものですので、早急な対処はこちらでは考えておりません。
(やる気が出たらやるという感じにはなっていますが・・・)


参考までに、以前紹介してもらったPIC16F1823で作る、電源電圧追従型I2C LCDを紹介しておきます。
http://kikyoya.wordpress.com/2012/12/03/pic-f1%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%81%AEdac%E3%81%A7%E9%9B%BB%E6%BA%90%E9%9B%BB%E5%9C%A7%E8%BF%BD%E5%BE%93%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E6%B6%B2%E6%99%B6%E3%82%92%E4%BD%9C/
  • air_variable
  • URL
  • 2013/01/23 (Wed) 11:17:21
Re: お久しぶりです
詳しい説明有難うございます。
了解しました。


完全互換は結構難しいですよね。

  • ITO
  • 2013/01/23 (Wed) 12:53:36

返信フォーム






プレビュー (投稿前に内容を確認)