[ Arduino ] – 藍芽坦克車 接收端程式碼 - [ 153 ]

[javascript]
// 藍芽功能
#include
SoftwareSerial BT(11, 12); // 接收腳, 傳送腳
char val; // 儲存接收資料的變數
const byte LED_PIN = 14; // 定義LED腳位

// motor 右
int enA = 10;
int in1 = 9;
int in2 = 8;
// motor 左
int enB = 5;
int in3 = 7;
int in4 = 6;

void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

BT.begin(9600);
pinMode(LED_PIN, OUTPUT);
}
//前進
void forward(){
turn_off();
//右
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 100);
//左
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 100);
delay(200);
}

//後退
void goback(){
turn_off();
//右
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 100);
//左
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 100);
delay(300);
}

//左轉
void goleft(){
turn_off();
//右
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 100);
//左
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 100);
delay(200);
}

//右轉
void goright(){
turn_off();
//右
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 100);
//左
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 100);
delay(200);
}

//停止
void turn_off(){
// now turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}

void loop()
{
//forward();
//goback();
//goleft();
//goright();
//turn_off();
//delay(2000);

// 若收到藍牙模組的資料,則送到「序列埠監控視窗」
if (BT.available()) {
val = BT.read();
if (val == ‘f’) {
forward();
BT.println("forward");
} else if (val == ‘b’) {
goback();
BT.println("goback");
} else if (val == ‘l’) {
goleft();
BT.println("goleft");
} else if (val == ‘r’) {
goright();
BT.println("goright");
} else if (val == ‘s’) {
turn_off();
BT.println("turn_off");
}

}

}
[/javascript]

!議建法想的你下留是或分享加讚按我幫請,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,請幫我按讚加分享或是留下你的想法建議!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *