触须避障程序
来源:互联网 发布:java写文件换行 编辑:程序博客网 时间:2024/05/01 05: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();//向前
}
}
- 触须避障程序
- 触须避障程序(改进篇)
- 触须测试程序
- 红外线避障测试程序
- 自动避障小车
- 超声波避障
- 多机器人避障
- 避障算法
- 51单片机智能小车C程序 蓝牙遥控+避障+自动寻迹
- dwa算法(避障)
- vfh算法(避障)
- 无人驾驶避障方法研究
- 智能避障小车顺利结束
- nao机器人避障边缘检测代码
- Arduino使用红外避障传感器
- ROS入门--基于激光的避障
- 【arduino】KitteBlock自动避障小车
- 不得不知道的微信小程序避坑指南
- 意外!玩枪过程中的意外 真的很意外
- Linux:将java代码打包成可执行的jar包
- C#静态类、静态构造函数,类与结构体的比较
- 在浏览器地址栏运行javascript
- vpn route
- 触须避障程序
- 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!
- 使用c# 根据IP 获取物理地址
- CSS书写标准及最佳实践
- 采用libmad编写最简单的mp3播放器
- java
- android图像绘制(七)——ClipRect局部绘图,切割原图绘制
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- myTrustedCloud计划