【Python/Arduino】気温をパソコンでリアルタイム表示

この記事では、Arduinoマイコンで計測した温度をPythonを用いてPCで受け取って表示する方法をソースコード付きで解説します。

気温をリアルタイム表示

Arduinoマイコンと温度センサ(LM35DZ)を用いて気温(温度)を計測し、その結果をシリアル通信でPCに転送してPythonでリアルタイム表示してみました。

【関連記事】
Arduino入門 サンプル集
Python入門 サンプル集

回路構成(配線図)

Arduinoと電子部品の構成・配線は下記の通りです。

【電子部品】
・Arduino UNO (1個)
・温度センサ(LM35DZ)
・ジャンプワイヤー(数本)

ソースコード

サンプルプログラムのソースコードです。
【Arduino側】

float a_in;          // アナログ入力値(0〜203)
float temp_c = 0;  // 摂氏値( ℃ )

void setup(){
  Serial.begin(9600);  // シリアル通信速度
}

void loop(){
  // アナログピンから計測値を取得(0〜203)
  a_in = analogRead(0);
  // 入力値を摂氏に換算
  temp_c = ((5 * a_in) / 1024) * 100;
  // 改行しながら出力
  Serial.println( temp_c );
  // 1000ms待機
  delay(1000);
}

【Python(パソコン側)】

# -*- coding: utf-8 -*-
import serial
import datetime

def main():
    
    i = 0
    ser = serial.Serial("COM5")  # Arduinoが接続されているコムポートを指定
    while(i != 10):
        todaydetail = datetime.datetime.today()
        line = ser.readline()   # 行終端まで読み込む
        line = line.rstrip()    # 行終端コード削除
        print(todaydetail.strftime("%Y/%m/%d %H:%M:%S") + " > " + line + "[C]")
        i+=1

    ser.close()
    print("End")

if __name__ == '__main__':
    main()

実行結果

サンプルプログラムの実行結果です。

【おすすめ記事】
Arduino入門 サンプル集
Python入門 サンプル集

Arduino
技術雑記

コメント

タイトルとURLをコピーしました