|
求助L298N和舵机不能一起使用
可以驱动舵机,但电机不工作了,求大侠帮忙
主程序:
#include <Servo.h>
#include "MotorL298N.h"
motorL298N motor;
Servo myservo;
int pos=0;
void setup()
{
motor.setpin(11,12,10);
motor.motorinit();
myservo.attach(6);
}
void loop()
{
motor.setmotorspeed(-50);
pos=0;
int p = map(pos, -100,100, 78, 108);
myservo.write(p);
}
------------------------------------------------------------------------------------------------------------
自己写的一个类,由于驱动L298N电机的
MotorL298N.h 头文件
#ifndef MotorL298NH
#define MotorL298NH
#if ARDUINO >= 100
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
class motorL298N
{
public:
int dir1Pin; //in1 ��
int dir2Pin; //in2 ��
int speedPin; //en �� ���ڿ����ٶ�
int motorspeed; // �ٶ�ֵ -100��100
motorL298N(int pdir1,int pdir2, int pspeed); //���캯��
motorL298N();
void setpin(int pdir1,int pdir2, int pspeed);
void motorinit(); //�������
int readmotorspeed(); //��ȡ����ٶ�
void setmotorspeed(int pspeed); //���õ���ٶ�
};
//---------------------------------------------------------------------------
#endif
------------------------------------------------------------------------------------------------------------
MotorL298N.cpp文件
#include "MotorL298N.h"
motorL298N::motorL298N(int pdir1,int pdir2, int pspeed) //���캯��
{
dir1Pin=pdir1; //in1 ��
dir2Pin=pdir2; //in2 ��
speedPin=pspeed; //en �� ���ڿ����ٶ�
}
motorL298N::motorL298N()
{
}
void motorL298N::setpin(int pdir1,int pdir2, int pspeed)
{
dir1Pin=pdir1; //in1 ��
dir2Pin=pdir2; //in2 ��
speedPin=pspeed; //en �� ���ڿ����ٶ�
}
void motorL298N::motorinit() //�������
{
pinMode(dir1Pin, OUTPUT);
pinMode(dir2Pin, OUTPUT);
pinMode(speedPin, OUTPUT);
motorspeed=0;
}
int motorL298N::readmotorspeed() //��ȡ����ٶ�
{
return motorspeed;
}
void motorL298N::setmotorspeed(int pspeed) //���õ���ٶ�
{
motorspeed=pspeed;
if(pspeed<0)
pspeed=pspeed*(-1);
int speed = map(pspeed, 0, 100, 0, 255);
analogWrite(speedPin, speed);
if (motorspeed>0)
{
digitalWrite(dir1Pin, LOW);
digitalWrite(dir2Pin, HIGH);
}
else if(motorspeed<0)
{
digitalWrite(dir1Pin, HIGH);
digitalWrite(dir2Pin, LOW);
}
}
//---------------------------------------------------------------------------
|
|