如何用Python GUI控制Arduino程序?
我需要帮助了解如何使用Python GUI控制Arduino程序。这是我的第一个涉及用户界面设计和Arduino的项目,所以我不知道从哪里开始这个任务。任何开始的提示或帮助都将不胜感激 Arduino程序提供给我,我关注的主要功能包括移动多个电机来控制平台。到目前为止,我已经使用PyQt5 GUI设计器创建了一个基本GUI,它允许在平台的x、y和z方向上移动 我首先想弄清楚如何执行一个简单的命令,例如首先使用Python GUI将平台设置为“主”位置(x、y和z值设置为0) 这是Arduino计划中的代码,我相信它与将平台设置为“主”位置有关:如何用Python GUI控制Arduino程序?,python,user-interface,arduino,pyqt,pyqt5,Python,User Interface,Arduino,Pyqt,Pyqt5,我需要帮助了解如何使用Python GUI控制Arduino程序。这是我的第一个涉及用户界面设计和Arduino的项目,所以我不知道从哪里开始这个任务。任何开始的提示或帮助都将不胜感激 Arduino程序提供给我,我关注的主要功能包括移动多个电机来控制平台。到目前为止,我已经使用PyQt5 GUI设计器创建了一个基本GUI,它允许在平台的x、y和z方向上移动 我首先想弄清楚如何执行一个简单的命令,例如首先使用Python GUI将平台设置为“主”位置(x、y和z值设置为0) 这是Arduino计
void goHome(){
setPos(arr0);
if (altech == 1) { moveDiffSpd(servo_pos, spdOld); }
if (altech == 2) { moveBresenham(servo_pos, spdOld); }
getSerPos0(servo_pos);
}
void presetHome(){
setPos(arr0);
// Return directly to HOME position
for (int i=0; i<6; i++){
if (Dynamixel.readPosition(i+1)!=servo_pos[i]) {
Dynamixel.moveSpeedRW(i+1,servo_pos[i],spdOld); }
}
Dynamixel.action();
getSerPos0(servo_pos);
}
void goHome(){
setPos(arr0);
如果(altech==1){moveDiffSpd(伺服位置,spdOld);}
如果(altech==2){moveBresenham(伺服位置,spdOld)}
getSerPos0(伺服位置);
}
void presetHome(){
setPos(arr0);
//直接返回原位
对于(int i=0;i要启动dialog arduino python程序,必须使用python中的串行库,如下所示:
import serial
创建串行实例并将其打开后:
arduino = serial.Serial(port='COM3', baudrate=9600,timeout=0 );// adapt your serial number port
arduino.open()
您可以使用以下命令从arduino读取数据:(arduino使用Serial.print或Serial.println将数据发送到python
while arduino.inWaiting() > 0:
message = arduino.read(1)
要将数据从python发送到arduino,可以使用write函数
arduino.write('x')
用flush清除串行缓冲区
arduino.flush()
最后关闭序列号:
arduino.close()
你已经有了开始的基础……嘿,Ryan,正如你自己描述的那样:你想写一个“接口”。因此,你说,已经有了一个接口(按“H”可以做些什么),你只想把你的GUI放在该接口之上。所以,你已经明白了,你想发送那些“命令”从GUI.buttons。因此,尝试通过按钮onClick处理程序中的串行接口发送字符“H”。python中的串行通信非常简单。只需通过谷歌搜索即可:)祝你好运