• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2013年01月18日

使用した電子部品たち2(I2C機器)

使用した電子部品たち2(I2C機器) 前のブログ内で、I2Cの通信を使って「日付・時間表示」や「圧力表示」させてみました。
 I2C通信とは、比較的低速な周辺チップとの接続に使われる接続方法です。マイコンで扱えるモジュールとして他には、「EEPROM」や「温度センサー」や「A/Dコンバーター」等があります。この接続の最大の利点は、GNDあわせて接続が3本で済むことで、私みたいにハンダでちまちまと回路を組んでいるひとには接続が楽になります。
 通信の送受信は、「マスター」と呼ばれる通信を制御する側(マイコンなど)と、「スレーブ」と呼ばれるI2C機器側に分かれていて、実質2本の配線を使って双方向やり取りを行います。
 図はマイコン(マスター)で制御をして2個のI2C機器(スレーブ)と通信する場合の接続例です。2本の信号線は電源から抵抗でプルアップさせるだけの接続です。この方法で最大100個もの接続か可能となるらしいです。

 実際のプログラムの実装は、「マスター」側が全て通信の主導権を握って送受信を行います。「スレーブ」のI2C機器はそれぞれに「スレーブアドレス」を持っていてそのアドレスを送ってI2C機器を指定してやります。

機器との送受信方法はチョット複雑なので大雑把にイメージだけ…
データの受信」は…
  1. マスター側からI2C機器のアドレスを送ってやって通信を行う機器を指定してやる。
  2. マスター側が欲しいデータのレジスタアドレスを送ってやる。
  3. スレーブ側からそのレジスタアドレス対応するデータを送ってくれる。


データの送信」は…
  1. マスター側からI2C機器のアドレスを送ってやって通信を行う機器を指定してやる。
  2. マスター側から送信したいデータのレジスタアドレスを送ってやる。
  3. マスター側から送信したいデータを送る

実際は、読込み・書込みのモードをいちいち切換えたり、送受信の信号を確認しながら通信を行うので、プログラムはもうチョット複雑です。

んで…今回使ってみたI2C機器は以下の2つです。


①RTC-8564…リアルタイムクロック
自作 時計 & 外気温をルームミラーに映してみた」や「クルマによく使用するPIC達 3」で使いました。
日付・曜日・時間はもちろんのこと、指定時間に信号を出す「アラーム機能」や「タイマー」なども設定したりと機能は充実してます。
 うるう年などの日付の管理も自動でやってくれるので時間を扱うにはプログラムの書く手間が減ります。結構使えるICだと思います。
外部へクロックを出してくれる機能もあるので、今回のプログラムではそのクロックに乗せて1秒ごとにグラフィックLCDの更新をしています。
肝心の時間誤差は、バックミラーに表示させているプログラムは1ヶ月くらい連続使用していますが、思ってたよりも時間は狂ってません数秒程度です。



②MPL115A2…大気圧センサー
クルマによく使用するPIC達 3」で使いました。
大気圧(圧力)のセンサーです。けっこう本格的なセンサーで中には気圧補正用の温度センサーまで内蔵されています(実際には補正用のセンサなので実測しても実際の温度とは誤差があるらしいですけど…)。
本格的という事は結構大変な計算が必要となります。計算用に8個の測定係数がありその係数をI2Cでやり取りをして取得し複雑な変換をしないと実際の気圧が出ません。計算時に浮動小数点を使用するのでプログラム容量が大きくなります。複雑だったので何度も心が折れそうになりましたw
実際の測定値は他に調べるすべがないので確認できませんが、ネットで調べる限りでは妥当な計算値が出ていると思います。


最近では他にもいいセンサもあるので無理してI2C通信を使用しなくてもいいのですが、I2C通信ってのが何?って事を知りたかったので今回無理矢理使った感じです。
確かに配線はシンプルになるし、細かい測定や計算はICおまかせとなるのでプログラムが小さくて済みます。
マスターとなりうるマイコンは、相性や性能がある程度必要なので選択には注意が必要ですね。
ブログ一覧 | 電子回路 | 趣味
Posted at 2013/01/18 05:22:51

イイね!0件



タグ

今、あなたにおすすめ

ブログ人気記事

祝・みんカラ歴8年!
ゼンジーさん

第三弾 深夜のドライブ^ ^
ポップメロンさん

本土最終日!
shinD5さん

朝の一杯 8/14
とも ucf31さん

新御霊祭(あらみたまさい)
どんみみさん

稲生物怪録絵巻
ドウガネブイブイさん

この記事へのコメント

2013年1月19日 23:12
I2Cは便利ですよね.表示系デバイスは省配線で恩恵に授かれます(^^ 気圧センサはマイコンでの計算が大変だったのではないでしょうか.
コメントへの返答
2013年1月20日 7:56
今回使った気圧センサーは送受信で得た8個の数値データを使って算出してやる感じでした。内2つは「気圧の生データ」と「補正用温度値」です。この2つのデータと残り6個の係数をマニュアルに書いてある計算式に乗っけるだけですが…。

6個の係数を算出するのが大変でした。送受信して加工した16bitの数値データから少数第五位程度の数値へ変換するやり方理解するまでに時間がかかりました。英文のマニュアルには訳の分からない単語が当たり前のようにサラッと書いてあるし…。

プロフィール

「[整備] #N-ONE メッシュグリルにしてみる https://minkara.carview.co.jp/userid/1540421/car/3584390/8101874/note.aspx
何シテル?   02/01 13:30
satto.v11です。 機械を弄るのが大好きですw クルマ・バイク・パソコン多趣味な人間です。
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

バンパー、グリル、ネット取り付け 
カテゴリ:その他(カテゴリ未設定)
2025/02/06 06:05:02

愛車一覧

ホンダ N-ONE ホンダ N-ONE
N-ONE RSに乗り換えました。 通勤用として久しぶりの新車購入。 "通勤中も楽しく" ...
アウディ TT クーペ TT (アウディ TT クーペ)
メイン車です。 これは自分では弄りません。 全てディーラーにお任せw
ホンダ ゴールドウイング (GL1800) GL1800 (ホンダ ゴールドウイング (GL1800))
ホンダGold Wind Tour DCTに乗っています。 水平対向6気筒1800ccを ...
ホンダ モンキー ホンダ モンキー
モンキーを作りました。 10年前に所有していたモンキーフレームの残骸からナンバーを取得 ...

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation