我试图将Raspberry Pi中的号码发送到通过USB连接的Arduino Uno。我按照this教程进行了非常简单的操作。
我可以找到Arduino连接的端口,并且我已经编写了代码,这样每当Arduino通过串口(任何东西)接收到某些内容时,它会默认闪烁几次。问题是它永远不会收到任何东西。
当我从Raspberry运行python脚本时,arduino上的led随机闪烁(就像它刚刚连接到电源一样),但随后停止并且没有任何反应。
代码是这样的:
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
blinkLED(3);
}
}
void blinkLED(int count) {
for (int i=0; i< count; i++) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
}
虽然python代码是:
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
ser.write('3')
我做错了什么?
答案 0 :(得分:1)
我发现了问题。基本上当我从python打开端口时,Arduino会重置自己,所以在端口打开后我发送的东西被Arduino丢弃了(因为它还在重置)。
我现在只需在打开端口后添加一个睡眠就解决了,所以同时Arduino完成重置。
python代码现在看起来像这样:
import serial
import time
ser = serial.Serial('/dev/ttyACM0', 9600)
time.sleep(5)
ser.write('3')