我正在尝试将一个整数从我的 Python 代码发送到 Arduino。当我尝试使用 ser.write() 发送“val”的值并在 Arduino 上接收它们时,值是不同的。
这是我的 python 代码:
if arr == [0,0,0] :
val = 0
elif arr == [0,0,1] :
val = 1
elif arr == [0,1,0] :
val = 2
elif arr == [1,0,0] :
val = 3
elif arr == [0,1,1] :
val = 4
elif arr == [1,0,1] :
val = 5
elif arr == [1,1,0] :
val = 6
elif arr == [1,1,1] :
val = 7
strval = str(val)
strencode = strval.encode()
ser.write(strencode)
现在,当我发送变量的值时,Arduino 串行监视器显示它接收到的值范围为 40-54,这相差很远。
这是我的 Arduino 代码:
if (Serial.available() > 0) {
data = Serial.read();
if (data < 8){
decode(data);
}
Serial.println(data);
如何从 Python 向 Arduino 发送一个整数?