Raspberry Pi 2でDS18B20温度センサー読み取りガイド
ようこそ!本ガイドでは、DS18B20デジタル温度センサーをRaspberry Pi 2に接続し、室温を精度良く読み取る方法を解説します。
必要なもの
- DS18B20防水センサー(オンライン購入)
- 4.7kΩプルアップ抵抗(黄-紫-赤-金)
- ジャンパーワイヤー
- Raspberry Pi 2(GPIO搭載全モデル)
ステップ1 – センサー配線
DS18B20は1-Wireインターフェース使用。以下接続:
- 赤線(VDD) → Pi 3.3Vレール
- 黒線(GND) → Pi グランドレール
- 黄線(DQ) → GPIO 4(物理ピン7)
3.3VラインとDQライン間に4.7kΩ抵抗配置しプルアップ動作。抵抗「3.3V側」が赤(VDD)側に接触するよう注意。
ステップ2 – 1-Wireインターフェース有効化
1. ブート設定ファイル編集:
sudo nano /boot/config.txt
2. 以下行追加またはアンコメント:
dtoverlay=w1-gpio
3. 保存・終了、再起動:
sudo reboot
ステップ3 – カーネルモジュールロード
Pi再起動後、1-Wireドライバー読み込み:
sudo modprobe w1-gpio
sudo modprobe w1_therm
ステップ4 – センサー検出確認
デバイスツリーでセンサーID確認:
ls -l /sys/bus/w1/devices/
28- で始まるフォルダー表示、例:28-000006dfa76c。
ステップ5 – 温度読み取り
各センサーは w1_slave 経由でデータ公開。以下で表示:
cat /sys/bus/w1/devices/28-000006dfa76c/w1_slave
出力2行。2行目末尾 t=XXXXX、XXXXは千分の1度セ氏。例:t=23450 = 23.450°C。
オプション – スクリプトで値パース
生読み取り値を°C変換するPythonスニペット:
#!/usr/bin/env python3
import time, glob
sensor = glob.glob('/sys/bus/w1/devices/28-*/w1_slave')[0]
while True:
with open(sensor, 'r') as f:
lines = f.readlines()
if lines[0].strip().endswith('YES'):
temp_raw = lines[1].split('t=')[1]
temp_c = float(temp_raw) / 1000.0
print(f"Temperature: {temp_c:.3f} °C")
else:
print("Reading error")
time.sleep(2)
これを temp_read.py 保存、実行権限付与、実行でライブ温度更新取得。
以上手順で、Raspberry Pi 2上で信頼性高い温度モニター稼働可能。
更なる洞察は Adafruit DS18B20ガイド 参照。
製造プロセス
- QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
- 5ドルI2C温度センサーで作るRaspberry Pi温度ロガー
- Python、SQLite、LabVIEWによるRaspberry Pi高精度温度プロファイリング
- 複数DS18B20 1-WireセンサーをRaspberry Pi接続で精密温度監視
- Raspberry Pi温度・湿度ネットワークモニター – DIYセットアップガイド
- Raspberry PiとDS18B20によるプロフェッショナルな温度監視
- Raspberry PiでMaxim 1-WireセンサーとDS2482 I2Cブリッジを用いた温度測定
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- EzTempでRaspberry Pi上の温度・湿度をシームレスに監視
- Raspberry Piでサーバークローゼットの温度を正確に監視
- Raspberry PiでBMP085:I2C経由の高精度温度・気圧測定