【发布时间】:2019-05-20 23:03:56
【问题描述】:
我试图用 python 向我的 Arduino 发送一些串行数据并点亮一个 LED 灯,通过 Arduino IDE 的串行监视器它工作正常,但是一旦我尝试通过 Python 代码执行它,它就不会了不工作
这是 Arduino 代码:
int LED = 7;
char serialData;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
serialData = Serial.read();
if(serialData == '1'){
digitalWrite(LED, HIGH);
}
if(serialData == '2'){
digitalWrite(LED, LOW);
}
}
这是 Python 代码:
import serial
import time
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 'COM5'
time.sleep(10)
ser.write("1")
现在,当我启动 python 代码时,它应该做的是将“1”通过 Serial 发送到 Arduino,Arduino 应该接收它并点亮 LED。
【问题讨论】:
-
也许你必须使用
ser.flush()来发送它。 -
@furas 不,也不起作用
-
您可以尝试在
digitalWrite(LED, HIGH)和digitalWrite(LED, LOW)的if语句中添加延迟 (delay(10)) 吗?
标签: python arduino serial-port