Несколько лет назад я делаю что-то подобное, используя QWT и QextSerialPort. Вам необходимо подключить Arduino с помощью последовательного порта (в Windows COM1, COM2 ...), и вы сможете читать/записывать данные из буфера.
Теперь Qt интегрирует встроенную поддержку этой задачи, проверьте QtSerialPort Support, чтобы настроить порт, проверьте этот класс QSerialPort. Как читать данные? Использование QByteArray, пример:
QByteArray responseData = serial->readAll();
while(serial->waitForReadyRead(100))
responseData += serial->readAll();
Теперь хранить все байты в QVector типа двойной.
QVector<double> data;
QDataStream stream(line);
stream >> data;
Данные будут помечены как QCustomPlot. Пример:
int numSamples = data.size();
QVector<double> x(numSamples), y(numSamples); // initialize with entries 0..100
for (int i=0; i<numSamples; ++i)
{
x[i] = i/50.0 - 1; // x goes from -1 to 1
y[i] = data[i]; // In this line copy the data from your Arduino Buffer and apply what you want, maybe some signal processing
}
// create graph and assign data to it:
customPlot->addGraph();
customPlot->graph(0)->setData(x, y);
// give the axes some labels:
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
// set axes ranges, so we see all data:
customPlot->xAxis->setRange(-1, 1);
customPlot->yAxis->setRange(0, 1);
customPlot->replot();
Наслаждайтесь!
Уверен, это возможно. Начните здесь https://github.com/dmontanari/qplotduino, это проект, который делает все это – demonplus