0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIを用いてK型熱電対と1-Wire通信を用いた温度計測システムの実装

Posted at

K型熱電対と1-Wire通信を用いた温度計測システムの実装

概要

本実装は、MAX31850K熱電対デジタル変換モジュールとK型熱電対を使用した温度計測システムです。Raspberry PiのGPIO5を使用し、1-Wire通信プロトコルで温度データを取得します。

システム構成

ハードウェア

  • Raspberry Pi4 4GB
  • MAX31850K熱電対アンプモジュール(Grove
  • K型熱電対(Amazonより
  • プルアップ抵抗 4.7kΩ (今回は未使用。今後温度安定性など事情で必要?)

配線などは飛ばします。。

主な機能

継続的な温度モニタリング
自動的なGPIOプルアップ設定
エラーハンドリングと再試行機能
詳細なログ記録
安全な終了処理

# 1-Wireドライバの有効化
sudo modprobe w1-gpio
sudo modprobe w1-therm

コード仕様

主要なクラス構成

  1. ThermocoupleMonitor クラス
    温度センサーの制御と監視を行う中核クラス

GPIOの初期化と設定
センサーの検出と初期化
継続的な温度データの取得
CSVファイルへのデータ記録
エラー処理とログ記録

  1. TemperatureGUI クラス
    リアルタイムデータ可視化を担当するクラス

Matplotlibを使用したグラフ表示
10分間の温度推移表示
最新温度の大きな数字表示
グラフのスクリーンショット保存機能

  1. カスタム例外クラス

NoSensorFoundError: センサー未検出時の例外
SensorNotReadyError: センサー準備失敗時の例外

主な機能

リアルタイム温度モニタリング(1秒間隔)
データのCSV保存(日時、温度)
ログローテーション機能付きのログ記録
グラフィカルなリアルタイム表示
エラー時の自動リトライ機能
システム要件の自動チェック

使用技術

Python 3.x
Raspberry Pi GPIO
1-Wire通信プロトコル
マルチスレッディング
Matplotlib(グラフ描画)
CSV/ログファイル処理

動作環境

Raspberry Pi
Python 3.x
必要なPythonパッケージ: matplotlib, logging

特徴的な点として、このシステムは産業用途でも使用できる堅牢性を備えており、以下の機能を実装しています:

エラー時の自動リカバリー
詳細なログ記録
データの永続化
リアルタイムモニタリング

結果画像

image.png

所感

今回も生成AIを用いて、作成/完成させた。
最初は、I2C ? 1-wire?と不明なことが多々あったが
最終的にpythonのスクリプトで構成できた。

今後も生成AIを用いた開発に鋭意取り組んでいく。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?