Python newbie здесь.
В настоящее время я делаю детектор сигналов сердцебиения с Arduino для моего школьного проекта.
Я хочу нарисовать график плоттера с отправленным мною значением сигналаиз Arduino в Python, но я до сих пор не уверен, какой именно способ сделать правильный массив и построить его на Python.
Мой arduino связан с модулем Bluetooth, и он непрерывно отправляет двойное целое значение около 30 ~40 раз в секунду.
В Python я хочу написать скрипт, который получит 20 секунд данных, сохранит их в файле и построит график.
Я построил свой код на основемои базовые знания C.
import serial, sys
from time import sleep
import time
import matplotlib.pyplot as plt
def read_BLE( ser ):
msg = ""
if( ser.in_waiting > 0 ):
msg = ser.readline( ser.in_waiting ).decode('utf-8')
return msg
with serial.Serial(port='COM7', baudrate=9600, timeout=1) as ser:
while(True) :
max_time = int(input('20')) #limit time : 20seconds
start_time = time.time() # remember when we started
while (time.time() - start_time) < max_time:
values = []
currenttime = []
i,j=0
currenttime[i] = (time.time() - start_time)
values[j] = read_BLE( ser )
i += 1
j += 1
plt.plot(currenttime, values)