Qt小窗口控制步进电机
时间:10-02
整理:3721RD
点击:
想先试验一下用Qt小窗口控制电机,所以做了一个demo。demo实现的功能是进行电机上下电、转速控制,方向控制。
方向以及上下电用QPushButton实现,而速度通过一个QSlider实现。
控制界面如下图所示。
步进电机的控制和之前的一样,只是封装成了一个motor类。采用米尔提供的驱动,没有自己写驱动。控制界面的程序主要如下。
初始化,主要是实现记录变量的初始化以及上电按钮、方向按钮以及电机速度控制滑动条信号和槽的连接。
- MotorControl::MotorControl(QWidget *parent)
- : QDialog(parent)
- {
- setupUi(this);
- direction = 1; //运转方向
- powerflag = 0; //是否上电
- //statetimer=new QTimer(this);
- motor = new Motor(this); //电机新建
- motor->InitMotor(5,9,5,7); //电机初始化,电机引脚为5_9及5_7
- connect(pushButton_power, SIGNAL(clicked()), this, SLOT(ChangePower()));
- connect(pushButton_direction, SIGNAL(clicked()), this, SLOT(ChangeDirection()));
- connect(motor_speed, SIGNAL(valueChanged(int)), this, SLOT(ChangeSpeed(int)));
- //slider->setMinimum(0);
- //设置滑动条控件的最大值
- //slider->setMaximum(100);
- //设置滑动条控件的值
- //slider->setValue(50);
- }
- void MotorControl::ChangePower()
- {
- if(powerflag==0)
- {
- powerflag = 1;
- pushButton_direction->setEnabled(true);
- pushButton_power->setText("power OFF");
- motor_speed->setEnabled(true);
- motor->TurnOn();
- }else{
- powerflag = 0;
- pushButton_direction->setEnabled(false);
- pushButton_power->setText("power ON");
- motor_speed->setEnabled(false);
- motor->TurnOff();
- }
- qDebug() setText("direction 1");
- }else{
- direction = 0; //反转
- pushButton_direction->setText("direction 0");
- }
- motor->ChangeDirection(direction);
- }
- void MotorControl::ChangeSpeed(int speed)
- {
- qDebug() ChangeSpeed(speed);
- }
40.52 KB, 下载次数: 17
谢谢小编的帖子, 学习了
小编,你的qt开发是在windows下还是linux下啊?
也是初学者,一起努力。
我是在Linux下开发的。Ubuntu16.04。
小编,你好,你这个在linux下运行的,代码怎么没有open设备驱动文件呢,还有有设备驱动的源码吗
我这个用的是米尔的