datasheet
超过460,000+ 应用技术资源下载
doc

超声波避障

  • 1星
  • 日期: 2015-05-17
  • 大小: 22.5KB
  • 所需积分:3分
  • 下载次数:3
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 超声波舵机避障

该车的功能是当小车在前方遇到障碍物,舵机可以控制超声波模块左右扫描,判断哪一边没有障碍则往那边行走,如果两边都有怎后退大转弯继续行走。

智能小车避障,一般多数人用红外对管做,但效果不好,本人参考网上的一段视屏,做了一个用超声波模块和舵机的避障系统,小车,小车驱动模块,以及避障系统淘宝网都有售,小车要60元左右,小车驱动也只要20元加上超声波和舵机的四五十元,基本上就能完成这个小车避障的硬件设计了,该车的功能是当小车在前方遇到障碍物,舵机可以控制超声波模块左右扫描,判断哪一边没有障碍则往那边行走,如果两边都有怎后退大转弯继续行走。 小车控制系统用52单片机,你也可以用51的随便你。最好用几个电源模块防止舵机,小车电机,单片机电源相互影响。 具体程序如下: #include #include #define uble double uble th=0; uble tl=0; uble time=0; uble distance=0; #define uchar unsigned char #define uint unsigned int uchar n=1,right=1,left=1; uble distance; sbit Trig=P2^0; sbit Echo=P3^2; sbit z1=P0^3; //左电机前进 sbit z0=P0^4; // sbit y1=P0^5; //右电机前进 sbit y0=P0^6; // sbit been=P2^3; /* 变量定义 */ uchar key_stime_counter,hight_votage=15,timeT_counter; bit key_stime_ok; /* 引脚定义 */ sbit control_signal=P2^2; void DelayUs(uchar us) { uchar uscnt; uscnt=us>>1; while(--uscnt); } void delay(uint ms) { while(--ms) { DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); } } void zhiz() { z1=1; z0=0; y1=1; y0=0; } //右转减速前进 void youz() { z1=1; z0=0; y1=0; y0=0; } //左转减速前进 void zuoz() { y1=1; y0=0; z1=0; z0=0; } //后退 void hout() { y1=0; y0=1; z1=0; z0=1; } //停止 void tingz() { y1=0; y0=0; z1=0; z0=0; } /********************************************** 定时器0中断服务函数 ***********************************************/ void timer0(void) interrupt 1 using 0 { TH0=0xFF; TL0=0x9C; //定时器0重新装入数值 if (++key_stime_counter>=200) { key_stime_counter=0; control_signal=1; key_stime_ok = 1; // 20ms到 timeT_counter=0; } if (key_stime_ok&&(++timeT_counter>=hight_votage)) { key_stime_ok=0; timeT_counter=0; control_signal=0; // hight_votage*0.1ms到 } } void chaoshengbo() { Trig=0; DelayUs(5); Trig=1; DelayUs(20); while(!Echo); TR1=1; } void ex_0() interrupt 0 {TR1=0; th=TH1; tl=TL1; TH1=0; TL1=0; time=th*256+tl; distance=time*0.172; //毫米 if(distance<300.0) { n=0; been=0; delay(100); been=1; } else {n=1;} } void main() { control_signal=0; TMOD=0x11; EX0=1; IT0=1; ET1=0; EA=1; ET0=1; TH1=0; TL1=0; TH0=0xff; TL0=0x9c; TR0=1; while(1) { chaoshengbo(); delay(20); if(n==1) { zhiz(); delay(100); been=1; } if(n==0) { tingz(); n=1; hight_votage+=6; delay(400); chaoshengbo(); delay(20); right=n; n=1; hight_votage-=6; delay(400); hight_votage-=6; delay(400); chaoshengbo(); delay(20); left=n; hight_votage+=6; delay(400); n=1; if(right==1) { zuoz(); delay(450); } else if(right==0&&left==1) { youz(); delay(450); } else { hout(); delay(500); youz(); delay(1000); } } } }
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子

$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })