電子工作

I2C(TWI)を使って気圧・温度センサ(MM-TXS03)と通信してみました[ATmega168:電子工作、動作編]

ノリユキ
ノリユキ
いらっしゃーい。電気電子のノリユキです。いつもこのブログをみていただきありがとうございます。

前回はマイコン間のI2Cを行いました。

I2C(TWI)を使ってマイコン間で通信してみました[ATmega168:電子工作、動作編] 前回はGLCDを使ったオシロスコープを作成しました。 https://noriyukiblog.com/2020/03/2...

今回は気圧/温度センサーとマイコン間のI2Cになります。

それでは、いってみましょう。

気圧/温度センサーについて

サンハヤト社のMM-TXS03をセンサに使用しました。

簡単にこのセンサについて説明すると

・I2Cに対応している

・3~5.5Vの電源電圧で動作可

・260hPa-1260hPaの範囲の気圧測定ができる

といったところになります。

センサの簡単な説明は以上になります。

マイコン-センサー間の回路図

実験ではこのように接続しました。マイコンをマスター、センサーをスレーブにしました。

少し補足すると、

CSピンを電源側に接続することでセンサーをI2Cモードにしています。

SD0ピンをGNDにすることでセンサーのアドレスが0b1011100(2進数表示,7桁)になります

回路の説明は以上になります。

気圧/温度データを取得するまでの流れ

流れは以下のようになっています。

①マイコン(マスター)がスレーブ(センサー)のアドレス(0b1011100)にアクセス(読込)して、スレーブ側のレジスタ0x20にアクセス

②スレーブから0xbbがマスターに帰ってきたらok

③マスターからスレーブのアドレス(0b1011100)にアクセス(書込)して、スレーブ側に0x20,0x90を書き込む

→スレーブから1sごとに気圧,温度データがマスターに送られるようになる

④マスターがスレーブのアドレス(0b1011100)にアクセス(読込)して、スレーブ側のレジスタ0x28,0x29,0x2a,0x2b,0x2cにアクセスする

⑤スレーブから、気温、温度データを取得。

お母ちゃん
お母ちゃん
なんかよくわからないんだけど、、、
ノリユキ
ノリユキ
詳細についてはプログラム編で説明するよ。あと0x○○と書いてあるのは16進数での表記

プログラムはこの流れで作成しています。

あ、、言い忘れていました!この記事に限った話ではありませんが、プログラムがほしいかたは問い合わせフォームから依頼ください。差し上げます。

C言語を使用していますが私のプログラムはライブラリを使っていません。

プログラムを勉強したい方にはオススメ、、、かな。。

お母ちゃん
お母ちゃん
宣伝はいいから早く実験しなさいよ!
ノリユキ
ノリユキ
へーーい

実験

実験になります。動画時間は3分になります。

お母ちゃん
お母ちゃん
仕組みはよくわからないけど、気圧、温度表示がでているじゃない

保冷剤をセンサーにあてると温度が下がること、気圧はネット上の値とそん色ないことから今回の実験はうまくいった、、、、、ということにします。

次回は

いよいよ無線関係に着手していきます。

具体的になにをするかについては、今から考えますので時間をください。

本日はここまでです。毎度ありがとうございます。