Arduino开发版学习计划--蓝牙控制小车行走

蓝牙模块一共6个引脚,我们一般只需要接4个线就可以了,分别是VCC、GND、TXD、RXD这四个引脚,我们分别接到arduino板子上,VCC接3.3V,GND接板子的GND,蓝牙TXD接板子的RXD,RXD接板子的TXD

控制蓝牙的代码:注意使用 

 Serial1.begin(9600);
void setup()
{
 Serial1.begin(9600);
 Serial.begin(9600);
}
 
void loop()
{
  while(Serial1.available())
   {
     char c=Serial1.read();
     Serial.println(c);
      if(c=='A')
        {
          Serial1.println("Hello I am amarino");
           Serial.println("Hello I am amarino-----------");
        }
   }
}

 蓝牙控制小车行走:

const unsigned char pinMotorCWA  = 5;   // 接控制电机顺时针转的 H 桥引脚
const unsigned char pinMotorCWB = 6;   // 接控制电机逆时针转的 H 桥引脚
const unsigned char pinMotorCWC  = 9;   // 接控制电机顺时针转的 H 桥引脚
const unsigned char pinMotorCWD = 10;   // 接控制电机逆时针转的 H 桥引脚

void motor(char pin,char pwmpin,char state,int val) // 127
{ 
  if(state==1)
  {  
    analogWrite(pwmpin,val);
    digitalWrite(pin,1);
   }
  else if(state==2)
 {  
   analogWrite(pwmpin,val);
   digitalWrite(pin,0);
 }
 else if(state==0)
 {
    analogWrite(pwmpin,0);
    digitalWrite(pin,0);
 }
}
 
void runfoward(int i)   //前进
{
  motor(pinMotorCWA,pinMotorCWB,1,i+250);//black
  motor(pinMotorCWC,pinMotorCWD,1,i-100);//red 
}
void runback(int j)    //后退
{
   motor(pinMotorCWA,pinMotorCWB,2,j-100);
   motor(pinMotorCWC,pinMotorCWD,2,j);
//   motor(7,6,2,j); 
}
void turnL(int m)     //左转
{
  motor(pinMotorCWA,pinMotorCWB,1,m+260);
  motor(pinMotorCWC,pinMotorCWD,0,m);
}
void turnR(int n)      //右转 
{
  motor(pinMotorCWA,pinMotorCWB,0,n);
  motor(pinMotorCWC,pinMotorCWD,1,n-100);
}
void astop()            //停止
{
  motor(pinMotorCWA,pinMotorCWB,0,0);
  motor(pinMotorCWC,pinMotorCWD,0,0);
//  motor(7,6,1,0); 
}
void setup()
{
  Serial.begin(9600);
  Serial1.begin(9600);
  pinMode(pinMotorCWA,  OUTPUT);
  pinMode(pinMotorCWB, OUTPUT);
 }
void loop() 
{ 
  while(Serial1.available())
   {
     char c=Serial1.read();
     Serial.println(c);
      if(c=='A')
        {
           Serial.println("runfoward-----------");
           runfoward(180);
           delay(2000);
        }else if(c=='B'){
          Serial.println("runback***********");
          runback(180);
        }else if(c=='C'){
          Serial.println("runback$$$$$$$$$$$$");
          turnL(180);
        }else if(c=='D'){
          Serial.println("runback@@@@@@@@@@");
          turnR(180);
        }else if(c=='E'){
          Serial.println("astop!!!!!!!!!!!");
          astop();
        }
   }

}

 问题就是蓝牙有时候就断掉了。

原文地址:https://www.cnblogs.com/taiguyiba/p/7291554.html