はじめての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)です。

前へ

ESP32入門 通信機能が標準搭載されたマイコン・ボード (10) 測定した温度をWebに表示②

次へ

はじめてのMKR ZERO (9) アナログ温度センサLM35DZを利用