机械测距车(HC-SR04超声波测距模块:智能小车的眼睛)
Posted
篇首语:知道如何活用知识最重要,知道知识的来龙去脉次之,拥有知识再次之。本文由小常识网(cha138.com)小编为大家整理,主要介绍了机械测距车(HC-SR04超声波测距模块:智能小车的眼睛)相关的知识,希望对你有一定的参考价值。
机械测距车(HC-SR04超声波测距模块:智能小车的眼睛)
科学家们将每秒钟振动的次数称为声音的频率,单位是赫兹(Hz)。而我们人类耳朵能听到的声波频率为20Hz~20000Hz。因此,我们把频率高于20000Hz的声波称为“超声波”。超声波的方向性好,反射能力强,易于获得较集中的声能。
人们利用超声波的特性制成超声波传感器,广泛应用于汽车领域。我们所说的倒车雷达就是超声波传感器。倒车雷达在倒车时,利用超声波原理,由装置在车尾保险杠上的探头发送超声波撞击障碍物后反射此声波,计算出车体与障碍物间的实际距离,用蜂鸣器和指示灯告诉司机障碍物与汽车之间的大致距离和方向,以便驾驶员及时调整方位,解除驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰。
我们平常自然是用不到车规级别的超声速传感器,而在创客DIY领域中,最常用的就是下图这个HC-SR04超声波测距模块,主要是用于智能小车,智能机器人的测距和避障。
模块参数:
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm,模块包括超声波发射器,接收器与控制电路。模块电路原理图如下:
电器参数:
- 工作电压:DC 5V
- 工作电流:15mA
- 工作频率:40Hz
- 最远射程:400cm
- 最近射程:2cm
- 测量角度:15度
- 输入触发信号:10uS的TTL脉冲
- 输出回响信号:TTL电平信号
- 规格尺寸:45*20*15mm
工作原理:
超声波测距的原理其实十分简单。模块发出一定频率的超声波脉冲,当超声波遇见障碍物时便会反射回来,模块发出超声波的同时也能检测反射回来的超声波。我们假设由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:
D = c*t/2
HC-SR04模块引脚定义:
- VCC:接电源正极
- Trig:控制端
- Echo:接收端
- GND:接电源负极
测距逻辑:
我们将模块引脚连接单片机,当需要测距时,单片机给控制口(Trig)发一个至少10us 以上的高电平信号,然后模块就会自动发送出8个40kHz的超声波,并等待检测回波,一旦检测到回波,则在接收端(Echo)输出一个高电平的回响信号,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/S))/2。
Arduino测距实验
下面我们就用Arduino UNO和HC-SR04模块做一个测距实验,用一个8位数码管模块显示距离。
硬件设备:
- Arduino UNO控制器 × 1
- HC-SR04超声波测距模块 × 1
- 8位数码管 × 1
- 电源 × 1
- 杜邦线 × n
接线图:
程序:
// 超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,//途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。//声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,//即:s=340m/s× t / 2 。这就是所谓的时间差测距法。//数码管位选uint8_t SEGPLAY[] = 0xC0, //"0" 0xF9, //"1" 0xA4, //"2" 0xB0, //"3" 0x99, //"4" 0x92, //"5" 0x82, //"6" 0xF8, //"7" 0x80, //"8" 0x90, //"9";//数码管段选 uint8_t DIG[] = 0b10000000, 0b01000000, 0b00100000, 0b00010000, 0b00001000, 0b00000100, 0b00000010, 0b00000001, ;#define TrigPin 2 //定义超声波传感器Trig引脚#define EchoPin 3 //定义超声波传感器Echo引脚#define dataPin 10 //数码管 DIO #define clockPin 11 //数码管 SCK #define latchPin 12 //数码管 RCK float distance;void setup() pinMode(latchPin, OUTPUT); //数码管定义为输出 pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(TrigPin, OUTPUT); //定义超声波传感器Echo引脚输出 // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态 pinMode(EchoPin, INPUT);void loop() // 产生一个10us的高脉冲去触发TrigPin digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); // 检测脉冲宽度,并计算出距离 distance = pulseIn(EchoPin, HIGH) / 5.800; playnum (distance, 1000); //通过数码管显示距离////函数作用:用于四位数码管显示数字//输入值:unsigned int 范围0-9999 ////返回值: 无 //void playnum (unsigned int i, unsigned int playtime) for (int j = 0; j < playtime / 4; j++) SegDisplay(i / 1000, 0); SegDisplay((i % 1000) / 100, 1); SegDisplay((i % 100) / 10, 2); SegDisplay((i % 10), 3); ////函数作用:用于单位数码管显示数字//输入值:i 范围0-11 //// 显示位置 1-4 ////返回值: 无 //void SegDisplay(int i, int j) digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, DIG[j]); //位选 shiftOut(dataPin, clockPin, MSBFIRST, SEGPLAY[i]);//段选 digitalWrite(latchPin, HIGH); delayMicroseconds(500);//调节这个和下面的参数可以调整显示亮度,建议这两个数加起来为860。这样是为了显示时间准确 // delayMicroseconds(360);
想要看具体实验过程,可以回看小煜之前发布的视频:《Arduino小实验系列——超声波测距仪,让你扔掉家中直尺》
相关参考
编者按:本文转载于酷耍(http:/kooshua.com)一、设计目的超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补...
编者按:本文转载于酷耍(http:/kooshua.com)一、设计目的超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补...
这里描述的电路使用超声波振荡,并根据这些振荡在空气中的传播速度来工作。因此,我们可以很容易地确定两点之间的距离,只要测量出波传播这个距离的时间。机械测量方法主要有三类:a)机械测量方法。b)通过光学手段...
这里描述的电路使用超声波振荡,并根据这些振荡在空气中的传播速度来工作。因此,我们可以很容易地确定两点之间的距离,只要测量出波传播这个距离的时间。机械测量方法主要有三类:a)机械测量方法。b)通过光学手段...
激光模块(更小更轻更远睿创微纳SR、LR系列激光测距模块发布)
...睿攻破多个行业技术难关,领先发布SR系列、LR系列激光测距模块。SR、LR全系产品采用航空铝合金结构加玻璃镜片,在重量上依旧做到行业同类产品最轻。10g!迄今最小2Km测距模块——行业首次:905小型化测距模块最低工作温度-...
激光模块(更小更轻更远睿创微纳SR、LR系列激光测距模块发布)
...睿攻破多个行业技术难关,领先发布SR系列、LR系列激光测距模块。SR、LR全系产品采用航空铝合金结构加玻璃镜片,在重量上依旧做到行业同类产品最轻。10g!迄今最小2Km测距模块——行业首次:905小型化测距模块最低工作温度-...
提到智能车(Intelligentvehicle),相信大家都不会陌生,智能车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高...
提到智能车(Intelligentvehicle),相信大家都不会陌生,智能车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高...
...成,用于确定目标距离。它具有三种类型:激光测距仪,超声波测距仪和红外测距仪。最广泛使用的测距仪是激光测距仪。那么这个测距仪的价格呢?为了使您更好地了解测距仪,让我们按照土巴兔网小编来了解测距仪价格的介...
...成,用于确定目标距离。它具有三种类型:激光测距仪,超声波测距仪和红外测距仪。最广泛使用的测距仪是激光测距仪。那么这个测距仪的价格呢?为了使您更好地了解测距仪,让我们按照土巴兔网小编来了解测距仪价格的介...