简单的绘图仪很容易做到。你可以花几个小时寻找一个恰到好处的图书馆或程序,或者在相同的时间内自己编写。
以下是我过去的做法
- 分配循环缓冲区 - 大约2-4K数据点就足够了
- 将您的串行数据存储在串行缓冲区中
- 获得一个可绘制区域
- 将可绘制区域的高度映射到您希望显示的最大值 - 最小值
- 将可绘制区域的宽度映射到您希望显示的点数
- 启动一个接收串行数据的线程,解析它并将其放入循环缓冲区,
- 启动另一个线程,定期检查缓冲区中的新数据,在后台缓冲区的循环缓冲区中绘制数据,然后更新后备缓冲区显示的可绘制区域。
有一段时间我有类似的问题。我寻找一个简单,轻便的程序,可以开箱即用。我终于放弃并使用Win32调用编写了我自己的程序。 .NET实现会更简单。
http://www.fast-product-development.com/real-time-serial-data-plot.html
在arduino游乐场有一个example,你应该检查它。
或者作为一般用途和更多灵活性,您可以使用Firmata,它使您能够从计算机远程控制arduino(digital_write,digital_read,analog_write,analog_read ...),还有{{{ 3}},它是一个.NET组件类库,包含使用Firmata V 2.0协议发送和接收消息的方法,因此您不需要弄脏手,只需在arduino上加载firmata,使用库,以及你已经完成了