Arduino Python 3 读串口
Arduino Python 3 Read serial port
我正在从我的 Arduino 获取温度读数。 arduino 还控制 2 个开关并进行热循环。
我想做的是记录每个循环的温度。计算机需要知道 arduino 在什么 "state" 中,即循环何时结束,以便它可以生成新图形并存储旧数据。
我想做的是在序列中打印一个这样的数组:
[温度、状态]
问题是我并不真的觉得它很优雅。我想知道是否会有来自 arduino 的触发器,例如,中断一段时间(在图形上打印数据)并产生一个新的触发器。
while True: {
produce new graph
while arduinoTrigger==false:{
plot data
}
}
您可以通过从 Arduino 发送一个特定的字符串来做到这一点,另一方面,检查接收到的字符串是否匹配,比如说 "state change"
。否则,将字符串视为温度。这是假设温度字符串永远不会是 "state change"
,这可能永远不会发生。
你可以在你的 python 实现中有这样的东西:
while True:
msg = ser.readline()
if msg == 'state change':
# switch to new graph
else:
data = int(msg)
# plot data on current graph
我正在从我的 Arduino 获取温度读数。 arduino 还控制 2 个开关并进行热循环。 我想做的是记录每个循环的温度。计算机需要知道 arduino 在什么 "state" 中,即循环何时结束,以便它可以生成新图形并存储旧数据。 我想做的是在序列中打印一个这样的数组: [温度、状态] 问题是我并不真的觉得它很优雅。我想知道是否会有来自 arduino 的触发器,例如,中断一段时间(在图形上打印数据)并产生一个新的触发器。
while True: {
produce new graph
while arduinoTrigger==false:{
plot data
}
}
您可以通过从 Arduino 发送一个特定的字符串来做到这一点,另一方面,检查接收到的字符串是否匹配,比如说 "state change"
。否则,将字符串视为温度。这是假设温度字符串永远不会是 "state change"
,这可能永远不会发生。
你可以在你的 python 实现中有这样的东西:
while True:
msg = ser.readline()
if msg == 'state change':
# switch to new graph
else:
data = int(msg)
# plot data on current graph