您的位置:首页 > 产品设计 > UI/UE

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

2017-08-05 21:11 411 查看
蓝牙模块一共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();
}
}

}


问题就是蓝牙有时候就断掉了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: