51单片机实例

  1. 智能小车(一)--------小车的前进、后退和停止
  2. 智能小车(二)-------- 小车的红外遥控调速
  3. 智能小车(三)-------- 小车的红外循迹

文章目录

  • 前言
  • 超声波HC-SR04
    • 简介
    • 参数规格
    • 基本工作原理
  • 测距程序设计

前言

前几节的51智能小车系列中,相信大家对小车模块的使用有了一定的了解,接下来这节我将为大家介绍另一个功能模块,即超声波模块,我也将以51智能小车为例展开为大家介绍。


超声波HC-SR04

简介

超声波是声波的一部分,是人耳听不见、频率高于20KHZ的声波,它和声波有共同之处,即都是由物质振动而产生的,并且只能在介质中传播;同时,它也广泛地存在于自然界,许多动物都能发射和接收超声波,其中以蝙蝠最为突出,它能利用微弱的超声回波在黑暗中飞行并捕捉食物。但超声波还有它的特殊性质,如具有较高的频率与较短的波长,所以,它也与波长很短的光波有相似之处。

超声波传感器是利用超声波的特性研制而成的传感器。SR04是最常见的超声波传感器之一,在arduino开发中超声波传感器SR04主要用来测距,相比其他测距传感器有着简单易用、灵敏度高等特点。对于超声波传感器各种特性,超声波检测广泛应用在工业、国防、生物医学等方面。

参数规格

尺寸:长×宽×高
工作电压:5V
感应角度:不大于15度
探测距离:2cm-450cm
精度:可达0.2cm

vcc-VCC
trig-控制端
echo-接收端
gnd-GND

基本工作原理

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

时序图:

采用IO口TRIG触发测距,给最少10us的高电平信号。模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,同时开定时器计时,当此口变为低电平时就可以读定时器的值,高电平持续的时间就是超声波从发射到返回的时间。

原理图:

本节的设计为: 当小车开启电源时,小车的状态为匀速前进,当超声波感受到前方有障碍物时,小车会向降低速度并同时向左转弯,若前方无障碍物,小车则继续前行,同时恢复初始速度。

测距程序设计

//超声波初始化
void ultrasonic_init(void)
{TRIG=0;ECHO=1;time1_init();
}//超声波测距
//返回值:测量距离cm
int ultrasonic_measure (void)
{unsigned int i,j,temp,temp_sum=0,temp_buf[10];int ftemp;for(i=0; i<10; i++){TRIG=1;//拉高Delay10us();Delay10us();//大约20usTRIG=0; //拉低while(ECHO==0); //等待高电平到来TH0=0x00;TL0=0x00;//清零计数器值TR0=1;//开启定时器,开始计数while(ECHO==1);//等待高电平结束TR0=0;//关闭定时器temp_buf[i]=TH0*256+TL0;Delay(80);}//滤波处理,消除干扰数据for(i=0;i<9;i++)//升序排列{for(j=i+1;j<10;j++){if(temp_buf[i] >temp_buf[j]){temp=temp_buf[i];temp_buf[i]=temp_buf[j];temp_buf[j]=temp ;}}}for(i=0;i<8;i++) temp_sum+=temp_buf[i];ftemp=temp_sum/6;return ftemp*0.00034/2*100;   //单位转化为cm
}
void main()
{unsigned char un;ultrasonic_init();while(1){un=ultrasonic_measure();if(un>10) work();if(un<10) left();      }
}

智能小车的超声波避障相关推荐

  1. 基于stm32的智能小车(远程控制、避障、循迹)

    学完stm32,总是想做点东西"大显身手"一下,智能小车就成了首选项目,其核心只是就是PWM输出,I/O口引脚电平判断. 制作智能小车的硬件名单: 制作智能小车的硬件列表:(1) ...

  2. 基于89C51单片机的智能小车——05.摇头避障小车

    开发所需添加的硬件 PWM开发SG90 PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模 ...

  3. matlab智能小车避障,Arduino智能小车系列教程4——超声波避障

    Arduino智能小车系列教程4--超声波避障 Arduino智能小车系列教程 准备材料 超声波模块HC-SR04 舵机固定架 舵机安装 超声波接线 代码测试 代码详解 int getDistance ...

  4. distance在函数 int_Arduino智能小车——超声波避障

    Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...

  5. Arduino智能小车——超声波避障

    Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...

  6. 51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随)

    **51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随+遥控+TFT液晶显示屏) 本人由于使用的液晶显示屏,程序大于8K,所以更换为STC12C5A60S2芯片,与51芯片兼容. 功能比较多 ...

  7. 51智能小车超声波避障

    #include <REGX52.H> #include <intrins.h> #include <QXA51.H>sbit DU = P2^6;//数码管段选 ...

  8. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(有舵机)

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(有舵机) // 程序中电脑打印 ...

  9. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(无舵机)

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(无舵机) //======== ...

最新文章

  1. margin的塌陷现象
  2. 初步了解Windows Safer API
  3. c语言手机通讯录退出程序,通讯录小程序(C/C++)C语言练习小程序
  4. 科学家用大脑控制平板电脑操作 真的可以!
  5. Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
  6. 线性表--链式实现方式
  7. 安卓动态调试七种武器之离别钩 – Hooking(下)
  8. C++11 随机数生成
  9. SuperPoint学习---demo代码理解
  10. 广数系统加工中心编程_数控加工中心编程的步骤
  11. LINUX自学-初识LINUX
  12. 计算机并口回路测试工具,COM口和LPT口回路环的制作与CheckIT3.0测试方法
  13. 1 遥感图像处理之存储格式BSQ/BIL/BIP
  14. 超详细——python把中文汉字转成拼音xpinyin,pypinyin,snownlp三种方法
  15. google是否还能孤独求败,百度 VS google
  16. dat2img格式转换-ROM定制开发教程
  17. 微信开放平台开发(3) 移动应用微信登录
  18. ZUCC_编译语言原理与编译_实验04 语言与文法
  19. RaSa2.5.x利用Fallback处理超出范围的消息
  20. 【1.skynet网络剖析】

热门文章

  1. JDK8的下载安装以及配置环境变量步骤
  2. 「IT行业必会的基本概念原理」计算机网路基本概念
  3. 希尔排序Linux下c 实现
  4. java容器系列一(java容器Collection概述)
  5. 开源工作流可以解决什么问题?
  6. 使用激光雷达(rplidar A2)和 google cartographer_ros算法包建图(以及转换为yaml文件)
  7. 日常学习记录——目前学习记录总结
  8. 程序员副业接单做私活避坑指南
  9. blackbox_exporter端口及网络监控
  10. android功能_自动切换APP图标,节假日图标自动变化