//超音波智能避障(ARDUINO)
// L = 左
// R = 右
// F = 前
// B = 後
#include <Servo.h>
int pinLB=15; // 定義6腳位 左後
int pinLF=14; // 定義9腳位 左前
int pinRB=16; // 定義10腳位 右後
int pinRF=17; // 定義11腳位 右前
int inputPin = 9; // 定義超音波信號接收腳位
int outputPin =8; // 定義超音波信號發射腳位
int Fspeedd = 0; // 前速
int Rspeedd = 0; // 右速
int Lspeedd = 0; // 左速
int directionn = 0; // 前=8 後=2 左=4 右=6
Servo myservo; // 設 myservo
int delay_time = 250; // 伺服馬達轉向後的穩定時間
int Fgo = 8; // 前進
int Rgo = 6; // 右轉
int Lgo = 4; // 左轉
int Bgo = 2; // 倒車
void setup()
{
Serial.begin(9600); // 定義馬達輸出腳位
pinMode(pinLB,OUTPUT); // 腳位 8 (PWM)
pinMode(pinLF,OUTPUT); // 腳位 9 (PWM)
pinMode(pinRB,OUTPUT); // 腳位 10 (PWM)
pinMode(pinRF,OUTPUT); // 腳位 11 (PWM)
pinMode(inputPin, INPUT); // 定義超音波輸入腳位
pinMode(outputPin, OUTPUT); // 定義超音波輸出腳位
myservo.attach(10); // 定義伺服馬達輸出第10腳位(PWM)
}
void advance(int a) // 前進
{
digitalWrite(pinRB,LOW); // 使馬達(右後)動作
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,LOW); // 使馬達(左後)動作
digitalWrite(pinLF,HIGH);
delay(a * 100);
}
void right(int b) //右轉(單輪)
{
digitalWrite(pinRB,LOW); //使馬達(右後)動作
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,HIGH);
digitalWrite(pinLF,HIGH);
delay(b * 100);
}
void left(int c) //左轉(單輪)
{
digitalWrite(pinRB,HIGH);
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,LOW); //使馬達(左後)動作
digitalWrite(pinLF,HIGH);
delay(c * 100);
}
void turnR(int d) //右轉(雙輪)
{
digitalWrite(pinRB,LOW); //使馬達(右後)動作
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,HIGH);
digitalWrite(pinLF,LOW); //使馬達(左前)動作
delay(d * 100);
}
void turnL(int e) //左轉(雙輪)
{
digitalWrite(pinRB,HIGH);
digitalWrite(pinRF,LOW); //使馬達(右前)動作
digitalWrite(pinLB,LOW); //使馬達(左後)動作
digitalWrite(pinLF,HIGH);
delay(e * 100);
}
void stopp(int f) //停止
{
digitalWrite(pinRB,HIGH);
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,HIGH);
digitalWrite(pinLF,HIGH);
delay(f * 100);
}
void back(int g) //後退
{
digitalWrite(pinRB,HIGH); //使馬達(右後)動作
digitalWrite(pinRF,LOW);
digitalWrite(pinLB,HIGH); //使馬達(左後)動作
digitalWrite(pinLF,LOW);
delay(g * 100);
}
void detection() //測量3個角度(0.90.179)
{
int delay_time = 250; // 伺服馬達轉向後的穩定時間
ask_pin_F(); // 讀取前方距離
if(Fspeedd < 10) // 假如前方距離小於10公分
{
stopp(1); // 清除輸出資料
back(2); // 後退 0.2秒
}
if(Fspeedd < 25) // 假如前方距離小於25公分
{
stopp(1); // 清除輸出資料
ask_pin_L(); // 讀取左方距離
delay(delay_time); // 等待伺服馬達穩定
ask_pin_R(); // 讀取右方距離
delay(delay_time); // 等待伺服馬達穩定
if(Lspeedd > Rspeedd) //假如 左邊距離大於右邊距離
{
directionn = Rgo; //向右走
}
if(Lspeedd <= Rspeedd) //假如 左邊距離小於或等於右邊距離
{
directionn = Lgo; //向左走
}
if (Lspeedd < 10 && Rspeedd < 10) //假如 左邊距離和右邊距離皆小於10公分
{
directionn = Bgo; //向後走
}
}
else //加如前方不小於(大於)25公分
{
directionn = Fgo; //向前走
}
}
void ask_pin_F() // 量出前方距離
{
myservo.write(90);
digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓
float Fdistance = pulseIn(inputPin, HIGH); // 讀差相差時間
Fdistance= Fdistance/5.8/10; // 將時間轉為距離距离(單位:公分)
Serial.print("F distance:"); //輸出距離(單位:公分)
Serial.println(Fdistance); //顯示距離
Fspeedd = Fdistance; // 將距離 讀入Fspeedd(前速)
}
void ask_pin_L() // 量出左邊距離
{
myservo.write(5);
delay(delay_time);
digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓
float Ldistance = pulseIn(inputPin, HIGH); // 讀差相差時間
Ldistance= Ldistance/5.8/10; // 將時間轉為距離距离(單位:公分)
Serial.print("L distance:"); //輸出距離(單位:公分)
Serial.println(Ldistance); //顯示距離
Lspeedd = Ldistance; // 將距離 讀入Lspeedd(左速)
}
void ask_pin_R() // 量出右邊距離
{
myservo.write(177);
delay(delay_time);
digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓
float Rdistance = pulseIn(inputPin, HIGH); // 讀差相差時間
Rdistance= Rdistance/5.8/10; // 將時間轉為距離距离(單位:公分)
Serial.print("R distance:"); //輸出距離(單位:公分)
Serial.println(Rdistance); //顯示距離
Rspeedd = Rdistance; // 將距離 讀入Rspeedd(右速)
}
void loop()
{
myservo.write(90); //讓伺服馬達回歸 預備位置 準備下一次的測量
detection(); //測量角度 並且判斷要往哪一方向移動
if(directionn == 2) //假如directionn(方向) = 2(倒車)
{
back(8); // 倒退(車)
turnL(2); //些微向左方移動(防止卡在死巷裡)
Serial.print(" Reverse "); //顯示方向(倒退)
}
if(directionn == 6) //假如directionn(方向) = 6(右轉)
{
back(1);
turnR(6); // 右轉
Serial.print(" Right "); //顯示方向(左轉)
}
if(directionn == 4) //假如directionn(方向) = 4(左轉)
{
back(1);
turnL(6); // 左轉
Serial.print(" Left "); //顯示方向(右轉)
}
if(directionn == 8) //假如directionn(方向) = 8(前進)
{
advance(1); // 正常前進
Serial.print(" Advance "); //顯示方向(前進)
Serial.print(" ");
}
}
Ly/otoXpn7Pms6Lmmbrog73pgb/pmpzvvIhBUkRVSU5P77yJCi8vICAgIEwgPSDlt6YKLy8gICAgUiA9IOWPswovLyAgICBGID0g5YmNCi8vICAgIEIgPSDlvowKIAojaW5jbHVkZSA8U2Vydm8uaD4gCmludCBwaW5MQj0xNTsgICAgIC8vIOWumue+qTbohbPkvY0g5bem5b6MCmludCBwaW5MRj0xNDsgICAgIC8vIOWumue+qTnohbPkvY0g5bem5YmNCiAKaW50IHBpblJCPTE2OyAgICAvLyDlrprnvqkxMOiFs+S9jSDlj7PlvowKaW50IHBpblJGPTE3OyAgICAvLyDlrprnvqkxMeiFs+S9jSDlj7PliY0KIAppbnQgaW5wdXRQaW4gPSA5OyAgLy8g5a6a576p6LaF6Z+z5rOi5L+h6Jmf5o6l5pS26IWz5L2NCmludCBvdXRwdXRQaW4gPTg7ICAvLyDlrprnvqnotoXpn7Pms6Lkv6HomZ/nmbzlsITohbPkvY0KIAppbnQgRnNwZWVkZCA9IDA7ICAgICAgLy8g5YmN6YCfCmludCBSc3BlZWRkID0gMDsgICAgICAvLyDlj7PpgJ8KaW50IExzcGVlZGQgPSAwOyAgICAgIC8vIOW3pumAnwppbnQgZGlyZWN0aW9ubiA9IDA7ICAgLy8g5YmNPTgg5b6MPTIg5bemPTQg5Y+zPTYgClNlcnZvIG15c2Vydm87ICAgICAgICAvLyDoqK0gbXlzZXJ2bwppbnQgZGVsYXlfdGltZSA9IDI1MDsgLy8g5Ly65pyN6aas6YGU6L2J5ZCR5b6M55qE56mp5a6a5pmC6ZaTCiAKaW50IEZnbyA9IDg7ICAgICAgICAgLy8g5YmN6YCyCmludCBSZ28gPSA2OyAgICAgICAgIC8vIOWPs+i9iQppbnQgTGdvID0gNDsgICAgICAgICAvLyDlt6bovYkKaW50IEJnbyA9IDI7ICAgICAgICAgLy8g5YCS6LuKCiAKdm9pZCBzZXR1cCgpCiB7CiAgU2VyaWFsLmJlZ2luKDk2MDApOyAgICAgLy8g5a6a576p6aas6YGU6Ly45Ye66IWz5L2NIAogIHBpbk1vZGUocGluTEIsT1VUUFVUKTsgLy8g6IWz5L2NIDggKFBXTSkKICBwaW5Nb2RlKHBpbkxGLE9VVFBVVCk7IC8vIOiFs+S9jSA5IChQV00pCiAgcGluTW9kZShwaW5SQixPVVRQVVQpOyAvLyDohbPkvY0gMTAgKFBXTSkgCiAgcGluTW9kZShwaW5SRixPVVRQVVQpOyAvLyDohbPkvY0gMTEgKFBXTSkKIAogIHBpbk1vZGUoaW5wdXRQaW4sIElOUFVUKTsgICAgLy8g5a6a576p6LaF6Z+z5rOi6Ly45YWl6IWz5L2NCiAgcGluTW9kZShvdXRwdXRQaW4sIE9VVFBVVCk7ICAvLyDlrprnvqnotoXpn7Pms6LovLjlh7rohbPkvY0gICAKIAogIG15c2Vydm8uYXR0YWNoKDEwKTsgICAgLy8g5a6a576p5Ly65pyN6aas6YGU6Ly45Ye656ysMTDohbPkvY0oUFdNKQogfQp2b2lkIGFkdmFuY2UoaW50IGEpICAgICAvLyDliY3pgLIKICAgIHsKICAgICBkaWdpdGFsV3JpdGUocGluUkIsTE9XKTsgIC8vIOS9v+mmrOmBlO+8iOWPs+W+jO+8ieWLleS9nAogICAgIGRpZ2l0YWxXcml0ZShwaW5SRixISUdIKTsKICAgICBkaWdpdGFsV3JpdGUocGluTEIsTE9XKTsgIC8vIOS9v+mmrOmBlO+8iOW3puW+jO+8ieWLleS9nAogICAgIGRpZ2l0YWxXcml0ZShwaW5MRixISUdIKTsKICAgICBkZWxheShhICogMTAwKTsgICAgIAogICAgfQogCnZvaWQgcmlnaHQoaW50IGIpICAgICAgICAvL+WPs+i9iSjllq7ovKopCiAgICB7CiAgICAgZGlnaXRhbFdyaXRlKHBpblJCLExPVyk7ICAgLy/kvb/ppqzpgZTvvIjlj7PlvozvvInli5XkvZwKICAgICBkaWdpdGFsV3JpdGUocGluUkYsSElHSCk7CiAgICAgZGlnaXRhbFdyaXRlKHBpbkxCLEhJR0gpOwogICAgIGRpZ2l0YWxXcml0ZShwaW5MRixISUdIKTsKICAgICBkZWxheShiICogMTAwKTsKICAgIH0Kdm9pZCBsZWZ0KGludCBjKSAgICAgICAgIC8v5bem6L2JKOWWrui8qikKICAgIHsKICAgICBkaWdpdGFsV3JpdGUocGluUkIsSElHSCk7CiAgICAgZGlnaXRhbFdyaXRlKHBpblJGLEhJR0gpOwogICAgIGRpZ2l0YWxXcml0ZShwaW5MQixMT1cpOyAgIC8v5L2/6aas6YGU77yI5bem5b6M77yJ5YuV5L2cCiAgICAgZGlnaXRhbFdyaXRlKHBpbkxGLEhJR0gpOwogICAgIGRlbGF5KGMgKiAxMDApOwogICAgfQp2b2lkIHR1cm5SKGludCBkKSAgICAgICAgLy/lj7PovYko6ZuZ6LyqKQogICAgewogICAgIGRpZ2l0YWxXcml0ZShwaW5SQixMT1cpOyAgLy/kvb/ppqzpgZTvvIjlj7PlvozvvInli5XkvZwKICAgICBkaWdpdGFsV3JpdGUocGluUkYsSElHSCk7CiAgICAgZGlnaXRhbFdyaXRlKHBpbkxCLEhJR0gpOwogICAgIGRpZ2l0YWxXcml0ZShwaW5MRixMT1cpOyAgLy/kvb/ppqzpgZTvvIjlt6bliY3vvInli5XkvZwKICAgICBkZWxheShkICogMTAwKTsKICAgIH0Kdm9pZCB0dXJuTChpbnQgZSkgICAgICAgIC8v5bem6L2JKOmbmei8qikKICAgIHsKICAgICBkaWdpdGFsV3JpdGUocGluUkIsSElHSCk7CiAgICAgZGlnaXRhbFdyaXRlKHBpblJGLExPVyk7ICAgLy/kvb/ppqzpgZTvvIjlj7PliY3vvInli5XkvZwKICAgICBkaWdpdGFsV3JpdGUocGluTEIsTE9XKTsgICAvL+S9v+mmrOmBlO+8iOW3puW+jO+8ieWLleS9nAogICAgIGRpZ2l0YWxXcml0ZShwaW5MRixISUdIKTsKICAgICBkZWxheShlICogMTAwKTsKICAgIH0gICAgCnZvaWQgc3RvcHAoaW50IGYpICAgICAgICAgLy/lgZzmraIKICAgIHsKICAgICBkaWdpdGFsV3JpdGUocGluUkIsSElHSCk7CiAgICAgZGlnaXRhbFdyaXRlKHBpblJGLEhJR0gpOwogICAgIGRpZ2l0YWxXcml0ZShwaW5MQixISUdIKTsKICAgICBkaWdpdGFsV3JpdGUocGluTEYsSElHSCk7CiAgICAgZGVsYXkoZiAqIDEwMCk7CiAgICB9CnZvaWQgYmFjayhpbnQgZykgICAgICAgICAgLy/lvozpgIAKICAgIHsKIAogICAgIGRpZ2l0YWxXcml0ZShwaW5SQixISUdIKTsgIC8v5L2/6aas6YGU77yI5Y+z5b6M77yJ5YuV5L2cCiAgICAgZGlnaXRhbFdyaXRlKHBpblJGLExPVyk7CiAgICAgZGlnaXRhbFdyaXRlKHBpbkxCLEhJR0gpOyAgLy/kvb/ppqzpgZTvvIjlt6blvozvvInli5XkvZwKICAgICBkaWdpdGFsV3JpdGUocGluTEYsTE9XKTsKICAgICBkZWxheShnICogMTAwKTsgICAgIAogICAgfQogCnZvaWQgZGV0ZWN0aW9uKCkgICAgICAgIC8v5ris6YePM+WAi+inkuW6pigwLjkwLjE3OSkKICAgIHsgICAgICAKICAgICAgaW50IGRlbGF5X3RpbWUgPSAyNTA7ICAgLy8g5Ly65pyN6aas6YGU6L2J5ZCR5b6M55qE56mp5a6a5pmC6ZaTCiAgICAgIGFza19waW5fRigpOyAgICAgICAgICAgIC8vIOiugOWPluWJjeaWuei3nembogogCiAgICAgaWYoRnNwZWVkZCA8IDEwKSAgICAgICAgIC8vIOWBh+WmguWJjeaWuei3nembouWwj+aWvDEw5YWs5YiGCiAgICAgIHsKICAgICAgc3RvcHAoMSk7ICAgICAgICAgICAgICAgLy8g5riF6Zmk6Ly45Ye66LOH5paZIAogICAgICBiYWNrKDIpOyAgICAgICAgICAgICAgICAvLyDlvozpgIAgMC4y56eSCiAgICAgIH0KIAogICAgICBpZihGc3BlZWRkIDwgMjUpICAgICAgICAgLy8g5YGH5aaC5YmN5pa56Led6Zui5bCP5pa8MjXlhazliIYKICAgICAgewogICAgICAgIHN0b3BwKDEpOyAgICAgICAgICAgICAgIC8vIOa4hemZpOi8uOWHuuizh+aWmSAKICAgICAgICBhc2tfcGluX0woKTsgICAgICAgICAgICAvLyDoroDlj5blt6bmlrnot53pm6IKICAgICAgICBkZWxheShkZWxheV90aW1lKTsgICAgICAvLyDnrYnlvoXkvLrmnI3ppqzpgZTnqanlrpoKICAgICAgICBhc2tfcGluX1IoKTsgICAgICAgICAgICAvLyDoroDlj5blj7Pmlrnot53pm6IgIAogICAgICAgIGRlbGF5KGRlbGF5X3RpbWUpOyAgICAgIC8vIOetieW+heS8uuacjemmrOmBlOepqeWumiAgCiAKICAgICAgICBpZihMc3BlZWRkID4gUnNwZWVkZCkgICAvL+WBh+WmgiDlt6bpgorot53pm6LlpKfmlrzlj7Ppgorot53pm6IKICAgICAgICB7CiAgICAgICAgIGRpcmVjdGlvbm4gPSBSZ287ICAgICAgLy/lkJHlj7PotbAKICAgICAgICB9CiAKICAgICAgICBpZihMc3BlZWRkIDw9IFJzcGVlZGQpICAgLy/lgYflpoIg5bem6YKK6Led6Zui5bCP5pa85oiW562J5pa85Y+z6YKK6Led6ZuiCiAgICAgICAgewogICAgICAgICBkaXJlY3Rpb25uID0gTGdvOyAgICAgIC8v5ZCR5bem6LWwCiAgICAgICAgfSAKIAogICAgICAgIGlmIChMc3BlZWRkIDwgMTAgJiYgUnNwZWVkZCA8IDEwKSAgIC8v5YGH5aaCIOW3pumCiui3nembouWSjOWPs+mCiui3nemboueahuWwj+aWvDEw5YWs5YiGCiAgICAgICAgewogICAgICAgICBkaXJlY3Rpb25uID0gQmdvOyAgICAgIC8v5ZCR5b6M6LWwICAgICAgICAKICAgICAgICB9ICAgICAgICAgIAogICAgICB9CiAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgLy/liqDlpoLliY3mlrnkuI3lsI/mlrwo5aSn5pa8KTI15YWs5YiGICAgICAKICAgICAgewogICAgICAgIGRpcmVjdGlvbm4gPSBGZ287ICAgICAgICAvL+WQkeWJjei1sCAgICAgCiAgICAgIH0KIAogICAgfSAgICAKdm9pZCBhc2tfcGluX0YoKSAgIC8vIOmHj+WHuuWJjeaWuei3nemboiAKICAgIHsKICAgICAgbXlzZXJ2by53cml0ZSg5MCk7CiAgICAgIGRpZ2l0YWxXcml0ZShvdXRwdXRQaW4sIExPVyk7ICAgLy8g6K6T6LaF6IGy5rOi55m85bCE5L2O6Zu75aOTMs68cwogICAgICBkZWxheU1pY3Jvc2Vjb25kcygyKTsKICAgICAgZGlnaXRhbFdyaXRlKG91dHB1dFBpbiwgSElHSCk7ICAvLyDorpPotoXogbLms6LnmbzlsITpq5jpm7vlo5MxMM68c++8jOmAmeijoeiHs+WwkeaYrzEwzrxzCiAgICAgIGRlbGF5TWljcm9zZWNvbmRzKDEwKTsKICAgICAgZGlnaXRhbFdyaXRlKG91dHB1dFBpbiwgTE9XKTsgICAgLy8g57at5oyB6LaF6IGy5rOi55m85bCE5L2O6Zu75aOTCiAgICAgIGZsb2F0IEZkaXN0YW5jZSA9IHB1bHNlSW4oaW5wdXRQaW4sIEhJR0gpOyAgLy8g6K6A5beu55u45beu5pmC6ZaTCiAgICAgIEZkaXN0YW5jZT0gRmRpc3RhbmNlLzUuOC8xMDsgICAgICAgLy8g5bCH5pmC6ZaT6L2J54K66Led6Zui6Led56a777yI5Zau5L2N77ya5YWs5YiG77yJCiAgICAgIFNlcmlhbC5wcmludCgiRiBkaXN0YW5jZToiKTsgICAgICAvL+i8uOWHuui3nembou+8iOWWruS9je+8muWFrOWIhu+8iQogICAgICBTZXJpYWwucHJpbnRsbihGZGlzdGFuY2UpOyAgICAgICAgIC8v6aGv56S66Led6ZuiCiAgICAgIEZzcGVlZGQgPSBGZGlzdGFuY2U7ICAgICAgICAgICAgICAvLyDlsIfot53pm6Ig6K6A5YWlRnNwZWVkZCjliY3pgJ8pCiAgICB9ICAKIHZvaWQgYXNrX3Bpbl9MKCkgICAvLyDph4/lh7rlt6bpgorot53pm6IgCiAgICB7CiAgICAgIG15c2Vydm8ud3JpdGUoNSk7CiAgICAgIGRlbGF5KGRlbGF5X3RpbWUpOwogICAgICBkaWdpdGFsV3JpdGUob3V0cHV0UGluLCBMT1cpOyAgIC8vIOiuk+i2heiBsuazoueZvOWwhOS9jumbu+WjkzLOvHMKICAgICAgZGVsYXlNaWNyb3NlY29uZHMoMik7CiAgICAgIGRpZ2l0YWxXcml0ZShvdXRwdXRQaW4sIEhJR0gpOyAgLy8g6K6T6LaF6IGy5rOi55m85bCE6auY6Zu75aOTMTDOvHPvvIzpgJnoo6Hoh7PlsJHmmK8xMM68cwogICAgICBkZWxheU1pY3Jvc2Vjb25kcygxMCk7CiAgICAgIGRpZ2l0YWxXcml0ZShvdXRwdXRQaW4sIExPVyk7ICAgIC8vIOe2reaMgei2heiBsuazoueZvOWwhOS9jumbu+WjkwogICAgICBmbG9hdCBMZGlzdGFuY2UgPSBwdWxzZUluKGlucHV0UGluLCBISUdIKTsgIC8vIOiugOW3ruebuOW3ruaZgumWkwogICAgICBMZGlzdGFuY2U9IExkaXN0YW5jZS81LjgvMTA7ICAgICAgIC8vIOWwh+aZgumWk+i9ieeCuui3nemboui3neemu++8iOWWruS9je+8muWFrOWIhu+8iQogICAgICBTZXJpYWwucHJpbnQoIkwgZGlzdGFuY2U6Iik7ICAgICAgIC8v6Ly45Ye66Led6Zui77yI5Zau5L2N77ya5YWs5YiG77yJCiAgICAgIFNlcmlhbC5wcmludGxuKExkaXN0YW5jZSk7ICAgICAgICAgLy/poa/npLrot53pm6IKICAgICAgTHNwZWVkZCA9IExkaXN0YW5jZTsgICAgICAgICAgICAgIC8vIOWwh+i3nemboiDoroDlhaVMc3BlZWRkKOW3pumAnykKICAgIH0gIAp2b2lkIGFza19waW5fUigpICAgLy8g6YeP5Ye65Y+z6YKK6Led6ZuiIAogICAgewogICAgICBteXNlcnZvLndyaXRlKDE3Nyk7CiAgICAgIGRlbGF5KGRlbGF5X3RpbWUpOwogICAgICBkaWdpdGFsV3JpdGUob3V0cHV0UGluLCBMT1cpOyAgIC8vIOiuk+i2heiBsuazoueZvOWwhOS9jumbu+WjkzLOvHMKICAgICAgZGVsYXlNaWNyb3NlY29uZHMoMik7CiAgICAgIGRpZ2l0YWxXcml0ZShvdXRwdXRQaW4sIEhJR0gpOyAgLy8g6K6T6LaF6IGy5rOi55m85bCE6auY6Zu75aOTMTDOvHPvvIzpgJnoo6Hoh7PlsJHmmK8xMM68cwogICAgICBkZWxheU1pY3Jvc2Vjb25kcygxMCk7CiAgICAgIGRpZ2l0YWxXcml0ZShvdXRwdXRQaW4sIExPVyk7ICAgIC8vIOe2reaMgei2heiBsuazoueZvOWwhOS9jumbu+WjkwogICAgICBmbG9hdCBSZGlzdGFuY2UgPSBwdWxzZUluKGlucHV0UGluLCBISUdIKTsgIC8vIOiugOW3ruebuOW3ruaZgumWkwogICAgICBSZGlzdGFuY2U9IFJkaXN0YW5jZS81LjgvMTA7ICAgICAgIC8vIOWwh+aZgumWk+i9ieeCuui3nemboui3neemu++8iOWWruS9je+8muWFrOWIhu+8iQogICAgICBTZXJpYWwucHJpbnQoIlIgZGlzdGFuY2U6Iik7ICAgICAgIC8v6Ly45Ye66Led6Zui77yI5Zau5L2N77ya5YWs5YiG77yJCiAgICAgIFNlcmlhbC5wcmludGxuKFJkaXN0YW5jZSk7ICAgICAgICAgLy/poa/npLrot53pm6IKICAgICAgUnNwZWVkZCA9IFJkaXN0YW5jZTsgICAgICAgICAgICAgIC8vIOWwh+i3nemboiDoroDlhaVSc3BlZWRkKOWPs+mAnykKICAgIH0gIAogCnZvaWQgbG9vcCgpCiB7CiAgICBteXNlcnZvLndyaXRlKDkwKTsgIC8v6K6T5Ly65pyN6aas6YGU5Zue5q24IOmgkOWCmeS9jee9riDmupblgpnkuIvkuIDmrKHnmoTmuKzph48KICAgIGRldGVjdGlvbigpOyAgICAgICAgLy/muKzph4/op5LluqYg5Lim5LiU5Yik5pa36KaB5b6A5ZOq5LiA5pa55ZCR56e75YuVCiAKICAgaWYoZGlyZWN0aW9ubiA9PSAyKSAgLy/lgYflpoJkaXJlY3Rpb25uKOaWueWQkSkgPSAyKOWAkui7iikgICAgICAgICAgICAgCiAgIHsKICAgICBiYWNrKDgpOyAgICAgICAgICAgICAgICAgICAgLy8gIOWAkumAgCjou4opCiAgICAgdHVybkwoMik7ICAgICAgICAgICAgICAgICAgIC8v5Lqb5b6u5ZCR5bem5pa556e75YuVKOmYsuatouWNoeWcqOatu+W3t+ijoSkKICAgICBTZXJpYWwucHJpbnQoIiBSZXZlcnNlICIpOyAgIC8v6aGv56S65pa55ZCRKOWAkumAgCkKICAgfQogICBpZihkaXJlY3Rpb25uID09IDYpICAgICAgICAgICAvL+WBh+WmgmRpcmVjdGlvbm4o5pa55ZCRKSA9IDYo5Y+z6L2JKSAgICAKICAgewogICAgIGJhY2soMSk7IAogICAgIHR1cm5SKDYpOyAgICAgICAgICAgICAgICAgICAvLyDlj7PovYkKICAgICBTZXJpYWwucHJpbnQoIiBSaWdodCAiKTsgICAgLy/poa/npLrmlrnlkJEo5bem6L2JKQogICB9CiAgIGlmKGRpcmVjdGlvbm4gPT0gNCkgICAgICAgICAgLy/lgYflpoJkaXJlY3Rpb25uKOaWueWQkSkgPSA0KOW3pui9iSkgICAgCiAgIHsgIAogICAgIGJhY2soMSk7ICAgICAgCiAgICAgdHVybkwoNik7ICAgICAgICAgICAgICAgICAgLy8g5bem6L2JCiAgICAgU2VyaWFsLnByaW50KCIgTGVmdCAiKTsgICAgIC8v6aGv56S65pa55ZCRKOWPs+i9iSkgICAKICAgfSAgCiAgIGlmKGRpcmVjdGlvbm4gPT0gOCkgICAgICAgICAgLy/lgYflpoJkaXJlY3Rpb25uKOaWueWQkSkgPSA4KOWJjemAsikgICAgICAKICAgeyAKICAgIGFkdmFuY2UoMSk7ICAgICAgICAgICAgICAgICAvLyDmraPluLjliY3pgLIgIAogICAgU2VyaWFsLnByaW50KCIgQWR2YW5jZSAiKTsgICAvL+mhr+ekuuaWueWQkSjliY3pgLIpCiAgICBTZXJpYWwucHJpbnQoIiAgICIpOyAgICAKICAgfQogfQ==
Main.java:7: error: illegal character: '#'
#include <Servo.h>
^
Main.java:7: error: class, interface, or enum expected
#include <Servo.h>
^
Main.java:9: error: class, interface, or enum expected
int pinLF=14; // ??9?? ??
^
Main.java:11: error: class, interface, or enum expected
int pinRB=16; // ??10?? ??
^
Main.java:12: error: class, interface, or enum expected
int pinRF=17; // ??11?? ??
^
Main.java:14: error: class, interface, or enum expected
int inputPin = 9; // ???????????
^
Main.java:15: error: class, interface, or enum expected
int outputPin =8; // ???????????
^
Main.java:17: error: class, interface, or enum expected
int Fspeedd = 0; // ??
^
Main.java:18: error: class, interface, or enum expected
int Rspeedd = 0; // ??
^
Main.java:19: error: class, interface, or enum expected
int Lspeedd = 0; // ??
^
Main.java:20: error: class, interface, or enum expected
int directionn = 0; // ?=8 ?=2 ?=4 ?=6
^
Main.java:21: error: class, interface, or enum expected
Servo myservo; // ? myservo
^
Main.java:22: error: class, interface, or enum expected
int delay_time = 250; // ????????????
^
Main.java:24: error: class, interface, or enum expected
int Fgo = 8; // ??
^
Main.java:25: error: class, interface, or enum expected
int Rgo = 6; // ??
^
Main.java:26: error: class, interface, or enum expected
int Lgo = 4; // ??
^
Main.java:27: error: class, interface, or enum expected
int Bgo = 2; // ??
^
Main.java:29: error: class, interface, or enum expected
void setup()
^
Main.java:32: error: class, interface, or enum expected
pinMode(pinLB,OUTPUT); // ?? 8 (PWM)
^
Main.java:33: error: class, interface, or enum expected
pinMode(pinLF,OUTPUT); // ?? 9 (PWM)
^
Main.java:34: error: class, interface, or enum expected
pinMode(pinRB,OUTPUT); // ?? 10 (PWM)
^
Main.java:35: error: class, interface, or enum expected
pinMode(pinRF,OUTPUT); // ?? 11 (PWM)
^
Main.java:37: error: class, interface, or enum expected
pinMode(inputPin, INPUT); // ?????????
^
Main.java:38: error: class, interface, or enum expected
pinMode(outputPin, OUTPUT); // ?????????
^
Main.java:40: error: class, interface, or enum expected
myservo.attach(10); // ?????????10??(PWM)
^
Main.java:41: error: class, interface, or enum expected
}
^
Main.java:45: error: class, interface, or enum expected
digitalWrite(pinRF,HIGH);
^
Main.java:46: error: class, interface, or enum expected
digitalWrite(pinLB,LOW); // ?????????
^
Main.java:47: error: class, interface, or enum expected
digitalWrite(pinLF,HIGH);
^
Main.java:48: error: class, interface, or enum expected
delay(a * 100);
^
Main.java:49: error: class, interface, or enum expected
}
^
Main.java:54: error: class, interface, or enum expected
digitalWrite(pinRF,HIGH);
^
Main.java:55: error: class, interface, or enum expected
digitalWrite(pinLB,HIGH);
^
Main.java:56: error: class, interface, or enum expected
digitalWrite(pinLF,HIGH);
^
Main.java:57: error: class, interface, or enum expected
delay(b * 100);
^
Main.java:58: error: class, interface, or enum expected
}
^
Main.java:62: error: class, interface, or enum expected
digitalWrite(pinRF,HIGH);
^
Main.java:63: error: class, interface, or enum expected
digitalWrite(pinLB,LOW); //?????????
^
Main.java:64: error: class, interface, or enum expected
digitalWrite(pinLF,HIGH);
^
Main.java:65: error: class, interface, or enum expected
delay(c * 100);
^
Main.java:66: error: class, interface, or enum expected
}
^
Main.java:70: error: class, interface, or enum expected
digitalWrite(pinRF,HIGH);
^
Main.java:71: error: class, interface, or enum expected
digitalWrite(pinLB,HIGH);
^
Main.java:72: error: class, interface, or enum expected
digitalWrite(pinLF,LOW); //?????????
^
Main.java:73: error: class, interface, or enum expected
delay(d * 100);
^
Main.java:74: error: class, interface, or enum expected
}
^
Main.java:78: error: class, interface, or enum expected
digitalWrite(pinRF,LOW); //?????????
^
Main.java:79: error: class, interface, or enum expected
digitalWrite(pinLB,LOW); //?????????
^
Main.java:80: error: class, interface, or enum expected
digitalWrite(pinLF,HIGH);
^
Main.java:81: error: class, interface, or enum expected
delay(e * 100);
^
Main.java:82: error: class, interface, or enum expected
}
^
Main.java:86: error: class, interface, or enum expected
digitalWrite(pinRF,HIGH);
^
Main.java:87: error: class, interface, or enum expected
digitalWrite(pinLB,HIGH);
^
Main.java:88: error: class, interface, or enum expected
digitalWrite(pinLF,HIGH);
^
Main.java:89: error: class, interface, or enum expected
delay(f * 100);
^
Main.java:90: error: class, interface, or enum expected
}
^
Main.java:95: error: class, interface, or enum expected
digitalWrite(pinRF,LOW);
^
Main.java:96: error: class, interface, or enum expected
digitalWrite(pinLB,HIGH); //?????????
^
Main.java:97: error: class, interface, or enum expected
digitalWrite(pinLF,LOW);
^
Main.java:98: error: class, interface, or enum expected
delay(g * 100);
^
Main.java:99: error: class, interface, or enum expected
}
^
Main.java:104: error: class, interface, or enum expected
ask_pin_F(); // ??????
^
Main.java:106: error: class, interface, or enum expected
if(Fspeedd < 10) // ????????10??
^
Main.java:109: error: class, interface, or enum expected
back(2); // ?? 0.2?
^
Main.java:110: error: class, interface, or enum expected
}
^
Main.java:115: error: class, interface, or enum expected
ask_pin_L(); // ??????
^
Main.java:116: error: class, interface, or enum expected
delay(delay_time); // ????????
^
Main.java:117: error: class, interface, or enum expected
ask_pin_R(); // ??????
^
Main.java:118: error: class, interface, or enum expected
delay(delay_time); // ????????
^
Main.java:120: error: class, interface, or enum expected
if(Lspeedd > Rspeedd) //?? ??????????
^
Main.java:123: error: class, interface, or enum expected
}
^
Main.java:128: error: class, interface, or enum expected
}
^
Main.java:133: error: class, interface, or enum expected
}
^
Main.java:138: error: class, interface, or enum expected
}
^
Main.java:144: error: class, interface, or enum expected
digitalWrite(outputPin, LOW); // ?????????2?s
^
Main.java:145: error: class, interface, or enum expected
delayMicroseconds(2);
^
Main.java:146: error: class, interface, or enum expected
digitalWrite(outputPin, HIGH); // ?????????10?s??????10?s
^
Main.java:147: error: class, interface, or enum expected
delayMicroseconds(10);
^
Main.java:148: error: class, interface, or enum expected
digitalWrite(outputPin, LOW); // ??????????
^
Main.java:149: error: class, interface, or enum expected
float Fdistance = pulseIn(inputPin, HIGH); // ??????
^
Main.java:150: error: class, interface, or enum expected
Fdistance= Fdistance/5.8/10; // ????????????????
^
Main.java:151: error: class, interface, or enum expected
Serial.print("F distance:"); //???????????
^
Main.java:152: error: class, interface, or enum expected
Serial.println(Fdistance); //????
^
Main.java:153: error: class, interface, or enum expected
Fspeedd = Fdistance; // ??? ??Fspeedd(??)
^
Main.java:154: error: class, interface, or enum expected
}
^
Main.java:158: error: class, interface, or enum expected
delay(delay_time);
^
Main.java:159: error: class, interface, or enum expected
digitalWrite(outputPin, LOW); // ?????????2?s
^
Main.java:160: error: class, interface, or enum expected
delayMicroseconds(2);
^
Main.java:161: error: class, interface, or enum expected
digitalWrite(outputPin, HIGH); // ?????????10?s??????10?s
^
Main.java:162: error: class, interface, or enum expected
delayMicroseconds(10);
^
Main.java:163: error: class, interface, or enum expected
digitalWrite(outputPin, LOW); // ??????????
^
Main.java:164: error: class, interface, or enum expected
float Ldistance = pulseIn(inputPin, HIGH); // ??????
^
Main.java:165: error: class, interface, or enum expected
Ldistance= Ldistance/5.8/10; // ????????????????
^
Main.java:166: error: class, interface, or enum expected
Serial.print("L distance:"); //???????????
^
Main.java:167: error: class, interface, or enum expected
Serial.println(Ldistance); //????
^
Main.java:168: error: class, interface, or enum expected
Lspeedd = Ldistance; // ??? ??Lspeedd(??)
^
Main.java:169: error: class, interface, or enum expected
}
^
Main.java:173: error: class, interface, or enum expected
delay(delay_time);
^
Main.java:174: error: class, interface, or enum expected
digitalWrite(outputPin, LOW); // ?????????2?s
^
Main.java:175: error: class, interface, or enum expected
delayMicroseconds(2);
^
100 errors