zoukankan      html  css  js  c++  java
  • 超声波传感器测距

    超声波模块HC-SR04

                           

    超声波测距工作原理

    可以听到的声波:振动频率为20Hz~20000Hz

    超声波:频率高于20000赫兹的声波

    超声波特性:指向性强,能量消耗缓慢,在介质中传播的距离较远,经常用于距离的测量

    超声波测距原理:超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s=340t/2 。

    模块主要技术参数

    使用电压:DC---5V,静态电流:小于2mA  

    电平输出:高5V,低0V 

    感应角度:不大于15度,探测距离:2cm--450cm

    高精度 可达0.2cm   

    模块引脚说明

    VCC:供5V电源,GND:地线

    TRIG:触发控制信号输入端,ECHO:回响信号输出端

    测距时,用控制板给TRIG端输入脉冲信号,用ECHO端计算发射到回波的时间

    系统接线

     

    TRIG:接控制板2号引脚,ECHO:接控制板3号引脚,

    VCC和GND分别接控制板5V和GND。

    程序设计

     1 #define Trig 2    //引脚Tring 连接 IO D2  
     2 #define Echo 3     //引脚Echo 连接 IO D3   
     3 float cm;   //距离变量
     4 float temp;
     5 
     6 void setup() 
     7 {
     8     Serial.begin(9600);
     9     pinMode(Trig, OUTPUT);
    10     pinMode(Echo, INPUT); 
    11 }
    12 
    13 void loop() 
    14 {
    15     //给Trig发送一个低高低的短时间脉冲,触发测距
    16     digitalWrite(Trig, LOW);   //给Trig发送一个低电平
    17     delayMicroseconds(2);     //等待2微妙
    18     digitalWrite(Trig,HIGH);    //给Trig发送一个高电平 
    19     delayMicroseconds(10);    //等待10微妙
    20     digitalWrite(Trig, LOW);   //给Trig发送一个低电平
    21     temp=float(pulseIn(Echo,HIGH));  //存储回波等待时间,pulseIn()返回脉冲的高电平时间长度,单位是微秒
    22     //pulseIn函数会等待引脚变为HIGH,开始计算时间,再等待变为LOW停止计时  
    23     //声速是340m/1s,换算成34000cm/1000000μs=34/1000 
    24     //距离(厘米)=(回波时间*(34/1000))/2=回波时间*17/1000
    25     cm=(temp*17)/1000;   //把回波时间换算成cm 
    26     Serial.print("Echo="); 
    27     Serial.print(temp);  //串口输出等待时间  
    28     Serial.print("|| Distance="); 
    29     Serial.print(cm);   //串口输出距离
    30     Serial.println("cm");
    31     delay(100);
    32 }  
  • 相关阅读:
    char 转string
    博客,记忆的图谱。
    history
    openstack Icehouse发布
    数据库常用命令
    nagios
    screen
    openstack 流量控制
    sublime 3
    磁盘类型
  • 原文地址:https://www.cnblogs.com/MyAutomation/p/9289627.html
Copyright © 2011-2022 走看看