首先,我对Python非常新,但是我试图编写一个Python程序,以将序列数据写入我的Arduino,以控制伺服器。我基本上希望我的计算机的键盘充当伺服器的控制器。该过程将进行这样的事情:
- 一旦按下键,伺服器就会开始移动某个方向。
- 如果持有钥匙,伺服器将继续移动
- 一旦键发布,伺服器就会停止移动。
我尝试使用Pygame和Pynput,但我无法正常工作。我一直在使用妹妹连接到arduino。
这里已经在这里,帮助或其他链接都将不胜感激。
最简单的方法是使用基本序列i/o。
我将这种设置用于我的数据遗迹,偶尔需要Arduino根据数据或时钟采取行动。
示例:
假设您想使用一个USB端口(例如在RPI3上(,请说您要发送一个命令,该命令会导致Arduino发出两个长哔哔声。(或者它可能会绊倒继电器,无论如何(代码看起来像这样:
python侧:
#!/usr/bin/python
import serial
首先打开端口:
(通常如图所示,但是对于CHG340,Arduinos将更像/dev/ttyACM0
(
ser = serial.Serial("/dev/ttyUSB0",9600)
要从端口阅读,使用:
linein = ser.readline()
写入arduino用途:
ser.write("A")
arduino side,(请记住,它将以char
的类型到达(
setup((
char cTMP;
int beePin=12;
Serial.begin(9600);
while (Serial.available()>0) cTMP=Serial.read(); // flush the buffer
然后在loop((
中的某个地方if (Serial.available) > 0) {
if (serIn=='A') {
digitalWrite(beePin,HIGH); delay(2000); digitalWrite(beePin,LOW);
delay(2000);
digitalWrite(beePin,HIGH); delay(2000); digitalWrite(beePin,LOW);
}
}
我倾向于坚持到arduinos
的单字母命令此设置的美感是,您还可以在RPI3上运行Arduino IDE进行Arduino编程,并且您可以使用VNC或xrdp
(带有Windows远程桌面或Remmina(远程访问它。
我称其为piduino。