コピペ用 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 );
}