2013-06-29 161 views
1

我需要从搅拌机游戏引擎的串行数据通信到arduino串口通讯搅拌机游戏引擎到arduino?

我正在从搅拌机的键盘输入,并试图沟通arduino,但它不工作。

这是搅拌器代码

import serial 

ser = serial.Serial("COM6", 9600) 
x=ser.write(1) 
print(x) 
ser.close() 

逻辑

密钥 “a” - > Python脚本

http://i.stack.imgur.com/fAUfI.png

,这是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); 
     } 
    } 
} 

其实,当搅拌机游戏引擎(BGE)的运行,我按下按键 '一' 搅拌机与Arduino的沟通和LED点亮。

我做错了吗?

任何人都可以帮我解决这个问题吗?

在搅拌机Python代码

回答

2

,你发送一个整数:

x=ser.write(1) 

,而在你的Arduino的代码,你要检查48和57

之间 '0''9',即数字之间的ASCII数字
if(ch >= '0' && ch <= '9') 

要么尝试将您的Python代码更改为ser.write('1')或将您的arduino代码更改为ch >= 0 && ch <= 9,它应该可以工作。

此外,在将代码作为搅拌器内的脚本进行绑定之前,应首先在搅拌器外测试您的python脚本。只需在脚本所在的目录中使用命令行:python script.py运行即可。