Pythonコピペプログラミング #002 Arduinoからセンサ値読み取り

コピペ用 code は以下の通り。 既存のソースコードに入れる場合には変数名が重複しないように注意すること。

Python:

# -*- coding: utf-8 -*-
"""
    author: serpent
    creation datetime: 2021-12-18 18:08:13.375911
    filename: save_serial.py
    function: Arduinoからセンサ値読み取りでcsvファイル
    explanation: 
        1   BAUDRATE_ARDUINO にarduinoのボーレート設定を代入
        2   PORT_ARDUINO にarduinoの接続ポートを設定
        3   同一階層のcsvファイル(test.csv)に吐き出し
"""

# ------------------------------------------------------------------- #
# --- 設定 ---------------------------------------------------------- #
# ------------------------------------------------------------------- #
import serial
import datetime
# ---アプリ実行時間計測用--------------------------------------------- #
time_start = datetime.datetime.now()
print(f"start:{time_start}")
# ---機能上のメイン処理----------------------------------------------- #

#define
BAUDRATE_ARDUINO = 115200   # arduinoのボーレート設定
PORT_ARDUINO = r"COM3"      # arduinoの接続ポート
name_path_result_01 = 'test.csv'

ser = serial.Serial(PORT_ARDUINO,BAUDRATE_ARDUINO) #ポートの情報を記入

while(1):
    value = int(ser.readline().decode('utf-8').rstrip('\n'))
    date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    print(date,value)
    with open('test.csv', 'a') as f:
        print('{},{}'.format(date,value),file=f)
# - - - - - - - - - - - - - - - - - - - - - - - - - -

# ------------------------------------------------------------------- #
time_end = datetime.datetime.now()
print(f"start:{time_start}")
print(f"running_time:{time_end - time_start}")
print('done!')

# end_of_file: this line is 44th

Arduino:

const int VOL_PIN = A0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin( 115200 );
}

void loop() {
  // put your main code here, to run repeatedly:
    int value;
    float volt;

    value = analogRead( VOL_PIN );

    volt = value * 5.0 / 1023.0;

    Serial.print( "Value: " );
    Serial.print( value );
    Serial.print( "  Volt: " );
    Serial.println( volt );


    delay( 500 );
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

トップに戻る