全志ARM-超声波测距

这篇具有很好参考价值的文章主要介绍了全志ARM-超声波测距。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离

1.测距原理:

给Trig端口至少10us的高电平发送声波,Echo信号,由低电平跳转到高电平,开始发送波;Echo,由高电平跳转回低电平,表示波回来了

计算时间:Echo引脚维持高电平的时间!声波发出去的那一下,开始启动定时器声波回来的拿一下,我们开始停止定时器,计算出中间经过多少时间

计算距离:

距离=速度(340m/s)*时间/2

全志ARM-超声波测距,arm开发

2. 时间函数

 

#include int gettimeofday(struct timeval *tv,struct timezone *tz )

gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中

1. timeval 结构体定义:

struct  timeval{

       long  tv_sec;  /*秒*/

       long  tv_usec; /*微妙*/

};

 2. timezone 结构定义:

struct  timezone{

        int tz_minuteswest;/*和greenwich 时间差了多少分钟*/

        int tz_dsttime;    /*type of DST correction*/

}:

代码实现:文章来源地址https://www.toymoban.com/news/detail-860797.html

//计算程序在当前环境中数数10万次耗时多少
#include <sys/time.h>
 #include <stdio.h>
 //int gettimeofday(struct timeval *tv,struct timezone *tz )
 void mydelay()
 {
 int i,j;
 for(i=0;i<100;i++){
 for(j=0;j<1000;j++);
 }
 }
 int main()
 {
 struct timeval startTime;
 struct timeval stopTime;
 gettimeofday(&startTime,NULL);
 mydelay();
 gettimeofday(&stopTime,NULL);
 long diffTime = 1000000*(stopTime.tv_sec - startTime.tv_sec) + 
 (stopTime.tv_usec - startTime.tv_usec);
 printf("全志H6的Linux数100000耗时%ldus\n",diffTime);
 return 0;
 }

到了这里,关于全志ARM-超声波测距的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的超声波测距

    distance超声波测距模块负责数据的采集,vga、uart、beep、数码管根据采集到的数据分别进行vga的屏幕打点、串口输出到上位机、蜂鸣器根据数据大小进行鸣叫以及数码管显示采集到的数据。 RTL视图 代码 串口控制模块把接受到的24位BCD码转换成ASSIC码,并且清除高位零位和添加

    2024年02月07日
    浏览(48)
  • 输入捕获模块的使用–超声波测距

    @(MSP432P401R) 输入捕获的配置 基本默认即可 输入捕获的API的使用 参数 Capture_Mode即捕获模式,经实际测试,MSP432P401R只能使用前三种模式 Capture_CallBackFxn即回调函数 Capture_PeriodUnits即捕获周期单位 函数表 全局配置,在ti_drivers_config.c文件中生成 功能函数 文档链接:file:///D:/MSP%

    2024年02月15日
    浏览(81)
  • 基于STM32的超声波测距

    一、HC-SR04模块介绍 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm;模块包括超声波发射器、接收器、与控制电路。 模块的基本工作原理为: (1)采用 IO口 TRIG触发测距,给最少 10us的高电平信呈。 (2)模块自动发送 8个 40khz的方波,自动检测是

    2024年02月13日
    浏览(48)
  • 基于STM32超声波测距系统设计

    随着社会的发展和科技的进步,人们对测距的要求越来越高,特别是在一些要求实时测距的场合,传统的测距方式已经无法满足人们的需求,而超声波测距由于其非接触和实时反馈的特点在生活中得到广泛应用。 本系统硬件部分由电源模块、控制模块、显示模块、报警模块、

    2024年02月04日
    浏览(56)
  • 基于FPGA的超声波测距(verilog)

    目录 一、超声波测距模块(HC-SR04) 1、产品特色 2、产品实物 二、超声波测距原理 三、模块代码 1、产品特色 1、典型工作用电压:5V 2、超小静态工作电流:小于 5mA 3、感应角度(R3 电阻越大,增益越高,探测角度越大): R3 电阻为 392,不大于 15 度 R3 电阻为 472, 不大于 30 度 4、探

    2024年02月03日
    浏览(119)
  • stm32之14.超声波测距代码

           -------------------- 源码  

    2024年02月11日
    浏览(50)
  • 基于单片机超声波测距语音播放

    一、系统方案 本设计采用52单片机作为主控器,HC-SR04测距,液晶1602显示,按键设置报警阀值,语音报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uint dist; // 保存超声波模块测量到的结果 2、液晶显示程序 / / // 1602液晶写命令函数,cmd就是要写

    2024年02月09日
    浏览(52)
  • STM32:两种方式实现超声波测距

    超声波模块HC-SR04的工作原理很简单,有很多办法可以完成超声波测距,这里简单介绍两种。 配置定时器的中断并声明一个Time的变量,在中断中先判断标志位,然后检查echo端口是否为高电平,如果是,Time++,然后变量time乘以定时时间就能得到echo端口高电平持续的时间,经过

    2024年04月16日
    浏览(51)
  • 基于单片机的超声波语音测距系统

    一、系统方案 超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的

    2024年02月10日
    浏览(54)
  • 最详细STM32,cubeMX 超声波测距

    这篇文章将详细介绍 STM32使用 cubeMX驱动超声波测距 。 实验材料:STM32F103C8T6开发板, HC-SR04 超声波模块。 所需软件:keil5 , cubeMX ,AiThinker Serial Tool 串口助手。 实验目的:了解 STM32使用 cubeMX驱动超声波 。 实验:超声波测距。 HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包