我需要帮助将来自blender游戏引擎的串行数据传送到 arduino 。
我正在从blender输入键盘并尝试与 arduino 进行通信,但它无效。
这是一个搅拌机代码
import serial
ser = serial.Serial("COM6", 9600)
x=ser.write(1)
print(x)
ser.close()
逻辑
键“a” - > Python脚本
这是我试图从搅拌机进行通信的arduino代码。
int led = 2;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
if ( Serial.available())
{
char ch = Serial.read();
if(ch >= '0' && ch <= '9')
{
digitalWrite(led, HIGH);
}
}
}
实际上,当 Blender游戏引擎(BGE)运行时,我按下键'a'搅拌机与arduino和LED打开通信。
我做错了吗?
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
x=ser.write(1)
而在您的arduino代码中,您正在检查'0'
和'9'
之间的ASCII数字,即48到57之间的数字
if(ch >= '0' && ch <= '9')
尝试将您的python代码更改为ser.write('1')
或将您的arduino代码更改为ch >= 0 && ch <= 9
,它应该可以正常工作。
另外,在将代码绑定到blender中的脚本之前,首先应该在blender之外测试你的python脚本。只需在脚本所在的目录中使用命令行python script.py
运行。