利用US-100超声波传感器测距的核心代码
来源:互联网 发布:linux nano 怎样保存 编辑:程序博客网 时间:2024/05/29 07:22
一、US-100的电气参数:
工作电压 DC2.4V~5.5V
静态电流 2mA
输出方式 电平或UART
二、利用US-100电平模式测距核心代码
1、启动检测:
/*启动测距信号,只需要在 Trig/TX 管脚输入一个 10US 以上的高电平,系统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出*/ void StartModule() { TRIG=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TRIG=0; }
2、计算距离:
/************************************************** US-100超声波测距模块,模块将距离值转化为 340m/s 时的时间值的 2倍,通过 Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。********************************************************/ void Conut(void) //计算距离{ while(!ECHO); //当RX为零时等待,不为零是退出循环,执行下一行程序,给TR0赋值1,开启计数器。 TR0=1; //开启计数 while(ECHO); //当RX为1计数并等待(ECHO引脚持续输出高电平时),当ECHO为低电平退出循环,给TR0赋值0,关闭计数器。 TR0=0; //关闭计数 time=TH0*256+TL0; //读取脉宽长度time(TH0占八位,TL0占八位,一共16位,2^8=256,所以time=TH0*256+TL0) TH0=0; //计数器重新初始化 TL0=0; S=(time*1.7)/100; //(高电平时间*340m/s)/2,通过计算算出来是CM}/************************************************************************/
2 0
- 利用US-100超声波传感器测距的核心代码
- 超声波传感器测距原理
- Arduino连接超声波传感器测距
- 超声波传感器测距实验
- 超声波传感器测距实验430
- stm32F1使用us-100超声波测距
- Arduino 和 HC-SR04 超声波传感器 测距
- stm32与HC-SR04超声波传感器测距
- 超声波传感器
- opencv双目测距的简单代码实现
- 利用HttpURLConnection下载文件的核心代码代码
- 树莓派超声波测距代码
- 机器人上使用超声波传感器的原理
- 超声波传感器 URM04 V2.0 的使用
- 【Arduino入门教程之三】超声波传感器的使用
- 核心代码的实现
- ueditor的核心代码
- HC-SR04超声波测距代码
- 1004-格子中输出
- Java 被访问时报 the method getDispatcherType() is undefined for the type HttpServletRequest
- txt中的内容复制到excel中无法对齐, 该怎么处理?
- 二级联动列表
- 几个小例子让你分清super和this
- 利用US-100超声波传感器测距的核心代码
- 关于openStream方法和openConnection方法的区别
- SVN版本控制工具-简单使用说明
- 欢迎使用CSDN-markdown编辑器
- 蒙特卡洛算法
- yum list
- Java中的流与文件:文本的输入与输出
- 输出二叉树第n个节点
- android studio NDK-JNI调用