gpt4 book ai didi

python - 如何通过 USB 线从 Raspberry Pi 向 Arduino 发送消息

转载 作者:太空宇宙 更新时间:2023-11-04 05:30:51 25 4
gpt4 key购买 nike

我正在尝试将数字从 Raspberry Pi 发送到通过 USB 连接的 Arduino Uno。我关注了this非常简单的教程。

我可以找到 Arduino 连接的端口,并且我已经编写了代码,以便每当 Arduino 通过串口接收到某些东西(任何东西)时,它都会使默认 LED 闪烁几次。问题是它从来没有收到任何东西。

当我从 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')

我做错了什么?

最佳答案

我发现了问题。基本上,当我从 python 打开端口时,Arduino 会自行重置,所以我在端口打开后发送的内容被 Arduino 丢弃(因为它仍在重置)。

我现在的解决方法是在打开端口后简单地添加一个 sleep ,同时 Arduino 完成重置。

Python 代码现在看起来像这样:

import serial
import time
ser = serial.Serial('/dev/ttyACM0', 9600)
time.sleep(5)
ser.write('3')

关于python - 如何通过 USB 线从 Raspberry Pi 向 Arduino 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37218181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com