使用Python(Pygame,Pynput或其他内容)将序列数据写入Arduino以控制伺服器



首先,我对Python非常新,但是我试图编写一个Python程序,以将序列数据写入我的Arduino,以控制伺服器。我基本上希望我的计算机的键盘充当伺服器的控制器。该过程将进行这样的事情:

  1. 一旦按下键,伺服器就会开始移动某个方向。
  2. 如果持有钥匙,伺服器将继续移动
  3. 一旦键发布,伺服器就会停止移动。

我尝试使用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。

最新更新