ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
生活随笔
收集整理的這篇文章主要介紹了
ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在下載到開發(fā)板之前要選擇好板和端口,具體參見:
ZYAR20A 亞克力2驅(qū) 藍(lán)牙 298尋跡避障機(jī)器人 —— Arduino相關(guān)設(shè)置
代碼
// 智能小車按鍵啟動(dòng)和蜂鳴器報(bào)警 //=============================================================== //#include <Servo.h> int Left_motor_go=8; //左電機(jī)前進(jìn)(IN1) int Left_motor_back=9; //左電機(jī)后退(IN2)int Right_motor_go=10; // 右電機(jī)前進(jìn)(IN3) int Right_motor_back=11; // 右電機(jī)后退(IN4)int key=A2;//定義按鍵 數(shù)字A2 接口 int beep=A3;//定義蜂鳴器 數(shù)字A3 接口void setup() {//初始化電機(jī)驅(qū)動(dòng)IO為輸出方式pinMode(Left_motor_go,OUTPUT); // PIN 8 (PWM)pinMode(Left_motor_back,OUTPUT); // PIN 9 (PWM)pinMode(Right_motor_go,OUTPUT);// PIN 10 (PWM) pinMode(Right_motor_back,OUTPUT);// PIN 11 (PWM)pinMode(key,INPUT);//定義按鍵接口為輸入接口pinMode(beep,OUTPUT); } void run(int time) // 前進(jìn) {digitalWrite(Right_motor_go,HIGH); // 右電機(jī)前進(jìn)digitalWrite(Right_motor_back,LOW); analogWrite(Right_motor_go,200);//PWM比例0~255調(diào)速,左右輪差異略增減analogWrite(Right_motor_back,0);digitalWrite(Left_motor_go,LOW); // 左電機(jī)前進(jìn)digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0);//PWM比例0~255調(diào)速,左右輪差異略增減analogWrite(Left_motor_back,200);delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void brake(int time) //剎車,停車 {digitalWrite(Right_motor_go,LOW);digitalWrite(Right_motor_back,LOW);digitalWrite(Left_motor_go,LOW);digitalWrite(Left_motor_back,LOW);delay(time * 100);//執(zhí)行時(shí)間,可以調(diào)整 }void left(int time) //左轉(zhuǎn)(左輪不動(dòng),右輪前進(jìn)) {digitalWrite(Right_motor_go,HIGH); // 右電機(jī)前進(jìn)digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200); analogWrite(Right_motor_back,0);//PWM比例0~255調(diào)速digitalWrite(Left_motor_go,LOW); //左輪后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,0);//PWM比例0~255調(diào)速delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void spin_left(int time) //左轉(zhuǎn)(左輪后退,右輪前進(jìn)) {digitalWrite(Right_motor_go,HIGH); // 右電機(jī)前進(jìn)digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200); analogWrite(Right_motor_back,0);//PWM比例0~255調(diào)速digitalWrite(Left_motor_go,HIGH); //左輪后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,200); analogWrite(Left_motor_back,0);//PWM比例0~255調(diào)速delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void right(int time) //右轉(zhuǎn)(右輪不動(dòng),左輪前進(jìn)) {digitalWrite(Right_motor_go,LOW); //右電機(jī)后退digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,0); analogWrite(Right_motor_back,0);//PWM比例0~255調(diào)速digitalWrite(Left_motor_go,LOW);//左電機(jī)前進(jìn)digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,200);//PWM比例0~255調(diào)速delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void spin_right(int time) //右轉(zhuǎn)(右輪后退,左輪前進(jìn)) {digitalWrite(Right_motor_go,LOW); //右電機(jī)后退digitalWrite(Right_motor_back,HIGH);analogWrite(Right_motor_go,0); analogWrite(Right_motor_back,200);//PWM比例0~255調(diào)速digitalWrite(Left_motor_go,LOW);//左電機(jī)前進(jìn)digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,200);//PWM比例0~255調(diào)速delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void back(int time) //后退 {digitalWrite(Right_motor_go,LOW); //右輪后退digitalWrite(Right_motor_back,HIGH);analogWrite(Right_motor_go,0);analogWrite(Right_motor_back,150);//PWM比例0~255調(diào)速digitalWrite(Left_motor_go,HIGH); //左輪后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,150);analogWrite(Left_motor_back,0);//PWM比例0~255調(diào)速delay(time * 100); //執(zhí)行時(shí)間,可以調(diào)整 }void keysacn() {int val;val=digitalRead(key);//讀取數(shù)字7 口電平值賦給valwhile(!digitalRead(key))//當(dāng)按鍵沒被按下時(shí),一直循環(huán){val=digitalRead(key);//此句可省略,可讓循環(huán)跑空}while(digitalRead(key))//當(dāng)按鍵被按下時(shí){delay(10); //延時(shí)10msval=digitalRead(key);//讀取數(shù)字7 口電平值賦給valif(val==HIGH) //第二次判斷按鍵是否被按下{digitalWrite(beep,HIGH); //蜂鳴器響while(!digitalRead(key)) //判斷按鍵是否被松開digitalWrite(beep,LOW); //蜂鳴器停止}elsedigitalWrite(beep,LOW);//蜂鳴器停止} }void loop() {keysacn(); //調(diào)用按鍵掃描函數(shù)back(10); //后退1sbrake(5); //停止0.5srun(10);//前進(jìn)1sbrake(5); //停止0.5sleft(10);//向左轉(zhuǎn)1sright(10);//向右轉(zhuǎn)1sspin_left(20);//向左旋轉(zhuǎn)2sspin_right(20);//向右旋轉(zhuǎn)2sbrake(5); //停車 }總結(jié)
以上是生活随笔為你收集整理的ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZYAR20A 亚克力2驱 蓝牙 298
- 下一篇: ZYAR20A 亚克力2驱 蓝牙 298