График данных из последовательного порта - PullRequest
0 голосов
/ 10 апреля 2011

Я получил последовательный порт в .NET на скорости 9600 бод. Входящие данные числовое, это время между двумя импульсами датчика двигателя, это об / мин фактического двигателя.

Как отобразить данные в реальном времени?

Ответы [ 2 ]

1 голос
/ 28 ноября 2011

Простой плоттер довольно легко сделать. Вы можете часами искать нужную библиотеку или программу или просто написать свою собственную в эквивалентное время.

Вот как я это делал в прошлом

  • Выделите кольцевой буфер - около 2-4K точек данных должно быть достаточно
  • возьмите ваш последовательный каталог данных и сохраните его в буфере последовательного интерфейса
  • получить рисованную область
  • отобразить высоту области рисования на максимум - минимальное значение, которое вы хотите отобразить
  • сопоставить ширину области рисования с количеством точек, которые вы хотите отобразить
  • запустить поток, который принимает последовательные данные, анализирует их и помещает в кольцевой буфер,
  • запустить другой поток, который периодически проверяет наличие новых данных в буфере, помещает данные в циклический буфер в задний буфер, а затем обновляет отображаемую область, отображаемую с помощью заднего буфера.

У меня была похожая проблема некоторое время назад. Я искал простую, легкую программу, которая сделала бы это из коробки. Я наконец сдался и закодировал свою собственную программу, используя вызовы Win32. Реализация .NET была бы проще.

http://www.fast -product-development.com / в режиме реального времени последовательного данных plot.html

0 голосов
/ 11 апреля 2011

На игровой площадке arduino есть пример , который должен это проверить.

Или, в качестве общего назначения и большей гибкости, вы можете использовать Firmata , это дает вам возможность управлять вашим arduino удаленно с вашего компьютера (digital_write, digital_read, analog_write, analog_read ...), плюс есть FirmataVB , это библиотека классов компонентов .NET, которая содержит методы для отправки и получения сообщений по протоколу Firmata V 2.0, так что вам не нужно пачкать руки, просто загрузите firmata на arduino, используйте библиотека, и все готово

...