大功率蓝牙遥控车代码这么写行吗?
本帖最后由 学员 于 2016-3-1 10:00 编辑本人手头有arduino uno r3、L298N电机驱动模块(直流六光耦全隔离)、HC-05主从机一体蓝牙模块、24V直流小型主轴电机40W想拿来蓝牙遥控车,但是不知道怎么写代码,有哪位大神给指点一二?(以下是蓝牙小车代码有带增减速的)
char getstr;
int in1=3;
int in2=4;
int in3=7;
int in4=8;
int n=0;
int inEN1=9;
int inEN2=10;
//上面定义了板上的4个控制端,1、2一组,3、4一组
void _mRight(int pin1,int pin2)//当in1和in2中有一个接高位时,电机会向某一方向转动
{
digitalWrite(pin1,HIGH);
digitalWrite(pin2,LOW);
}
void _mLeft(int pin1,int pin2)//同上
{
digitalWrite(pin1,LOW);
digitalWrite(pin2,HIGH);
}
void _mStop(int pin1,int pin2)//紧急制动,实际就是将电机两个端短接了
{
digitalWrite(pin1,HIGH);
digitalWrite(pin2,HIGH);
}
void setup()
{
Serial.begin(9600);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(inEN1,OUTPUT);
pinMode(inEN2,OUTPUT);
//下面程序开始时让控制端都为高电平,电机保持不动。
digitalWrite(in1,HIGH);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,HIGH);
}
void loop()
{
getstr=Serial.read();
if(getstr=='8')
{
Serial.println("go forward!");
_mStop(in1,in2);
_mStop(in3,in4);
_mRight(in1,in2);
_mRight(in3,in4);
}
else if(getstr=='2'){
Serial.println("go back!");
_mStop(in1,in2);
_mStop(in3,in4);
_mLeft(in1,in2);
_mLeft(in3,in4);
}
else if(getstr=='4'){
Serial.println("go left!");
_mStop(in1,in2);
_mStop(in3,in4);
_mRight(in1,in2);
_mLeft(in3,in4);
}
else if(getstr=='6'){
Serial.println("go right!");
_mStop(in1,in2);
_mStop(in3,in4);
_mRight(in3,in4);
_mLeft(in1,in2);
}
else if(getstr=='1'){
Serial.println("growth!");
n=n+85; //每次累加值为5
if (n>=255)
n=255;
analogWrite(9,n);
analogWrite(10,n);
}
else if(getstr=='0'){
Serial.println("Slow down!");
n=n-85;
if (n<=0)
n=0;
analogWrite(9,n);
analogWrite(10,n);
}
else if(getstr=='5'){
Serial.println("Stop!");
_mStop(in1,in2);
_mStop(in3,in4);
}
}
好大一个 这么大的电机,控制板的电流够不够过啊~? 本帖最后由 学员 于 2016-4-6 14:04 编辑
dsweiliang 发表于 2016-3-1 08:40
这么大的电机,控制板的电流够不够过啊~?
你可看仔细咯是光耦隔离的,各用各的电。 学员 发表于 2016-3-1 09:47
你可看仔细咯是光耦隔离的,各用各的电。
电机驱动是l298n,是这个驱动电流不够 没错啊,可以用的 ??????????????
页:
[1]