我是python新手,昨天才开始尝试。我尝试用我的Arduino构建一个控制器,每个操纵杆都会告诉python它移动的方向。现在我尝试使用get1操纵杆来告诉python它正朝右,但我在代码中的最后一个“if”语句上遇到了麻烦。这是为了让乐高ev3通过python读取
下面是我的Arduino代码
char userInput;
int data = 0;
int RIGHT = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()> 0) {
userInput = Serial.read();
if (analogRead(A0) / 4.01176470588 >=145) {
RIGHT = 1;
} else {
RIGHT = 0;
}
if (userInput == 'g') {
Serial.println(RIGHT);
}
}
}
这是我的python代码
import serial
ser = serial.Serial('/dev/tty.usbmodem11201', baudrate = 9600, timeout=1)
direction = 0
while 1:
ser.write(b'g')
arduinoData = ser.readline().decode('ascii')
direction = arduinoData
print(direction)
if direction == '1' :
print("Joystick is turning right")
python终端没有输出任何内容。我只想显示“操纵杆向右转”,然后我可以继续其他方向,然后另一个操纵杆最终与乐高EV3接口
1条答案
按热度按时间sdnqo3pr1#
在Arduino代码中,您发送的是一个整数值,但在python代码中,您要检查方向是否是字符串版本的1。
对于if语句,请尝试以下操作