arduino的智能小車的功能3:藍牙遙控
arduino智能小車小車的藍牙遙控
材料清單:
HC-05的藍牙子產品;
arduino的智能小車一台;
杜邦線若幹:
首先我們需要在電腦上下載下傳序列槽調試軟體,并進行藍牙的調試,確定藍牙子產品可以正常使用和可以進行通信,手機端下載下傳SPP藍牙序列槽,可以進行資訊的傳送還有終端的接收顯示,還可以進行按鍵和開關的編輯。
下面是序列槽調試軟體,在上面進行正确的設定,然後确認藍牙子產品可以正常發送和接收資訊,即可進行藍牙子產品在小車上的安裝。
注意RX和TX的反接。
下載下傳程式時RX,TX上面不要接東西。
接下來是代碼。
代碼段的思路是,當接收到1時,小車直行,當接收到2時,小車後退,當接收到3時,小車左轉,當接收到4時,小車右轉,其他指令時,小車暫停。
#include <Servo.h>
Servo s; //舵機
int mL1=;//左1
int mL2=;
int mR1=;//右1
int mR2=;
void setup()
{
s.attach();//舵機信号線
s.write();//舵機初始化角度
Serial.begin();
pinMode(mL1,OUTPUT);
pinMode(mL2,OUTPUT);
pinMode(mR1,OUTPUT);
pinMode(mR2,OUTPUT);
}
void loop()
{
if(Serial.available())
{
char num = Serial.read();
Serial.println(num);
if(num == '1'){
line();
}else if(num == '2'){
back();
}else if(num == '3') {
L();
}else if(num == '4'){
R();
}else{
lull();
}
}
}
void line(){//直線
analogWrite(mL1,);
analogWrite(mL2,LOW);
analogWrite(mR1,);
analogWrite(mR2,LOW);
delay();
}
void lull(){//暫停
digitalWrite(mR1,LOW);
digitalWrite(mL1,LOW);
digitalWrite(mR2,LOW);
digitalWrite(mL2,LOW);
delay();
}
void back(){//後退
analogWrite(mL1,);
analogWrite(mL2,);
digitalWrite(mR1,LOW);
analogWrite(mR2,);
delay();
}
void R(){//右轉
analogWrite(mL1,);
analogWrite(mL2,);
analogWrite(mR1,);
analogWrite(mR2,);
delay();
}
void L(){//左轉
analogWrite(mL1,);
analogWrite(mL2,);
analogWrite(mR1,);
analogWrite(mR2,);
delay();
}