/***********************************************************
功能:触须避障程序(改进篇)
说明:左触须接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();//向前
 }
}

触须避障程序(改进篇)相关推荐

  1. 小型双轮差速底盘实现触须避障

    1. 功能说明 在R023d机器人车体上安装2个 触须传感器 ,实现机器人小车避障功能. 2. 电子硬件 在这个示例中,我们采用了以下硬件,请大家参考: 主控板 Basra主控板(兼容Arduino ...

  2. 求一个超声波避障程序,谢谢

    求一个超声波避障程序,不要显示模块,也不要外部蓝牙什么控制,简单的自动避障就行.最好是高低电平的定义来控制的 比如 void Car_Turn-Left(void) { RIN1_set; RIN2_ ...

  3. 基于51单片机的红外自动避障小车(lunwen+任务书+开题+文献综述+翻译及原文+避障程序)

    目 录 1 绪论 1 1.1 课题研究背景及意义 1 1.2 国内外研究现状 1 1.2.1国外智能车辆研究现状 2 1.2.2发展前景 3 1.3 课题主要研究内容 4 2 工作原理及总体设计 5 ...

  4. STM32蓝牙控制循迹避障小车源代码——5.最终程序

    STM32蓝牙控制循迹避障小车源代码--5.最终程序 将前面4讲的内容整合一起.主函数里用switch函数或者if语句来判断接收到的数据,改变小车的运动. 注意要将控制循迹和避障的参数单独定义一个.否 ...

  5. 第四课 程小奔之避障

    广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院: 409教育机器人组 写作时间: 2020年8月8日 程小奔第四课 回顾上节课内容 课程简介 开始创作之 ...

  6. 具有避障和寻线功能的Arduino小车

    标签:  Arduino  乐高  机器人 创客对于成年人来说,多半是科技娱乐,或者是一种是一种向往科技的人生态度,总是希望自己不仅可以看到或者听到科技的资讯,还希望能够亲身制作科技玩意,从而更好地体 ...

  7. 山东省高校机器人大赛-智能避障避险小车经验分享

    山东省高校机器人大赛-智能避障避险小车经验分享 概述 竞赛题目 详细设计过程 车体设计 现在开车 过⑧号障碍物 如何跑完全程 概述 今天是2020年2月9日,因为新冠肺炎的原因,学校依然没有要开学的意 ...

  8. 基于51单片机的超声波避障小车设计(含Proteus仿真)

    超声波避障程序随处可见,基于51单片机的超声波避障小车也很成熟,但是完整的Proteus仿真并不容易找到开源资料. 这次主要给大家分享其Proteus仿真部分. 涉及到的模块有:超声波模块(hc-sr ...

  9. 基于STM32设计的避障寻迹小车

    一.前言 1.1 项目背景 根据美国玩具协会在一项研究中,过去几年全球玩具销售增长与GDP的世界平均水平大致相同.但全球玩具市场的内部结构已经占据了巨大的位置变化:传统玩具的市场份额正在下降,高科技电 ...

最新文章

  1. 【C 语言】结构体 ( 指针运算与指针内存操作 | 结构体成员偏移量计算 )
  2. *【ZOJ - 3703】Happy Programming Contest(带优先级的01背包)
  3. php 两变量值互换 方法
  4. OS X 使用技巧——轻松地调整窗口大小
  5. 738. 单调递增的数字(JavaScript)
  6. 语音识别看似神通广大 但它真的听得懂方言么
  7. 在jquery中想要找到所以同辈元素方法_在jquery中siblings找到所有元素的同辈元素,是什么意思,有人可以给我详细讲解一下不?...
  8. 闭包基础概念,闭包详解
  9. Microsoft Office 2016 简体中文 Vol 版镜像下载(Pro Plus、Visio、Project 下载)
  10. Android开发-Android项目结构
  11. 反编译 - ILSpy的使用方法(看Unity源代码的方法)
  12. 内码输入法手机版下载_win7 64位内码输入法下载
  13. xxlJob 分布式定时任务
  14. vim配置——C/C++代码自动补全
  15. No buffer space available问题解决
  16. google 浏览器 常用插件
  17. QQ微信实现连续发送消息【代码实现】
  18. 关于Ubuntu下浏览器不能上网但是能ping通网络的问题
  19. Tp5 实现 think-queue 队列操作
  20. java 开发模式详解_Java开发中的23种设计模式详解4

热门文章

  1. 微信小程序:setData 数据传输长度为 1678 KB,存在有性能问题!
  2. HIBERNATE:disjunction和conjunction构造复杂的查询条件.
  3. 21款奔驰S400商务型升级原厂HUD抬头显示系统,提升行车安全性
  4. 常见笔顺错误的字_语文老师整理:12组常见笔顺易错字!很实用的资料,帮孩子收好!...
  5. Fedora 10安装Compiz-fusion 3D效果方法
  6. 高级数据库三:浅谈数据库事务(transaction)
  7. win10 安装 SqlServer2008 亲测可行
  8. 从20s优化到500ms,我用了这三招
  9. UG NX 12 草图曲线
  10. 关于独立DFS和域DFS板书