« 二足歩行の恐怖 兄弟仁義編 | トップページ | 奇妙なLCDの発掘 »

2012年2月29日 (水)

猿でもわかる無線システム その1

皆の者、大儀である。
ここのところ、omo殿依頼の無線通信システム(温度測定)を遊びで設計しておった。
備忘録兼ねて実験結果を報告しよう。
電波による通信は電波法の関係から微弱電流を扱う送受信モジュールを使うのが一番安く簡単なようだ。
送信モジュール
受信モジュール
物は例のaitendoさんで扱っている。送受信モジュール合わせて\830なり。
ちまたでうわさのXBeeよりはるかに低コスト。マイコンやその他もろもろ入れても1000円ちょいだな。
微弱電流とはいえ仕様では100m飛ぶと歌ってあり、赤外線と違って用途は広がりそうだ。
ここで気をつけてほしいのは、いろいろなモジュールがあるがCH対応のもの(エンコーダ付のもの)は今回の対象ではない。
なぜかと言うとCH押下情報ではなく測定したデータの情報伝達が必要だからだ。
温室内の温度を測定し、外を隔てて20m離れた場所の室内からモニタリングしようと言うわけだ。試行錯誤はありながら完成した。

まず、電波無線を始める前に赤外線データ通信を試みてみる。
まったく関係ないように思えるが実はこれが電波通信を行った時、多大なる意味を持つことになる。
ここでも何度か述べてるように赤外LEDが38Khzのキャリア波を飛ばすと、赤外受光素子はLOWを出力する。逆に38Khzのキャリア波でなければHIGHを出力する。
家電リモコンは、各メーカーのデータフォーマットが決まっていて、このHIGHとLOWの時間比率を変えることで、デジタルデータ "1"と"0"を表現している。
従って、信号の切り替わり時間を意識しなければならずソフトはそれなりにめんどい。
しかし送信機も自作ということを考慮に入れると、このサイトのPIC ■赤外線データ通信(USART)にあるように、38Khzのキャリア波有り時間とキャリア波無し時間を共にシリアル通信のスピードにあわせてあげると、受信側はあたかもシリアルデータとして扱えることがわかる。
実にかしこいやり方だ。
温度データについても同サイトのPIC ■簡易湿度計(LM74)で使っている温度センサーモジュールを使えばオペアンプなどの増幅も考えなくていいし精度もいい。
このサイトはハードウェア/ソフトウェア共に勉強になるわい。
できるだけ楽にシンプルに言うコンセプトがいい。
最近更新されてないみたいだから、皆の者もアクセスできるうちにファイルに落としておいた方が良いかもしれぬ。
HWもSOFTももろぱくりだが(汗)プログラム「thermo_meter_lm74Ver2.c」をダウンロード と回路図も公開致す。
なお、このシステムをぱくる場合は以下の点に気をつけてほしいわけだ。
・プログラムはMikroC Proでのみコンパイル可
・温度センサーを使用しない場合、#define DMYDATA 値を1にしてbuildする(テストデータの通信)
・温度センサーを計測するプログラムを有効にするとサイズが47%になり、DemoLimit寸前
  浮動少数演算と符号付演算があるのが大きい
・受信側でシリアル関数を使用するとRB5が汎用ピンで使用できない
・通信データ量が少ないことが前提、1200bpsを早めた場合の検証は未
Prj12

« 二足歩行の恐怖 兄弟仁義編 | トップページ | 奇妙なLCDの発掘 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 猿でもわかる無線システム その1:

« 二足歩行の恐怖 兄弟仁義編 | トップページ | 奇妙なLCDの発掘 »