电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

超声波避障程序VIP免费

超声波避障程序_第1页
1/6
超声波避障程序_第2页
2/6
超声波避障程序_第3页
3/6
1./*程序的开头要描述你的设备2.再来要说是脽写的日期版本3.然后碰到问题一次一次都要写清楚4.马达几个驱动电路都要描述5.L=左6.R=右7.F=前8.B=后9.*/10.#include11.intpinLB=6;//定义8脚位左后12.intpinLF=9;//定义9脚位左前13.14.intpinRB=10;//定义10脚位右后15.intpinRF=11;//定义11脚位右前16.17.intinputPin=A0;//定义超音波信号接收脚位18.intoutputPin=A1;//定义超音波信号发射脚位19.20.intFspeedd=0;//前速21.intRspeedd=0;//右速22.intLspeedd=0;//左速23.intdirectionn=0;//前=8后=2左=4右=624.Servomyservo;//设myservo25.intdelay_time=250;//伺服马达转向后的稳定时间26.27.intFgo=8;//前进28.intRgo=6;//右转29.intLgo=4;//左转30.intBgo=2;//倒车31.32.voidsetup()33.{34.Serial.begin(9600);//定义马达输出脚位35.pinMode(pinLB,OUTPUT);//脚位8(PWM)36.pinMode(pinLF,OUTPUT);//脚位9(PWM)37.pinMode(pinRB,OUTPUT);//脚位10(PWM)38.pinMode(pinRF,OUTPUT);//脚位11(PWM)39.40.pinMode(inputPin,INPUT);//定义超音波输入脚位41.pinMode(outputPin,OUTPUT);//定义超音波输出脚位42.43.myservo.attach(5);//定义伺服马达输出第5脚位(PWM)44.}45.voidadvance(inta)//前进46.{47.digitalWrite(pinRB,LOW);//使马达(右后)动作48.digitalWrite(pinRF,HIGH);49.digitalWrite(pinLB,LOW);//使马达(左后)动作50.digitalWrite(pinLF,HIGH);51.delay(a*50);52.}53.54.voidright(intb)//右转(单轮)55.{56.digitalWrite(pinRB,LOW);//使马达(右后)动作57.digitalWrite(pinRF,HIGH);58.digitalWrite(pinLB,HIGH);59.digitalWrite(pinLF,HIGH);60.delay(b*20);61.}62.voidleft(intc)//左转(单轮)63.{64.digitalWrite(pinRB,HIGH);65.digitalWrite(pinRF,HIGH);66.digitalWrite(pinLB,LOW);//使马达(左后)动作67.digitalWrite(pinLF,HIGH);68.delay(c*20);69.}70.voidturnR(intd)//右转(双轮)71.{72.digitalWrite(pinRB,LOW);//使马达(右后)动作73.digitalWrite(pinRF,HIGH);74.digitalWrite(pinLB,HIGH);75.digitalWrite(pinLF,LOW);//使马达(左前)动作76.delay(d*15);77.}78.voidturnL(inte)//左转(双轮)79.{80.digitalWrite(pinRB,HIGH);81.digitalWrite(pinRF,LOW);//使马达(右前)动作82.digitalWrite(pinLB,LOW);//使马达(左后)动作83.digitalWrite(pinLF,HIGH);84.delay(e*15);85.}86.voidstopp(intf)//停止87.{88.digitalWrite(pinRB,HIGH);89.digitalWrite(pinRF,HIGH);90.digitalWrite(pinLB,HIGH);91.digitalWrite(pinLF,HIGH);92.delay(f*50);93.}94.voidback(intg)//后退95.{96.97.digitalWrite(pinRB,HIGH);//使马达(右后)动作98.digitalWrite(pinRF,LOW);99.digitalWrite(pinLB,HIGH);//使马达(左后)动作100.digitalWrite(pinLF,LOW);101.delay(g*50);102.}103.104.voiddetection()//测量3个角度(0.90.179)105.{106.intdelay_time=250;//伺服马达转向后的稳定时间107.ask_pin_F();//读取前方距离108.109.if(Fspeedd<5)//假如前方距离小于10公分110.{111.stopp(1);//清除输出数据112.back(2);//后退0.2秒113.}114.115.if(Fspeedd<10)//假如前方距离小于25公分116.{117.stopp(1);//清除输出数据118.ask_pin_L();//读取左方距离119.delay(delay_time);//等待伺服马达稳定120.ask_pin_R();//读取右方距离121.delay(delay_time);//等待伺服马达稳定122.123.if(Lspeedd>Rspeedd)//假如左边距离大于右边距离124.{125.directionn=Rgo;//向右走126.}127.128.if(Lspeedd<=Rspeedd)//假如左边距离小于或等于右边距离129.{130.directionn=Lgo;//向左走131.}132.133.if(Lspeedd<5&&Rspeedd<5)//假如左边距离和右边距离皆小于10公分134.{135.directionn=Bgo;//向后走136.}137.}138.else//加如前方不小于(大于)25公分139.{140.directionn=Fgo;//向前走141.}142.143.}144.voidask_pin_F()//量出前方距离145.{146.myservo.write(90);147.digitalWrite(outputPin,LOW);//让超声波发射低电压2μs148.delayMicroseconds(2);149.digitalWrite(outputPin,H...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

超声波避障程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部