Python与Arduino之间的通信可以通过串口实现,Python作为命令发送者,Arduino作为命令执行者。以下是使用Python与Arduino通信的基本步骤:
准备工作
硬件准备
Arduino开发板(如Arduino Uno)
USB数据线
电脑
软件准备
安装Arduino IDE
安装Python的`pyserial`库
在Linux系统上,可能需要安装`python-serial`或`pyfirmata`库
连接Arduino
查看端口
在Arduino IDE中查看端口
在Linux终端中运行`ls /dev/tty*`查看可用串口
编写代码
Arduino代码示例
```cpp
// 初始化LED引脚
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // 初始化串口通信,波特率9600
}
void loop() {
if (Serial.available()) {
String command = Serial.readStringUntil('\n');
// 执行命令
}
}
Python代码示例
```python
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) 根据实际情况更改端口和波特率
while True:
ser.write(b'H') 向Arduino发送一个字符
time.sleep(0.5)
response = ser.readline().decode('utf-8')
print(response) 打印响应
注意事项
确保Arduino板上已刷入StandardFirmata固件。
在Python代码中,发送数据前通常需要进行编码(如使用`encode('utf-8')`)。
读取数据后,使用`decode('utf-8')`将字节数据转换为字符串。
关闭串口连接是一个好习惯,可以使用`ser.close()`。
以上步骤涵盖了Python与Arduino通信的基本流程和代码示例。请根据你的具体需求调整代码中的参数。