蓝牙模块一共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(); } } }
问题就是蓝牙有时候就断掉了。