はじめてのModbus (3) 温湿度
ArduinoModbusライブラリをインストールすると利用できるModbusRTUTemperatureSensorを動かす温湿度センサを入手します。検索していると、「 Winners Modbus RS485 Temperature and Humidity Transmitter Sensor High Prec」とか「Modbus RS485 Temperature and Humidity Transmitter Sensor High Precision Monitori」などの名称のようです。2千円前後で入手できます。
●温湿度センサのおもなスペック
- 動作電圧 9~36V
- 温湿度測定範囲 -20~+60℃、0~80%RH
- 確度 温度±0.3℃(25℃)、湿度±3%RH(25℃)
<Modbus>
- 出力 Modbus/RTU
- 設定ID範囲 1~255、デフォルト1
- シリアル通信条件 9600、8データ、1ストップ・ビット、パリティなし
●接続
センサからは4本のリード線が出ています。多くの製品は、ケーブルの色が統一されています。ケースの横に小さなマイナス・ドライバをあて、少しねじるとふたが外れます。プリント基板の上にVcc、GND、A、Bと信号名が書かれています。これに従って、MKRZEROの上にArduino MKR 485 Shieldを挿しこんだ状態で、MKR 485の緑色の端子と接続します。このシールドの絶縁電源は約5Vなので、別途12Vぐらいの電源を用意しました。
温湿度センサ | MKR485 | 別電源 |
---|---|---|
Vcc(黄色) | - | 12V |
GND(黒色) | - | GND |
A(赤色) | Y | |
B(緑色) | Z |
●スケッチ
サンプルのModbusRTUTemperatureSensorをコンパイル、実行します。
実行中の様子です。
波形です。赤色が送信(14)、青色が受信(13)です。