0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi + DS18B20で水温測定

Posted at

はじめに

熱帯魚を飼っているのだが夏場の水温がどれくらい上がっているか気になっていたので、せっかくなら温度センサーとラズベリーパイを使って温度管理システムのきっかけとなるようなものを作ろうと思った。

水温センサーは、安価で実装事例の多い、DS18B20を使用することにした。

水温センサーは、Amazonで購入できる。
https://www.amazon.co.jp/gp/product/B07PB9VGQ4/ref=ppx_yo_dt_bz_asin_title_o02_s00?ie=UTF8&psc=1

開発環境

  • macOS Ventura13.4
  • Python 3.11.2
  • Raspberry Pi OS (64-bit)

準備するもの

  • Raspberry Pi4 ModelB 4GB
  • 水温センサー DS18B20
  • ジャンパーワイヤー
  • ブレッドボード
  • はんだごて

ラズベリーパイの設定

OSのセットアップは完了しているものとします。

セットアップ方法は、他記事などで調べてください。

1-Wire通信を有効にする

raspi-configコマンドでメニューを開く

sudo raspi-config

「3 Interface Options」→「I7 1-Wire」→「Yes」の順に選択する

image.png

image_2.png

image_3.png

boot/config.txtに以下を設定

dtoverlay=w1-gpio,pullup=on

モジュールのインストール

python実行ファイルを配置する位置に移動します。

cd /home/ds18b20/ 

Pythonに関するモジュールをインストール

仮想環境の作成

python -m venv env

仮想環境へアクティベート

source env/bin/activate

ライブラリのインストール

pip install w1thermsensor

水温センサー(DS18B20)の準備

配線を半田付けする

水温センサーは購入時のままだと、配線が剥き出しでブレッドボードに結線できないので、ジャンパー線3本それぞれにハンダ付けして使えるようにした。

image_5.jpg

ラズベリーパイに配線する

DS18B20の配線は以下のように接続します。

  • 赤 (5V):ラズベリーパイの5V [1番ピン] へ接続
  • 黒 (GND):ラズベリーパイのGND [39番ピン] へ接続
  • 黄 (信号線):ラズベリーパイの[7番ピン]へ接続

ブレッドボード上で黄色の信号線ラインと5Vラインを4.7kの抵抗で接続します。

配線図

image_7.jpg

配線後の実物が以下。

image_4.jpg

プログラムの作成

ラズベリーパイ上で実行するpythonファイルは以下。

from w1thermsensor import W1ThermSensor
import time

def main():
    ds18b20_sensor = W1ThermSensor()

    while True:
        try:
            temperature = ds18b20_sensor.get_temperature()
            print("{0:.3f} C".format(temperature))
            time.sleep(3)
        except Exception as e:
            print(e)
            break
    
    return

if __name__ == "__main__":
    main()

プログラムの実行

(env) $ python ds18b20.py
28.312 C
28.375 C

3秒おきに温度が表示されます。

終わりに

水温を測定してみたところ、27~28度と特に熱帯魚にとって冷却が必要な水温ではなかったので、一安心。
逆に冬は水温が下がり過ぎてしまいそうなので、ヒーターを付けて温度調整する必要がありそう。
あとは、温度監視しやすいようにWebアプリ化して常時監視できるようにもしていきたい。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?