Arduino Python 3 Читать последовательный порт

Я получаю показания температуры от моего Arduino. Arduino также контролирует 2 переключателя и проходит через тепловые циклы. Что я хочу сделать, это записать температуру для каждого цикла. Компьютер должен знать, в каком "состоянии" находится arduino, т. Е. Когда цикл заканчивается, чтобы он мог генерировать новую графику и сохранять старые данные. Я подумал о том, чтобы напечатать в сериале такой массив: [температура, состояние] Дело в том, что я не считаю его элегантным. Я хотел бы знать, будет ли триггер, исходящий от Arduino, который, например, прекратит работу (печатает данные на графике) и произведет новый.

while True: {
  produce new graph
  while arduinoTrigger==false:{
    plot data
  }
}

1 ответ

Решение

Вы можете сделать это, отправив определенную строку из Arduino, а с другой стороны, проверить, соответствует ли полученная строка, скажем, "state change", В противном случае, обрабатывайте строку как температуру. Это предполагает, что температурная строка никогда не может быть "state change"что, вероятно, никогда не произойдет.

Вы можете иметь что-то подобное в вашей реализации Python:

while True:
    msg = ser.readline()

    if msg == 'state change':
        # switch to new graph

    else:
        data = int(msg)
        # plot data on current graph
Другие вопросы по тегам