触须避障程序(改进篇)
来源:互联网 发布:笑傲江湖ol知乎 编辑:程序博客网 时间:2024/05/01 02:01
/***********************************************************
功能:触须避障程序(改进篇)
说明:左触须接P1_4,右触须接P2_3)
时间:2012.12.14
作者:荆轩道
************************************************************/
#include<BoeBot.h>
#include<uart.h>
int P1_4state(void)//获取P1_4的状态,右胡须
{
return (P1&0x10)?1:0;
}
int P2_3state(void)//获取P2_3的状态,左胡须
{
return (P2&0x08)?1:0;
}
void Forward(void)
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);
}
void Left_Turn(void)
{
int i;
for(i=1;i<=26;i++)
{
P1_1=1;
delay_nus(1300);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);
}
}
void Right_Turn(void)
{
int i;
for(i=1;i<=26;i++)
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
void Backward(void)
{
int i;
for(i=1;i<=65;i++)
{
P1_1=1;
delay_nus(1300);
P1_1=0;
P1_0=1;
delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
int main(void)
{
uart_Init();
printf("Program Running!\n");
while(1)
{
if((P1_4state()==0)&&(P2_3state()==0))
{
Backward(); //向后
Left_Turn();//向左
Left_Turn();//向左
}
else if(P1_4state()==0)
{
Backward();//向后
Left_Turn();//向左
}
else if(P2_3state()==0)
{
Backward();//向后
Right_Turn();//向右
}
else
Forward();//向前
}
}
- 触须避障程序(改进篇)
- 触须避障程序
- 触须测试程序
- 红外线避障测试程序
- dwa算法(避障)
- vfh算法(避障)
- 课程设计程序(改进程序)
- 自动避障小车
- 超声波避障
- 多机器人避障
- 避障算法
- Arduino - 利用红外避障(障碍检测)进行计数
- 51单片机智能小车C程序 蓝牙遥控+避障+自动寻迹
- 无人驾驶避障方法研究
- c#(或vb.net)程序改进
- c#(或vb.net)程序改进
- C#(或vb.net)程序改进
- 测试程序 改进程序
- 数据导入时,VS2010报”将截断字符串或二进制数据。 语句已终止”异常
- Windows Store apps开发[71]Windows 8 开发31日-第14日-地理位置
- 采用libmad编写最简单的mp3播放器
- JDK1.5的下载地址
- 我的实习四
- 触须避障程序(改进篇)
- linux内核移植简述
- linux 字符设备驱动
- 不容易系列之(3)—— LELE的RPG难题 (递推)
- select详解
- 兄弟们冷静点 我们什么场面没见过?
- Android学习第一天--Activity相关
- 很强大,并且易于使用,更重要的是免费的一个分区工具:分区助手
- Linux访问Windows共享