可能重复:
Pyserial problem with Arduino - works with the Python shell but not in a program
所以我得到了Arduino Uno,现在我正在尝试使用USB与之沟通。我已经使用了Arduino IDE提供的串行监视器,现在我正在使用Python进行测试。
当程序从USB读取数据时,程序应使板上的LED闪烁。
我这样做的方式是:
#!/usr/bin/env python
import serial
ser = serial.Serial("/dev/ttyACM0", 9600)
ser.write("something")
这不起作用,但是在交互式shell中执行每个步骤都可以:
>>> import serial
>>> ser = serial.Serial("/dev/ttyACM0", 9600)
>>> ser.write("something")
我在尝试关闭之前尝试在脚本中使用超时,但这没有帮助。我做错了什么?
答案 0 :(得分:0)
我希望此链接可以帮助您:arduino-python
---编辑---- 我的道歉
这个概念是从python脚本发送到arduino。因此,arduino可以将其解释为打开或关闭LED的命令。
Python空闲时
>>> import serial
>>> ser = serial.Serial('com7', 9600)
>>> ser.write('ON')
同时在arduino:
int LedPin = 13;
char msg = ' ';
void setup(){
pinMode(LedPin, OUTPUT);
Serial.begin (9600);
}
void loop()
{
while (Serial.available()>0)
{
msg = Serial.read();
}
if (msg=='ON')
{
digitalWrite(LedPin, HIGH);
msg=' ';
}
else if (msg=='ON')
{
digitalWrite(LedPin, LOW);
}
}