前回はXBee(親機:C)から指示を送り、XBee(子機:R)のLEDを点灯/消灯させました。
具体的にはXBee(C)がXBee(R)にむけて”18pinの出力をhighにしなさい”という指令をAPIフレームを用いてXBee(R)についている18pinのLEDを点灯しました。
今回もLEDを点灯させますが、ちょっとだけ意味合いが違います。
XBee(C)から数値情報をXBee(R)に送ります。XBee(R)に付けてあるマイコン(ATmega168)もこの数値を受け取ります。
その数値情報をマイコン側のLCDに表示させたり、マイコン側のLEDを点灯させます。
それでは、いってみましょう。
実験の流れ
このような流れです。
①XBee(C)からAPIフレームを使用して”数値情報”をXBee(R)に送る。
②受け取った情報をXBee(R)からマイコンに送る
③数値情報を受け取ったマイコン側のPORTBのLED点灯&LCDに数値情報を表示
となります。
XBee間の数値情報のやり取りによりマイコンに仕事をさせるということです。
実験回路
全体図です。
個々に見ていきましょう。
XBee(C)側は写真の通り特に接続しているものはありません。
XBee(R)-マイコン間の接続はこのようになっています。
マイコン-LCD間の回路です。
以上になります。
XCTUの設定
親機側、子機側の設定をそれぞれ示します。初期設定時と変更した部分のみ赤枠に示します。興味がない方はこの項目は飛ばしてください。
親機側
IDは子機側と同じであればokです。親機なので、CEはEnableにしてください。
下図のDH,DLは子機側のadressをいれてください。
下図のBDは私のマイコンは2400に設定しているので、そちらに合わせています。
また、APはAPI enable with escapingに設定してください。
親機はおしまいです。
子機側
IDは子機側と同じであればokです。
下図のDH,DLは親機側のadressをいれてください。
下図のBDは私のマイコンは2400に設定しているので、そちらに合わせています。
また、APはAPI enable with escapingに設定してください。
子機の設定は以上です。
親機側/子機側の設定時のpointはAPはAPI enable with escapingとすることです。
このようにしないと今回の実験はうまくいきませんでした。
親機側のAPIフレームの設定
APIフレームの設定は以下のようにしました。赤枠がポイント部分です。
少し説明させてください。
64-bit dest adressについては000000000000FFFFと設定することで全体に送信することができるようになります。
簡単操作のため、このように設定しました。
RF dataの部分に数値情報をいれます。
以上です。
実験
それでは実験です。時間は4分くらいです。
いかがでしたか!?受け取った数値情報をLCDに表示&マイコン側のPORTBのLEDも点灯させることができました。
もっとすごいことをするためには、XBeeのもっているマイコンの機能では限界があると思っています。
XBeeは数値情報の送受信はできても、その数値をつかって何かをさせるのは難しいでしょう。
そうなるとATmega168などのマイコンの力が必要になります。
そのためにはXBee(C)から数値情報をXBee(R)に送り、XBee(R)からATmega168にも送る必要があります。
そのための実験が今回の記事になります。
さあ、この数値情報をノリユキは今後何に使うのでしょうか?
本日はここまでです、毎度ありがとうございます。