极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13679|回复: 0

arduino库文件求解

[复制链接]
发表于 2013-7-19 14:28:32 | 显示全部楼层 |阅读模式
《开发实战指南上的小车库文件MotorCar》求助大神指点错误。小弟用VS2012开发
/*****************************MotorCar.h************************************************/

#ifndef MotorCar_H_
#define MotorCar_H_
#include <Arduino.h>
class MotorCar
{
private:
        int _speedLeftPin;
        int _speedRightPin;
        int        _dirLeftPin;
        int        _dirRightPin;
public:
        MotorCar(int _slpin,int _dlpin,int _srpin,int _drpin);
        void forward(int _speed);
        void back(int _speed);
        void turnLeft(int _speed);
        void turnRight(int _speed);
        void turnLeftOrigin(int _speed);
        void turnRightOrigin(int _speed);
        void stop();
};
#endif
/********************MotorCar.cpp************************************************/

#include "MotorCar.h"
/*******************************************************
MotorCar类构造函数
函数功能:定义用于控制直流电机的引脚
入口参数:                _slpin,表示控制左边速度的引脚
                                _dlpin,表示控制左边方向的引脚  
                                _srpin,表示控制右边速度的引脚
                                _drpin,表示控制右边方向的引脚
**********************************************************/
MotorCar::MotorCar(int _slpin,int _dlpin, int _srpin, int _drpin)
{
        _speedLeftPin=_slpin;
        _speedRightPin=_srpin;
        _dirLeftPin=_dlpin;
        _dirRightPin=_drpin;
        pinMode(_speedLeftPin,OUTPUT);
        pinMode(_speedRightPin,OUTPUT);
        pinMode(_dirLeftPin,OUTPUT);
        pinMode(_dirRightPin,OUTPUT);
}

/*********************************************************
forward函数————前进子函数
入口参数:_speed————前进速度,范围0~255
*********************************************************/
void MotorCar::forward(int _speed)
{
        digitalWrite(_dirRightPin,HIGH);
        digitalWrite(_dirLeftPin,HIGH);
        analogWrite(_speedRightPin,_speed);
        analogWrite(_speedLeftPin,_speed);
}

/********************************************************
back子函数——————后退函数
入口参数:_speed————后退速度,范围0~255
********************************************************/
void MotorCar::back(int _speed)
{
        digitalWrite(_dirRightPin,LOW);
        digitalWrite(_dirLeftPin,LOW);
        analogWrite(_speedRightPin,_speed);
        analogWrite(_speedLeftPin,_speed);
}
/*******************************************************
turnLeft子函数————左转函数
入口参数:_speed————速度,范围0~255
********************************************************/
void MotorCar::turnLeft(int _speed)
{
        digitalWrite(_dirRightPin,LOW);

        analogWrite(_speedRightPin,_speed);
        analogWrite(_speedLeftPin,0);
}
/******************************************************
turnRight子函数————右转函数
入口参数:_speed————速度,范围0~255
*******************************************************/
void MotorCar::turnRight(int _speed)
{
        digitalWrite(_dirLeftPin,LOW);

        analogWrite(_speedRightPin,0);
        analogWrite(_speedLeftPin,_speed);
}
/******************************************************
turnLeftOrigin子函数————原地左转函数
参数入口:_speed————范围0~255
********************************************************/
void MotorCar::turnLeftOrigin(int _speed)
{
        digitalWrite(_dirRightPin,HIGH);
        digitalWrite(_dirLeftPin,LOW);
        analogWrite(_speedRightPin,_speed);
        analogWrite(_speedLeftPin,_speed);
}
/******************************************************
turnRightOrigin子函数————原地右转函数
参数入口:_speed————范围0~255
********************************************************/
void MotorCar::turnRightOrigin(int _speed)
{
        digitalWrite(_dirRightPin,LOW);
        digitalWrite(_dirLeftPin,HIGH);
        analogWrite(_speedRightPin,_speed);
        analogWrite(_speedLeftPin,_speed);
}
/******************************************************
stop子函数————停止函数
参数入口:无
******************************************************/
void MotorCar::stop()
{
analogWrite(_speedRightPin,0);
analogWrite(_speedLeftPin,0);
}

/*********************************CAR.ino***********************************************/


#include <MotorCar.h>
#include <Arduino.h>


MotorCar        Motor(5,4,6,7);
void setup()
{

  /* add setup code here */

}

void loop()
{
        Motor.forward(250);
        delay (2000);
  /* add main program code here */

}
/**********************************************************************************************/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 00:00 , Processed in 0.040624 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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