直流电机驱动库-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2180|回复: 2

直流电机驱动库

[复制链接]
发表于 2017-3-3 16:41 | 显示全部楼层 |阅读模式
Motor.h
[kenrobot_code]/*
chenlvzhou 2017.3.3
http://clz.me/
*/
#ifndef MOTOR_H
#define MOTOR_H

#include "Arduino.h"

class Motor
{
public:
        Motor(int inpin,int pwmpin);
        Motor(int inpin,int pwmpin,int intpin);
        void setSpeed(int speed);
        void setdirection(bool direction);
        void stop();
  void run(bool direction,int speed);
  void setPID();
private:
        int _inpin,_pwmpin,_intpin;
        bool _direction;
        int _speed;


};
#endif[/kenrobot_code]

Motor.cpp
[kenrobot_code]/*
chenlvzhou 2017.3.3
http://clz.me/
*/
#include "Arduino.h"
#include "Motor.h"

Motor::Motor(int inpin,int pwmpin)
{
        _inpin = inpin;
        _pwmpin = pwmpin;
        pinMode(_inpin,OUTPUT);
}

Motor::Motor(int inpin,int pwmpin,int intpin)
{
        _inpin = inpin;
        _pwmpin = pwmpin;
        _intpin = intpin;
        // PID pid=new PID(_pinPin, _pwmpin, 0, consKp, consKi, consKd, DIRECT);
}

void Motor::run(bool direction,int speed)
{
        setdirection(direction);
        setSpeed(speed);
}

void Motor::setSpeed(int speed)
{
        if (_intpin == 0)
      {
            analogWrite(_pwmpin,speed);
      }
        else
      {

      }
}

void Motor::setdirection(bool direction)
{
        _direction = direction;
        digitalWrite(_inpin,_direction);
}

void Motor::stop()
{
        setdirection(!_direction);
        delay(100);
        setSpeed(0);
}

void Motor::setPID()
{
}
[/kenrobot_code]


示例程序:
[kenrobot_code]/*
chenlvzhou 2017.3.3
http://clz.me/
*/

#include "Motor.h"

Motor motor_l(4,5);
Motor motor_r(7,6);
void setup()
{
  
}  
void loop()
{
  motor_l.run(1,0);//direction&speed
  motor_r.run(0,0);
  motor_l.setSpeed(200);//0~255
  motor_l.setdirection(0);//0 or 1
}[/kenrobot_code]

相关帖子

发表于 2017-3-3 17:20 | 显示全部楼层
来得太及时啦!
发表于 2017-3-3 17:22 | 显示全部楼层
顶一个   又方便了大家
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-29 23:19 , Processed in 0.079490 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表