- Published on
Raspberry Piに「PT1000」を接続し制御する
1407文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは多様な入出力機能を備えたシングルボードコンピュータであり、センサーやアクチュエーターを制御するのに適しています。この記事では、温度センサー「PT1000」をRaspberry Piに接続し、温度を制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. PT1000温度センサーの概要
PT1000は、抵抗が温度に応じて変化するプラチナ抵抗温度センサーの一種です。温度に応じた抵抗の変化を計測することで、周囲の温度を精密に検知することができます。Raspberry Piに接続して使用する際は、アナログ信号をデジタル信号に変換する方法が必要です。
2. PT1000の接続
PT1000の接続には、アナログデジタル変換器(ADC)が必要です。Raspberry PiのGPIOピンに接続する前に、ADCを介してアナログ信号をデジタル信号に変換します。一般的なADCとしては「MCP3008」が利用されます。
以下は、PT1000とMCP3008を接続する例です。
PT1000接続:
- VCC: 3.3V
- GND: GND
- Signal: MCP3008のアナログ入力ピン(例:CH0)
MCP3008接続:
- VDD: 3.3V
- VREF: 3.3V
- AGND: GND
- CLK: GPIO11
- DOUT: GPIO9
- DIN: GPIO10
- CS/SHDN: GPIO8
3. Raspberry Piコードの作成
Raspberry Pi上でPythonを使用してPT1000を制御するためのサンプルコードを以下に示します。
import spidev
import time
# SPIデバイスの設定
spi = spidev.SpiDev()
spi.open(0, 0) # bus, device
def read_adc(channel):
adc = spi.xfer2([1, (8 + channel) << 4, 0])
data = ((adc[1] & 3) << 8) + adc[2]
return data
def convert_to_temperature(adc_value):
# PT1000の抵抗-温度変換式に基づいて温度を計算
resistance = (1023.0 / adc_value - 1) * 1000
temperature = (resistance - 1000) / 3.85
return round(temperature, 2)
try:
while True:
adc_value = read_adc(0) # CH0にPT1000を接続した場合
temperature = convert_to_temperature(adc_value)
print(f"温度: {temperature} ℃")
time.sleep(1)
except KeyboardInterrupt:
spi.close()
このPythonコードは、SPI経由でMCP3008からアナログデータを取得し、それをPT1000の温度に変換して表示します。1秒ごとに温度が更新されます。
4. コードの実行と動作確認
Raspberry Pi上でPythonスクリプトを実行し、PT1000からの温度データが正しく読み取られ、表示されることを確認します。これでRaspberry Pi上でPT1000を接続し、温度を制御する基本的な手順が完了しました。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚