• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / XBee / XBeeモジュールでセンサを読み取る:ハードウェア作製編

XBeeモジュールでセンサを読み取る:ハードウェア作製編

2021年5月10日 by STEMSHIP コメントを書く

前回は、センサネットワークをどのようにして形成するか、ノードの種類、センサネットワーク上での役割について触れました。このセクションでは、XBeeモジュールを使って実際にセンサのデータを読み取る方法を紹介します。

XBeeモジュールでセンサを読み取る

XBeeモジュールでセンサを読み取るには、

  • XBeeモジュールを設定してセンサをサンプリングする (XBeeハードウェアオプション)
  • MicroPythonスクリプトを実行する(MicroPythonオプション)

という、2種類の方法があります。

大きな違いとして、MicroPythonオプションではデータを送信する前にセンサデータに対して、エラー処理やデータの変換といった処理を行うことができるという点が挙げられます。送信前にデータに手を加える必要がある場合や、XBeeモジュールに接続した他のデバイスを制御したい場合等に、MicroPythonオプションが有利です。

例えば、「センサからデータを読み取るたびに点灯するLED」を作ることができます。応用すると、RFIDリーダにIDカードをかざすとドアのロックが解除される、カードキーのようなものが作れるようになります。この場合、MicroPythonを使ってセンサがデータを読み取ったことをLEDでユーザーに知らせたり、ロックの開錠・施錠動作をさせたりできます。

逆に、ハードウェアオプションではセンサデータを読み取ったままの状態でネットワークに送信します。送信前にデータを加工したい場合には、MicroPythonオプションを使用します。

どちらの場合も、センサはXBeeモジュールのIOピンに直接接続して使用します。

センサをXBeeモジュールに接続してデータを読み取り、センサネットワーク上の他のXBeeモジュールに送信します。アドレスを指定して特定のモジュールにだけデータを送信することも、すべてのモジュールにデータを送信することも可能です。

続いて、ハードウェアオプションとMicroPythonオプションを用いた例として、簡単な環境センサを構築してみましょう。

XBee環境センサの作成

この環境センサノードは、XBeeモジュールのアナログ入力ピンに接続したアナログ温度センサ(TMP36)を接続しています。

XBeeモジュールのアナログデジタル変換器(ADC)を使って、温度を0~1023 の範囲の数値に変換して読み取ります。

ここでは動作確認のために短い時間間隔(サンプリングレート)でデータを送信するよう設定します。実際使用するに当たっては電源の節約のために、サンプリングレートを遅くするか、XBeeモジュールのスリープを使用して、データ送信→スリープ→データ送信→…と繰り返すケースが多くなります。

XBeeモジュールには供給されている電力の監視を行う便利な機能があり、データパケットの一部にXBeeモジュールに供給されている電源電圧を送信できます。特にバッテリーや電池で駆動させる場合に、ユーザーに交換や充電の時期が迫っていることを知らせる、といった応用ができます。ご家庭の火災報知器やスマートフォンなどに、同じように電池の交換や充電を促す機能がありますね。

ハードウェアの作製

ハードウェアを簡単に構築できるよう、センサノードはブレッドボード上に組み立てます。ブレッドボードを使用することで実験が容易になりますし、回路が完成したらブレッドボード型のユニバーサル基板上にそのまま移植して使い続けられます。

XBeeセンサノードは、ブレッドボード上に、ブレッドボード用電源、温度センサTMP36、セラミックコンデンサ0.1uFを使用して作製します。

この他、もちろんXBeeモジュールと、XBee Explorerボード、Explorerボードをブレッドボードに設置するための2.54mmピッチのピンヘッダが必要です。

図1にはSparkFunのレギュレーター付きExplorerボードを示します。少し高価なボードですが、レギュレーター回路が内蔵されているため、誤って5Vの電源につないでしまってもXBeeモジュールを壊す心配がありません。

当然ながら、XBeeモジュールは壊してしまうと何の役にも立たなくなってしまうので、こういった保護回路のついたExplorerボードは、多少高くても利用する価値はあるといえるでしょう。

図1 SparkFunのXBee Explorerボード(レギュレーター回路付き)

他にも各社こうしたExplorerボードを発売していますが、多くはブレッドボード用のヘッダーピンがはんだ付けされていません。各自はんだ付けして使用してください。

各部品を図2のようにブレッドボード上に回路を組み立てます。XBeeモジュールはまだ差し込まないでおきます。

ブレッドボードの電源モジュールは3.3Vを出力するよう設定します。

図2 XBee温度センサノード

使用するExplorerボードによって、XBeeモジュールのピンとブレッドボードのピンとの対応が異なっている場合があるので、説明書と合わせてよく確認してください。

XBeeモジュールは電源の他に、17ピン(アナログ入力3、DIO3)に、温度センサTMP36からの信号線を接続します。

温度センサTMP36は平らな面を手前に置いた時に左から1、2、3ピンと名前が付いています。2ピンをXBeeモジュール17ピン、1ピンを電源3.3V、3ピンをGNDにそれぞれ接続します。

コンデンサは温度センサTMP36の1ピンと3ピンの間に取り付けます。向きはどちら向きでも構いません。

以上でハードウェアの組み立ては完了しました。次回は、最初に説明した2つの方法でXBeeモジュールに接続したセンサを読み取る方法を見ていきましょう。


ブレッドボードあれこれ

ブレッドボードを使った実験が一通り終わり、ある程度長い期間センサノードを使用したい場合には、ブレッドボードからユニバーサル基板に回路を移植した方が良いでしょう。ブレッドボードを長期間使用すると電線や部品が抜けてしまったり、バネ端子の接触が悪くなって動作不良を起こしたりすることがあります。ブレッドボードと同じ形状・同じ配線パターンのユニバーサル基板という物も市販されているので、活用すると便利です

また、本文中ではブレッドボード用の電源モジュールを使用しましたが、特にユニバーサル基板に移植する場合やたくさん使いたい場合には、この部分を自作することでより安価にできます。使用する電子部品は3.3Vの3端子レギュレーター、コンデンサ1uFと10uF、端子台などで、下図のようにブレッドボード上に組み立てます。

Filed Under: XBee

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2023年3月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 10月    

Copyright © 2023 · STEMSHIP.COM