技術解説 2026年7月10日

ラズパイでK型熱電対の温度を読み取る

東京デバイセズのUSB接続の熱電対温度センサ「TDSN7400」を使えば、K型熱電対プローブの温度をRaspberry Piから簡単に読み取れます。今回はRaspberry Piを使って、ツールの準備からPythonで温度を取り出すところまでをわかりやすく解説します。

1. TDSN7400ってどんなセンサー?

TDSN7400はUSBでつなげるK型熱電対用の温度センサです。熱電対プローブを接続すると、Raspberry Piからコマンドで温度を読み取れます。

  • 対応熱電対:K型
  • 測定レンジ:-40~1,200℃
  • 最小測定頻度:100ミリ秒
  • USB接続:USB mini-B

測定レンジはセンサ本体の性能です。実際に測れる温度は、接続する熱電対プローブの耐熱温度によって変わります。

2. はじめる前に準備するもの

アイテム 説明
Raspberry Pi(OSインストール済み) Raspberry Pi OSが入っているもの
TDSN7400 熱電対温度センサ 付属のUSBケーブルでRaspberry Piに接続します
TDAC-THC1 TDSN7400対応 K型熱電対プローブ 温度を測るためのプローブです
インターネット環境 ツールのインストールやソースコードの取得で使います
Python3 Raspberry Pi OSには通常最初から入っています

3. 必要なツールをインストールしよう

Raspberry Pi のソフトをアップデートしてから、必要な開発ツールやライブラリをインストールします。

 sudo apt update && sudo apt upgrade -y
 sudo apt install -y git build-essential libusb-dev python3
  • git はソースコードのダウンロード用です。
  • build-essential はソースコードをビルドするためのツールです。
  • libusb-dev はUSB接続デバイスを扱うためのライブラリです。

4. USBの権限を設定する

一般ユーザーでもTDSN7400にアクセスできるように、USBの権限を設定します。

下記のコマンドで設定ファイルを作ります。32ee1780 はTDSN7400のベンダーIDとプロダクトIDです。

 sudo tee /etc/udev/rules.d/99-usb-tokyodevices.rules <<EOF
 SUBSYSTEM=="usb", ATTR{idVendor}=="32ee", ATTR{idProduct}=="1780", MODE="0666"
 EOF

変更を反映します。

 sudo udevadm control --reload-rules
 sudo udevadm trigger

設定後、TDSN7400を接続し直すと認識が安定します。

5. TD-USBツールを準備しよう

センサを操作するには、「TD-USB」という公式のコマンドラインツールを使います。GitHubからダウンロードしてビルドします。

 git clone https://github.com/tokyodevices/td-usb.git
 cd td-usb
 make

ちゃんと動くか試してみましょう。

 ./td-usb
 # → バージョン情報が表示されれば成功!

TDSN7400から温度を1回読み取ってみます。

 ./td-usb tdsn7400 get
 24.875000

数値が1行表示されれば成功です。この数値は摂氏の温度です。

6. Pythonで温度を取得する

次のPythonスクリプトを書いて、10秒おきに温度を取ってみます。td-usbフォルダの中に read_tdsn7400.py というファイルを作成してください。

 #!/usr/bin/env python3
 import subprocess
 import time

 CMD = ['./td-usb', 'tdsn7400', 'get']

 def read_temperature():
     result = subprocess.run(CMD, capture_output=True, text=True)
     if result.returncode != 0:
         print("エラーが発生しました:", result.stderr.strip())
         return

     temp_text = result.stdout.strip()
     try:
         temp = float(temp_text)
     except ValueError:
         print("温度を読み取れませんでした:", temp_text)
         return

     print(f"温度: {temp:.2f} ℃")

 if __name__ == "__main__":
     print("TDSN7400の測定を開始します。終了するにはCtrl+Cを押してください。")
     try:
         while True:
             read_temperature()
             time.sleep(10)
     except KeyboardInterrupt:
         print("\n測定を終了しました。")

7. 実行してみよう

td-usbフォルダの中で、次のコマンドを実行します。

 python3 read_tdsn7400.py

実行すると、10秒おきに温度が表示されます。

 TDSN7400の測定を開始します。終了するにはCtrl+Cを押してください。
 温度: 24.88 ℃
 温度: 24.94 ℃
 温度: 25.06 ℃

測定を止めるときは、CtrlキーとCキーを押してください。

8. おわりに

この記事では、Raspberry PiからTDSN7400を使ってK型熱電対プローブの温度を読み取る方法を紹介しました。コマンドで温度が取れるようになると、Pythonのプログラムに組み込んで、実験や装置の状態監視にも使いやすくなります。

高温を測る場合は、使用する熱電対プローブの耐熱温度を必ず確認してから使ってください。

この記事に関連する商品

この記事をシェア

最近の技術解説