精华内容
下载资源
问答
  • 超声波测量距离
  • 超声波传感器测距方法详解docx,想要了解超声波测距传感器的相关应用设计首先我们必须了解超声波传感器测距的工作原理。
  • 超声波传感器测距系统设计,许笑寒,孙汉旭,对周围障碍物的测距一直是移动机器人领域的一个重要研究课题。本文设计了一套基于超声波传感器的测距系统,其中硬件电路部分以DSP
  • 超声波传感器测距 分享一个树莓派超声波测距教程。非常基础的小制作,可以激发一下树莓派或其它基础嵌入式开发兴趣。 首先准备一个超声波传感器(这里是HC-HR04型)、树莓派及连接排线。 参考对照表将传感器引脚与...

    超声波传感器测距

    分享一个树莓派超声波测距教程。非常基础的小制作,可以激发一下树莓派或其它基础嵌入式开发兴趣。
    首先准备一个超声波传感器(这里是HC-HR04型)、树莓派及连接排线。
    在这里插入图片描述
    参考对照表将传感器引脚与树莓派连接,连接方式不唯一,一定仔细连接。传感器VCC引脚连接树莓派5V引脚,GND连接0V接地引脚,Trig、Echo根据具体代码连接,我这里是Trig引脚连接GPIO3,Echo连接GPIO4。
    在树莓派正确路径下创建文件并写入代码,我这里创建为“ranging.c"
    编译ranging.c

    $ gcc ranging.c -o ranging -lwiringPi
    

    执行ranging

    $ ./ranging
    

    此时便可以看到执行效果。
    具体代码如下:

    #include <wiringPi.h>  
    #include <stdio.h>  
    #include <sys/time.h>  
      
    #define Trig    3 
    #define Echo    4 
      
    void ultraInit(void)  
    {  
        pinMode(Echo, INPUT);  
        pinMode(Trig, OUTPUT);  
    }  
      
    float disMeasure(void)  
    {  
        struct timeval tv1;  
        struct timeval tv2;  
        long start, stop;  
        float dis;  
      
        digitalWrite(Trig, LOW);  
        delayMicroseconds(2);  
      
        digitalWrite(Trig, HIGH);  
        delayMicroseconds(10);      //发出超声波脉冲  
        digitalWrite(Trig, LOW);  
          
        while(!(digitalRead(Echo) == 1));  
        gettimeofday(&tv1, NULL);           //获取当前时间  
      
        while(!(digitalRead(Echo) == 0));  
        gettimeofday(&tv2, NULL);           //获取当前时间  
      
        start = tv1.tv_sec * 1000000 + tv1.tv_usec;   //微秒级的时间  
        stop  = tv2.tv_sec * 1000000 + tv2.tv_usec;  
      
        dis = (float)(stop - start) / 1000000 * 34000 / 2;  //求出距离  
      
        return dis;  
    }  
      
    int main(void)  
    {  
    	int a=0;
        float dis;  
        if(wiringPiSetup() == -1)
        {                                      
            printf("setup wiringPi failed !");  
            return 1;   
        }  
      
        ultraInit();  
          
        while(a<10)
        {  
            dis = disMeasure();  
            printf("distance = %0.2f cm\n",dis);  
            delay(1000);
            a++;  
        }  
      
        return 0;  
    }
    
    展开全文
  • 学会使用超声波传感器测距 组件: Arduion主板 超声波传感器 双色LED灯模块 杜邦线 面包板 USB数据线 下图是超声波传感器 下图是双色LED灯模块 实验步骤: 1.建立电路 Arduion 超声波传感器 5v VCC 2 ...

    学习任务:

    学会使用超声波传感器测距


    组件:

    • Arduion主板
    • 超声波传感器
    • 双色LED灯模块
    • 杜邦线
    • 面包板
    • USB数据线

    下图是超声波传感器
    在这里插入图片描述

    下图是双色LED灯模块

    在这里插入图片描述

    实验步骤:

    1.建立电路

    Arduion超声波传感器
    5vVCC
    2Trig
    3Echo
    GNDGND
    ArduionI2C LCD1602液晶显示器
    GNDGND
    5vVCC
    A4SDA
    A5SCL

    2.烧录代码

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    #include <NewPing.h>
    
    LiquidCrystal_I2C lcd(0x27,16,2);
    
    #define TRIGGER_PIN  2 
    #define ECHO_PIN     3 
    
    //传感器最大距离400cm
    #define MAX_DISTANCE 400
    //设置传感器最小距离和最大距离
    NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
    
    void setup() {
      Serial.begin(115200);
      lcd.init(); 
      lcd.backlight();
    }
    
    void loop() {
      delay(100); 
      //发送超声波
      unsigned int uS = sonar.ping();
      Serial.print("Ping: ");
      //将时间转换为距离
      Serial.print(uS / US_ROUNDTRIP_CM);
      Serial.println("cm");
      lcd.setCursor(0, 0);
      lcd.print("Distance:");
      lcd.setCursor(0, 1);
      lcd.print("             ");
      lcd.setCursor(9, 1);
      lcd.print(uS / US_ROUNDTRIP_CM);
      lcd.setCursor(12, 1);
      lcd.print("cm");
    }
    
    

    3.实验现象

    用阻挡物挡住超声波传感器,led屏幕显示其位置。

    在这里插入图片描述

    展开全文
  • 超声波传感器测距原理.doc
  • 基于STM32的超声波传感器测距(含代码)

    万次阅读 多人点赞 2019-02-17 20:30:23
    上学期写的嵌入式系统课程实验报告中超声波传感器设计部分, 在此分享一下~ 1. 实验原理 超声波传感器采用的是HC-SR04,具有VCC、GND、Trig、Echo四个引脚,其使用方法为:将Trig 设置为高电平并保持至少10us,...

            上学期写的嵌入式系统课程实验报告中超声波传感器设计部分, 在此分享一下~

    1. 实验原理

            超声波传感器采用的是HC-SR04,具有VCC、GND、Trig、Echo四个引脚,其使用方法为:将Trig 设置为高电平并保持至少10us,传感器将发出 8 个脉冲的声波。对于声波产生回声所需的整个时间内, Echo 为高电平。测量该高电平时间即可知经过的时间,则可计算障碍物的距离。

             测量Echo 为高电平的时间是利用STM32的通用定时器进行输入捕获,测量得到的高电平时间通过公式:距离 =  Thigh *340/2 (m) ,其中Thigh 单位为秒(s), 340米/秒(m/s)为声速。

    2. 设计分析

            由STM32F4xx数据手册可知,所采用的板子有TM2-TM5四个通用定时器,该设计中采用TIM3定时器(16位)。它具有输入捕获模式、输出比较模式、单脉冲模式等多种功能模式,其中,输入捕获模式可以设置捕获上升沿或下降沿对输入信号进行捕获,发生捕获事件时,当前计数值可被获得,如果已使能中断则可触发中断。本设计采用输入捕获模式对Echo信号进行捕获与计时。

            根据HC-SR04数据手册得知,该超声波传感器射程为2cm-4m,代入距离公式中可得Thigh的范围大致为0.0235~ 0.0002857s,即1/Thigh的范围在42.5-8500Hz之间,故选择计数器时钟1MHz即可满足要求。

    3. 设计过程

    1. 用 STM32CubeMX配置对应引脚生成项目代码。

    1)配置引脚

    在左端设置TIM3为内部时钟输入,并使能通道1,可以看到右边PA6变为绿色,在电路图中寻找PA6对应的外部引脚编号为D12,该引脚将连接超声波传感器的Echo引脚,为方便器件连接,选择D12相邻的外部引脚D11作为输出与Trig连接,故配置D11相应的引脚PA7为GPIO输出。引脚配置图与电路图见下方所示。

    图1 引脚配置图

     

    图2 引脚对应电路图

     

    2)配置计时器TIM3参数

          板子没有焊外部晶振,故时钟源选用HIS,定时器时钟频率为16MHz。如下图所示。

    图3 时钟配置图

             定时器TIM3参数配置如下图所示,预分频系数位15,即TIM3定时器最后频率为16 MHz/(15+1)=1MHz;最大计数值为0xffff(65535),并在NVIC中开启中断。 

    图4 TIM3参数配置图

     

    3)生成项目代码

    2. 用Keil打开生成的项目代码,增加处理逻辑代码

    1)首先定义捕获次数capture_cnt,捕获计数值capture_value1,capture_value2,及高电平时间hightime与距离distance。

    2)查看HAL库中关于TIM的函数,在主函数的while 中添加以下代码。根据捕获次数进行不同操作。当捕获次数为0时,使能TIM3中断模式的输入捕获,并设置其触发捕获方式为上升沿触发;当发送捕获时,进入捕获中断函数(其中中断函数为自动生成的,里面调用了触发回调函数,故可直接在回调函数中处理),在捕获回调函数中获取当前计数值赋给capture_value1,再更改捕获方式为下降沿触发;当再次发生捕获时,将当前计数值赋给capture_value2,然后停止输入捕获。在主函数中,根据capture_value1和capture_value2直接的差值即可得到时间,再代入距离公式便求得距离。

     

     3)在主函数的while循环中打开串口接收,判断接收到的数据为00时,进行距离测量:给超声波模块的Trig引脚一个高电平。

     

    此处附上项目代码以供参考:

    https://download.csdn.net/download/qq_36999901/12912654

    展开全文
  • 一定要测试平面,而不要用手或者圆柱体来测试,反射可能接收不到

    一定要测试平面,而不要用手或者圆柱体来测试,反射可能接收不到

    展开全文
  • 超声波传感器测距原理与模块使用

    万次阅读 多人点赞 2018-03-28 17:39:43
    因其方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距、测速、清洗、焊接、碎石、杀菌消毒等。在医学、军事、工业、农业上有很多的应用。如超声波清洗机,超声波加湿器,医...
  • 基于AT89C51单片机的超声波HC-SR04测距 LCD1604显示 硬件介绍 引脚四个,分别为VCC、TRIG、ECHO、GND VCC 供 5V 电源, GND 为地线 TRIG 触发控制信号输入 ECHO 回响信号输出等 四个接口端 超声波时序图 以上时序...
  • 这是一个我们实训课所做的东西,用了两块STM32F4开发板来实现超声波测距,一个板子测距,然后通过CAN总线传输给另一个板子用LCD液晶显示屏显示。
  • 超声波传感器测距实验

    千次阅读 2017-08-02 19:37:53
    本实验是基于MSP430利用HC-SR04超声波传感器进行测距测距范围是3-65cm,讲得到的数据显示在LCD 1602液晶屏上。   模块工作原理如下 (1)采用 IO 触发测距,给至少 10us 的高电平信号; (2)模块自动发送 8...
  • 超声波传感器测距,内有基于stm32的超声波传感器测距程序,PPT讲解
  • 超声波传感器测距.rar

    2019-09-14 11:24:07
    基于STM32F1控制超声波测距超声波传感器用的是US-100,用串口工具读取数据
  • 这是一套基于AT89S52单片机的适用于多种超声波传感器超声波测量并由数码管显示距离的程序。是本人亲自编写并通过实测验证过的,非常好使
  • 超声波传感器测距原理

    万次阅读 2015-06-15 09:12:07
    超声波 ultrasonic ...因其方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距、测速、清洗、焊接、碎石、杀菌消毒等。在医学、军事、工业、农业上有很多的应用。如超声波清洗机,超声波
  • Arduino连接超声波传感器测距

    千次阅读 2016-06-26 16:15:04
    这里介绍arduino mega2560通过L298N 2路电机驱动板两个方面的知识:1、连接超声波传感器电路。2、编写代码实现测距功能。 一、电路连接 1、arduino mega2560与驱动板的引脚对应关系(arduino与驱动板的链接) ...
  • 用户可以连接4针电缆和杜邦电缆,以用于各种智能汽车或测距实验。 简而言之,这是一款质量合理,布局合理,外形美观,用途广泛的高质量模块。此外,该机器人具有可扩展性,我们提供两种扩展包,即Clip pack和Lift ...
  • 超声波传感器测距

    2021-09-28 15:50:29
    HC-SR04超声波测距传感器模块(通用款) Echo接D2口,接收距离信号 Trig接D1口,触发测距 */ const int echo=D1; //echO接D1脚 const int trig=D2; //echO接D2脚 void setup(){ Serial.begin(9600); //波特率...
  • 障碍物与机器人之间距离的获得是研究安全避障的前提,超声波传感器以其信息处理简单、价格低廉、硬件容易实现等优点,被广泛用作测距传感器。本超声波测距系统选用了SensComp公司生产的Polaroid 6500系列超声波距离...
  • /** Ultrasonic Simple* Prints the distance read by an ultrasonic sensor in* centimeters. They are supported to four pins ultrasound* sensors (liek HC-SC04) and three pins (like PING)))* and Seeed Stud...
  • 基于AT89C51单片机的超声波传感器测距

    万次阅读 多人点赞 2019-01-19 22:44:50
    基于超声波测距传感器的汽车倒车报警器 问题咨询及项目源码请加群: QQ群: 名称:IT项目交流群 群号:245022761 一、项目目的 1. 了解超声波测距传感器工作原理及引脚功能。 2. 学会使用超声波测距...
  • 超声波测距程序(LCD显示).zip
  • 超声波测距程序代码

    2019-05-16 20:17:00
    基于arduino 的超声波传感器测距代码,可以实现超声波传感器距离信息,超声波传感器的源代码可以成为很多以超声波传感器为基础的装置的基础,能直接套用。
  • 一、US-100的电气参数: 工作电压 DC2.4V~5.5V.../*启动测距信号,只需要在 Trig/TX 管脚输入一个 10US 以上的高电平,系统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号。 当检测到回波信号后,模块还要进行温
  • 超声波传感器测距程序(典型):const int TrigPin = 2; const int EchoPin = 3; float cm;void setup(){ Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); }void loop(){ digitalWrite...
  • Arduino 和 HC-SR04 超声波传感器 测距

    万次阅读 多人点赞 2016-05-14 21:54:55
    一款利用超声波测距离的传感器,多应用于 机器人避开障碍物,距离测量。 其模块,用Trig触发测距 会发出8 个 40khz的方,自动检测是否有信号返回 有信号返回,通过echo输出高电平,高电平持续的时间就是距离...
  • //第一个超声波 pinMode(inputPin,INPUT); pinMode(outputPin,OUTPUT); //第2个超声波 pinMode(inputPin1,INPUT); pinMode(outputPin1,OUTPUT); // pinMode(inputPin2,INPUT); pinMode(outputPin2,OUTPUT); //小车...
  • 使用HC-SR04超声波传感器和Arduino MEGA 2560实现简单测距一、一个超声波传感器的使用1.接线部分2.代码部分3.在串口看测到的数据二、两个超声波传感器的使用1.接线部分2.代码部分3.在串口看测到的数据4.实物图连接 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,138
精华内容 1,255
关键字:

超声波传感器测距