天天看點

arduino的智能小車的功能3:藍牙遙控

arduino的智能小車的功能3:藍牙遙控

arduino智能小車小車的藍牙遙控

材料清單:

HC-05的藍牙子產品;

arduino的智能小車一台;

杜邦線若幹:

首先我們需要在電腦上下載下傳序列槽調試軟體,并進行藍牙的調試,確定藍牙子產品可以正常使用和可以進行通信,手機端下載下傳SPP藍牙序列槽,可以進行資訊的傳送還有終端的接收顯示,還可以進行按鍵和開關的編輯。

下面是序列槽調試軟體,在上面進行正确的設定,然後确認藍牙子產品可以正常發送和接收資訊,即可進行藍牙子產品在小車上的安裝。

arduino的智能小車的功能3:藍牙遙控

注意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();
    }
           

繼續閱讀