この記事のリンク先には広告が含まれています

Raspberry Pi 4 熱電対測定 メモ2

導入の経緯
  • 燻製を作りたくなりました から Raspberry Pi 4 を導入する流れの続き
  • 本稿では、Raspberry Piで熱電対で測定できたので、グラフで表示するところまで記載

リアルタイムでグラフに表示する

前回のスクリプトが実行できている前提です

  • 必要ライブラリのインストール(初回のみ)

    以下をLXTerminalに打ち込む

  • Matplotlibを実行するのに必要なライブラリ

    sudo apt install libatlas-base-dev
  • Matplotlib のインストール(グラフ表示ライブラリ)

    sudo apt-get install python3-matplotlib
  • スクリプトを以下の通り修正する

    ファイル名を、testenvフォルダ内の、 max31855_test_g.py とした

    • 単純に、測定結果をリアルタイムに表示します
    • 最大プロット数は、100個としました
    • 約2秒間隔で取得/プロットします
    • Ctrl+Cで終了します
  • # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
    # SPDX-License-Identifier: MIT
    
    import time
    import board
    import digitalio
    import adafruit_max31855
    
    import datetime
    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    
    spi = board.SPI()
    cs = digitalio.DigitalInOut(board.D5)
    
    max31855 = adafruit_max31855.MAX31855(spi, cs)
    
    #graph 
    max_plot_number = 100#max plot
    x = []#date time
    y = []#tempC 
    ax = plt.subplot()#plot
    
    try:
        while True:
    
            tempC = max31855.temperature
                    
            x.append(datetime.datetime.now())# x add now date time
            y.append(tempC)#add temp
    
            ax.set_ylabel("[deg C]")# label
            plt.setp(ax.get_xticklabels(),rotation=90)#label rot 90deg 
            plt.subplots_adjust(bottom=0.2)#shift plot area
            ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))#x label format
            
            ax.plot(x[-max_plot_number:],y[-max_plot_number:],'-',color = "red",label=  "temperature")#add
           
            ax.legend(bbox_to_anchor = (0.5,1.15))#hanrei 
            
            
            print("Temperature: {} C ".format(tempC))      
            plt.pause(2)#wait 2sec
            ax.clear()#init
    
    
    #        time.sleep(2.0)
    
    except KeyboardInterrupt:# key - end 
        pass
    
  • 実行について

    LXTerminal で以下を実行する

  • 仮想環境構築
    cd testenv
    python -m venv .env --system-site-packages
    source .env/bin/activate
  • 実行
    python3 max31855_g.py
  • 結果

    リアルタイムに描画できました

コメント