|
/*注意事項(xiàng):(在燒寫(xiě)的過(guò)程中,請(qǐng)先斷開(kāi)藍(lán)牙模塊和Nano板的連接,否則會(huì)燒不進(jìn)程序。)
1.寫(xiě)代碼到Arduino板上時(shí),數(shù)字0和1口不能接線,必需撥掉(不要帶電撥線,容易燒)
2.藍(lán)牙的TX口接Arduino板上的0口,RX口接Arduino板上的1口
*/
#include <Servo.h> // 聲明調(diào)用Servo.h庫(kù)
Servo myservo; // 創(chuàng)建一個(gè)舵機(jī)對(duì)象
int pos = 0;
// 變量pos用來(lái)存儲(chǔ)舵機(jī)位置
void setup() {
Serial.begin(9600); //串口波特率(使用藍(lán)牙串口必需此句)
//舵機(jī)引出三根線。一根是紅色,連到+5V上。一根棕色(有些是黑的),連到GND。
//還有一根是黃色或者橘色,連到數(shù)字引腳9。
myservo.attach(9); // 將引腳9上的舵機(jī)與聲明的舵機(jī)對(duì)象連接起來(lái)
}
void loop() {
while(Serial.available()) //判斷緩沖器狀態(tài)。
{
char c=Serial.read(); //讀取串口
if(c=='A') //判斷串口是否等于A
{
for(pos = 0; pos < 180; pos += 1){ // 舵機(jī)從0°轉(zhuǎn)到180°,每次增加1°
myservo.write(pos); // 給舵機(jī)寫(xiě)入角度
delay(15); // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
}
Serial.println("LEFT");// 串口輸出數(shù)據(jù)并帶回車符。
}
if(c=='B') //判斷串口是否等于B
{
for(pos = 180; pos>=1; pos-=1) { // 舵機(jī)從180°轉(zhuǎn)回到0°,每次減小1°
myservo.write(pos); // 寫(xiě)角度到舵機(jī)
delay(15); // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
}
Serial.println("RIGHT");// 串口輸出數(shù)據(jù)并帶回車符。
}
}
}
|
|