0

我有一个连接到 Python 的 Phidg​​ets 差压传感器设备,并使用模板代码输出压力。我已经让它工作了,它正在将压力值输出到控制台。但是,我希望绘制输出值并绘制与时间的线性图。有谁知道如何做到这一点?我附上了我正在使用的代码。

from Phidget22.Phidget import *
from Phidget22.Devices.VoltageRatioInput import *
import time

def onSensorChange(self, sensorValue, sensorUnit):
    print("SensorValue: " + str(sensorValue))

def main():
    voltageRatioInput4 = VoltageRatioInput()

    voltageRatioInput4.setChannel(4)

    voltageRatioInput4.setOnSensorChangeHandler(onSensorChange)

    voltageRatioInput4.openWaitForAttachment(5000)

    voltageRatioInput4.setSensorType(VoltageRatioSensorType.SENSOR_TYPE_1139)

    try:
        input("Press Enter to Stop\n")
    except (Exception, KeyboardInterrupt):
        pass

    voltageRatioInput4.close()

main()

它正在输出传感器值!

传感器值:0.223

这就是我想要的。但是,它并没有将它保存到某种形式的变量中,以便我可以根据时间绘制它。任何获取值的尝试都会导致

NameError:名称“sensorValue”未定义

有谁知道如何将 sensorValue 中的值获取到数组变量中?

当我有 MATLAB 作业时,总是潜伏在 stackoverflow 周围。找到我回到这里的路,再次需要 Python 作业的帮助,呵呵。任何帮助表示赞赏!

4

1 回答 1

0

您应该使用一些变量来保留历史记录。由于在函数内部创建的变量仅存在于函数内部 - 您可以使用外部变量,使用全局变量。

...

history = []

def onSensorChange(self, sensorValue, sensorUnit):
    global history
    history.append( sensorValue )
    print("SensorValue: " + str(sensorValue))
    print("History of values: ", history)

...

查看调用 onSensorChange 函数时历史记录的变化。

于 2020-03-10T01:36:07.100 回答