logo
Published on

Raspberry Piに「TMP36」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Raspberry Piはコンパクトかつパワフルなシングルボードコンピュータであり、様々なセンサーやデバイスと組み合わせて利用することができます。この記事では、「TMP36」温度センサーをRaspberry Piに接続し、温度の取得と制御方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. TMP36温度センサーの概要

TMP36は、アナログ出力型の温度センサーで、非常に広い動作温度範囲を持ち、精度も高い特長があります。このセンサーは、3つのピンから成り立っています。

  • VCC(赤色): 3.3Vまたは5Vの電源
  • GND(茶色): 接地
  • OUT(黄色): アナログ温度データの出力

2. TMP36の接続

TMP36をRaspberry Piに接続するためには、それぞれのピンを対応するGPIOピンに接続します。例えば、VCCを3.3Vまたは5Vに、GNDをGNDに、OUTをRaspberry Piの任意のアナログ入力ピンに接続します。

3. Pythonコードの作成

Raspberry PiではPythonを使ってTMP36を制御することが一般的です。以下は、TMP36が接続されたアナログピンが0番だと仮定した例です。

import RPi.GPIO as GPIO
import time

# アナログピンの指定
TMP36_PIN = 0

def read_temp():
    # ADCの初期化
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(TMP36_PIN, GPIO.IN)

    # アナログデータの読み取り
    adc_value = GPIO.input(TMP36_PIN)

    # アナログデータを温度に変換
    voltage = adc_value * 3.3 / 1024
    temperature = (voltage - 0.5) * 100

    return round(temperature, 2)

try:
    while True:
        temp = read_temp()
        print(f"現在の温度: {temp} ℃")
        time.sleep(1)

except KeyboardInterrupt:
    print("プログラムを終了します.")

finally:
    GPIO.cleanup()

このPythonコードは、TMP36からアナログデータを取得し、それを温度に変換して1秒ごとに表示する簡単な例です。

4. コードの実行と確認

コードを保存し、Raspberry Pi上で実行すると、TMP36から得られる温度がリアルタイムで表示されます。これにより、Raspberry Piを使って簡単な温度モニタリングシステムを構築することができます。

TMP36を利用した温度データの取得は、IoTプロジェクトやセンサーネットワークの一部として幅広く活用されています。