Я сейчас работаю над проектом, который требует сбора данных. Проект представляет собой симуляцию, выполненную на Unity, и сегмент, который я пытаюсь разработать, использует последовательный порт и Arduino. Arduino распечатывает 5 из этих строк, эти строки являются выходами IMU, поэтому они постоянно меняются.
12343,123.4,122.4,45.7,62.2,43.5,76.9,89.2,43.1,42.2,65.1
при вводе «s», а затем автоматически приостанавливается. Строки имеют тип
Пока что я написал этот код, который представляет собой скрипт C# для чтения из последовательного порта и сохранения значений в списке.
using UnityEngine;
using System.Collections;
using System.IO.Ports;
public class Communication : MonoBehaviour
{
SerialPort stream = new SerialPort("COM5", 115200);
public string receivedstring;
public GameObject carrito;
public Vector3 rot;
public Vector3 rot2;
public string[] data;
public string[] data_received;
void Start()
{
stream.ReadTimeout = 500;
stream.WriteTimeout = 5000;
stream.Open();
stream.Write("s");
}
void Update()
{
receivedstring = stream.ReadLine();
stream.BaseStream.Flush();
string[] data = receivedstring.Split(',');
if (data[0] != "" && data[1] != "" && data[2] != "" && data[3] != "" && data[4] != "" && data[5] != "" && data[6] != "" && data[7] != "" && data[8] != "" && data[9] != "" && data[10] != "")
{
data_received [0] = data[0];
data_received[1] = data[1];
data_received[2] = data[2];
data_received[3] = data[3];
data_received[4] = data[4];
data_received[5] = data[5];
data_received[6] = data[6];
data_received[7] = data[7];
data_received[8] = data[8];
data_received[9] = data[9];
data_received[10] = data[10];
stream.BaseStream.Flush();
}
}
}
Код разделяет значение из входящей строки и сохраняет его в data_received . Я хочу иметь возможность сохранять 5 строк data_recovered в новый файл csv каждый раз, когда команда s передается на последовательный порт. на протяжении всего проекта последовательный порт не может закрыться, поэтому он будет на паузе («x»), пока я не захочу возобновить его потоковую передачу, нажав S. В течение проекта может быть несколько раз, когда сценарий Unity требует данные от последовательного порта, поэтому каждый раз нужно создавать новый файл .csv.
Это вывод, который я пытаюсь получить