本帖最后由 JML 于 2015-1-30 22:52 编辑
所需配件如下:
1:Arduino UNO R3 控制器 ;
2 :L298N电机驱动模块;
3 :无线蓝牙串口透传模块HC-06;
4:小米充电宝(需拆开使用);
5 : 智能车底盘带减速电机
图中的蓝牙遥控软件:
下面附上控制代码,接线方法看代码:
char getstr;
int in1=3;
int in2=4;
int in3=7;
int in4=8;
int n=0;
int inENA=9;
int inENB=10;
//上面定义了板上的4个控制端,12一组,34一组 
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(inENA,OUTPUT);
  pinMode(inENB,OUTPUT);
  //下面程序开始时让控制端都为高电平,电机保持不动。
  digitalWrite(in1,HIGH);
  digitalWrite(in2,HIGH);
  digitalWrite(in3,HIGH);
  digitalWrite(in4,HIGH);
}
void loop()
{ 
  getstr=Serial.read();
  if(getstr=='A')
  { 
    Serial.println("go forward!");
    _mStop(in1,in2); 
    _mStop(in3,in4);
    _mRight(in1,in2); 
    _mRight(in3,in4); 
  } 
  else if(getstr=='B'){
    Serial.println("go back!");
    _mStop(in1,in2); 
    _mStop(in3,in4); 
    _mLeft(in1,in2); 
    _mLeft(in3,in4); 
  } 
  else if(getstr=='C'){
    Serial.println("go left!");
    _mStop(in1,in2); 
    _mStop(in3,in4); 
    _mRight(in1,in2); 
    _mLeft(in3,in4); 
  } 
  else if(getstr=='D'){
    Serial.println("go right!");
    _mStop(in1,in2); 
    _mStop(in3,in4); 
    _mRight(in3,in4);
    _mLeft(in1,in2); 
  } 
  else if(getstr=='7'){
    Serial.println("go back!");
    n=n+85;                         //每次累加值为5
    if (n>=255)
      n=255;
      analogWrite(9,n);
      analogWrite(10,n);
    }
    else if(getstr=='9'){
    Serial.println("go back!");
     n=n-85;
    if (n<=0)
      n=0;
      analogWrite(9,n);
      analogWrite(10,n);
    }
  else if(getstr=='F'){
    Serial.println("Stop!");
    _mStop(in1,in2); 
    _mStop(in3,in4);   
  } 
}
附件;
下面是成品图:
|