树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第1张图片

几年前自己动手DIY做了一个智能小车,用的是ARM-A8的开发板做的控制核心,移植的厂家提供的Linux系统,很多设备的驱动程序都是自己写的,学习了字符设备驱动、块设备驱动驱动,到网络设备驱动等等系统驱动程序的编写,用到了uboot裁剪移植,内核的裁剪和移植,还有文件系统的制作等等内容,应用层软件通过系统调用控制底层设备,还需要封装库等等,很是复杂,这段时间接触到了树莓派和Python,发现很多基础设置现在已经很完善了,开发人员只需要关心应用软件的逻辑和实现就可以了,所以就重新开发了我的智能小车,今天就来控制小车的四个直流减速电机(伺服电机)完成小车的动力控制。

样子基本就是如下图这样子了。

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第2张图片

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第3张图片

首先,我在这里使用的电机驱动模块是在网上买的L298四直流三步进电机驱动模块,其中使用的是L298N双H桥直流电机驱动芯片,如下图,其中OUT1-OUT8对应的IN1-IN8可以驱动四个直流减速电机。

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第4张图片

由于我的四个电机是相对安装的,蓝线和绿线接线如下图,这是从上向下的顶视图。

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第5张图片

下面我们就写一个在树莓派上面运行的PyQt5的程序,可以通过GPIO口控制小车的行进,而且可以在Qt界面中操作。

一、软件编码

1、使用PyQt5设计界面

使用QtDesigner设计一个UI界面,保存为HomePage.ui文件,可以自行设计,主要目的是通过点击按钮,达到控制小车前后左右移动的目的,如下图:

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第6张图片

2、将HomePage.ui文件转换为ui_HomePage.py,使用pyuic5命令或者在PyCharm中直接转换:

pyuic5 -o ui_HomePage.py HomePage.ui

树莓派控制多个舵机_7.(番外篇)Raspberry Pi(树莓派)使用PyQt5控制伺服电机转动_第7张图片

这样我们就创建了一个UI界面,目录结构如下:

你可能感兴趣的:(树莓派控制多个舵机)