本文用的单片机是STM32F103C8T6,超声波测距模块是HC-SR04,显示测距结果用的是0.96寸OLED屏模块。 硬件概述 HC-SR04超声波距离传感器的核心是两个超声波传感器。 VCC 是HC-SR04超声波距离传感器的电源,我们连接了5V的供电。 Trig (Trigger) 引脚用于触发超声波脉冲,下面例程中用的GPIOB5,所以连接STM32的GPIOB5。 响应于此,传感器以40 KHz发射八个脉冲的声音脉冲。这种8脉冲模式使设备的“超声特征”变得独一无二,从而使接收器能够将发射模式与环境超声噪声区分开。 八个超声波脉冲通过空气传播,远离发射器。 :https://s.click.taobao.com/8SoQMVu ST-LINK V2仿真器:https://s.click.taobao.com/FEuPMVu HC-SR04模块:https:
本篇文章开始介绍关于超声波测距传感器模块,算是又多认识了一个传感器。 0x01:超声波测距传感器介绍 超声波测距传感器是通过振动频率高于 20KHz 的机械波来工作的。 以上这段描述来自于超声波测距传感器产品的介绍。我这里使用的超声波测距是 HC-SR04 模块,这个模块的测距范围在 2cm 到 600cm 之间,精度在 0.1cm + 1%,模块的外形如下图所示。 它的工作原理图如下: 在图示中,只需要在 TRIG 引脚输入一个 10us 以上的高电平,系统便可发出 8 个 40KHz 的超声波脉冲,然后检测回波信号。 当测量距离超过 HC-SR04 的测量范围时,仍会通过 ECHO 引脚输出高电平信号,高电平的宽度约为 66ms。 如下图所示: 测量周期:当接收到 HC-SR04 通过 ECHO 引脚输出的高电平脉冲后,便可进行下一次测量,所以测量周期取决于测量距离,当距离北侧物体很近时,ECHO 返回的脉冲宽度较窄,测量周期就很短
硬件模块: stm32f103 HC-SR04 oled 0.96寸显示屏 HC-SR04讲解 工作原理: 发射器:HC-SR04模块的发射器会发射一系列的超声波脉冲信号。 接收器:当超声波信号遇到物体并被反射回来时,HC-SR04模块的接收器会接收到反射的超声波信号。 时间测量:HC-SR04模块通过测量从发送到接收超声波信号的时间差来计算距离。 超声波传感器(Ultrasonic Sensor):包含发射器和接收器。 接口: VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号 时序触发图: 不难看出,先触发唤醒,然后其自动发射,8个40kHz脉冲,用定时器来获取其来回的时间,除以2就是其距离 GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); } void Ultrasonic_Init(void) { // 配置超声波传感器
超声波传感器工作原理 本实验中,HC-SR04超声波传感器通过发送声波,并计算声波返回超声传感器所需的时间来工作。通过往返时间检测法,它可以告诉我们物体相对于超声波传感器有多远。 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能, 测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。 基本工作原理: (1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间 HC-SR04超声波模块工作原理 初始化时将trig和echo端口都置低,给Trig一个10US以上的高电平,模块开始工作,模块内自动发送八个40khz方波,并自主检测是否有电波返回。 超声波测距传感器实验电路图 ? 超声波测距传感器实验实物接线图 第2步:编写控制程序。将手放在超声波测距模块上,观察屏幕上打印的距离数值。 ? #!
效果图 硬件说明 HC-SR04超声波距离传感器 Arduino pro mini 0.96'oled屏幕 led×5,杜邦线 HC-SR04 trig -> arduino pro mini 13 HC-SR04 echo -> arduino pro mini 12 0.96'oled SCL -> arduino pro mini 3 0.96'oled SDA -> arduino pro mini 5 下载程序部分略去 程序代码 使用的库 SR04提取码: g9e9,U8g2 #include <SR04.h> #include <U8g2lib.h> #ifdef U8X8 .clearBuffer(); //u8g2.setFont(u8g2_font_fub30_tf); u8g2.setFont(u8g2_font_courB24_tf); u8g2.drawStr (0, 30, "Distance"); //u8g2.drawStr(0,40,distance); // u8g2.setFont(u8g2_font_6x12_tn); u8g2.setCursor
前言 超声波传感器是一款测量距离的传感器。其原理是利用声波在遇到障碍物反射接收结合声波在空气中传播的速度计算的得出。在测量、避障小车,无人驾驶等领域都有相关应用。 实验目的 通过python编程实现超声波传感器测距。 IO口分别控制超声波发送和接收,工作原理如下: 给超声波模块接入电源和地; 给脉冲触发引脚(trig)输入一个长为20us的高电平方波; 输入方波后,模块会自动发射8个40KHz的声波,与此同时回波引脚 测量距离并打印 参考代码 ''' 实验名称:HC-SR04超声波测距 实验平台:核桃派1B ''' import time import board import adafruit_hcsr04 time.sleep(0.5) 实验结果 将HC-SR04超声波传感器按下图连接到核桃派, PC9连接到Trig引脚, PC11连接到Echo引脚: 由于本例程代码依赖其它py库,所以需要将整个例程文件夹上传到核桃派
【源码开源】基于STM32的倒车雷达项目——OLED实时显示+HC-SR04测距模块在嵌入式学习中,超声波测距与OLED屏显是两个非常常见的基础模块。 本文将以STM32F103C8T6为核心控制器,通过HC-SR04超声波模块完成距离测量,并使用0.96寸OLED实时显示测量结果,同时加入按钮中断作为启动/复位控制,最终实现一个完整、可复用的倒车雷达体验 为了更好地理解STM32的外设控制与传感器应用,我基于STM32F103C8T6、HC-SR04超声波模块以及0.96寸OLED显示屏实现了一个小巧实用的倒车雷达系统。 一、项目设备清单本项目采用了常见且价格友好的硬件模块,适合作为入门练手或课程设计方案:STM32F103C8T6最小系统板0.96寸I2COLED(SSD1306驱动)HC-SR04超声波测距模块一个外部按键 结构简单功能明确易扩展性强借助SSD1306与DWT-Delay能快速上手本项目基于STM32F103C8T6,结合HC-SR04超声波测距模块与OLED显示屏,实现了一个结构简洁、功能明确的倒车雷达系统
在车体底盘的前端装有4个红外光电传感器,用以实现路迹检测和避障功能。 小在小车的车头还装置有超声波探测模块HC-SR04,当前方检测到障碍物时,小车能够做出相应的反应。 总体设计框图如图3-1。 传感器原理图如图3-6所示。 所以传感器会输出的电平就为0,L3、L4灯会亮起来。当前方没有遇到障碍物时,由于传感器位于小车的上方,因此传感器反射能力不强,只能反射少许的红外光线,不能够使得传感器运作,所以传感器输出电平1。 只要通过单片机来检测传感器的输出端电平是高还是低,就能得知是否遇到障碍。3.6超声波避障的设计3.6.1超声波避障原理 本设计实现避障功能选取的是超声波探测传感器。 3.6.2超声波模块工作原理 本设计采用的是HC-SR04超声波探测模块,给一个高电平的信号(大于10千赫兹),HC-SR04模块就会释放出八个方波(约40千赫兹),而且检测是否信号返回来完全是自动的。
在项目中,STM32F103C8T6主要负责控制模块功能,其高性能、低功耗的特点为系统稳定运行提供了有力保障。 4.2.1.3 距离传感器 HC-SR04超声波距离传感器利用回声定位原理,通过其内置的发射器和接收器发送和接收40kHz的超声波脉冲,能够精确测量2cm至15m范围内的距离,具有高达 在机器人避障、液体水平检测、自动门控制等多种应用场景中,HC-SR04以其稳定的性能和低成本的特点,成为项目中实现非接触式距离测量的理想选择。 4.2.1.4 颜色传感器 在本项目中,STM32F103C8T6微控制器搭载了高性能RGB颜色传感器——TCS34725。 温度传感器DS18B20、超声波距离传感器HC-SR04和颜色传感器TCS3200分别连接到不同的GPIO引脚上,I2C通信则用于显示屏和其他器件。 4.4 原理图设计方案 略
硬件环境 STM32F407探索板(其他开发板皆可以) HC-SR04超声波模块 软件环境 KEIL5 CUBEMX 串口调试助手(sscom或其他) 实验目标 了解HC-SR04超声波模块工作原理 设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:D = ct/2,图 2是相应的系统框图。 ? 1.2 HC-SR04模块原理 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测 距精度可达高到3mm,模块包括超声波发射器、接收器与控制电路。 (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声 波从发射到返回的时间。 我板子上焊接的是8M的晶体,如果小伙伴们的板子上不是8M,根据自己的晶振频率配置即可,左侧圈1中,可以根据自己的晶体频率,输入相应的频率,经过分频、倍频后,系统时钟频率设置为最大,168MHZ,APB1
系统由AT89C51控制器、HC-SR04超声波模块、DS18B20温度测量模块、声音报警电路和LCD1602显示电路组成。 三、proteus仿真电路 原理图 四、仿真结果分析 首先,需要注意的是:查阅HC-SR04说明书,可知在实际应用中,其最远射程为4m;由于仿真为电脑模拟,与实物结果有一些差距。 点击DS18B20温度传感器模块的上、下红色箭头,模拟温度值的变化;调节HC-SR04超声波模块下的滑动变阻器RV1(左右两个箭头),模拟倒车过程中距离的改变。
1.HC-SR04介绍 超声波传感器有很多种类的型号:HC-SR04、UC-025、UC-026、UC-015、US-100等等,但是他们都大同小异。 2.HC-SR04原理介绍 2.1原理概述 超声波测距的工作原理其实很简单,传感器发送超声波,超声波碰到障碍物反弹回来,被传感器接收到。 正常测距时的时序: 单片机会给超声波模块发送大于10us的高电平的触发信号; 超声波模块接收到触发信号后 Trig端发送8个40KHz的超声波脉冲。 C8T6 VCC VCC GND GND Trig PB6 echo PB7 因为我们涉及到对个别引脚的使用,所以我们需要对引脚进行一些简单的配置(为了方便对引脚进行修改,我们对引脚进行了一些简单的宏定义 ,并以其中较为经典的 HC-SR04为例,给出了驱动代码。
本节将介绍使用HC-SR04超声波传感器、DS18B20数字温度传感器、ArduinoUno和LabVIEW组成带有温度补偿的超声波测距系统,可用于机器人避障等场合的距离测量。 拓展学习:LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3) 2、项目架构 超声波测距系统总体框图如下图所示: 在整个系统中,Arduino Uno作为下位机,负责读写HC-SR04 超声波传感器、读取DS18B20温度传感器以及上传数据,LabVIEW软件作为上位机,负责接收超声波时间、空气温度和计算超声波所测量的距离值并显示,上下位机利用USB-TTL接口实现通信。 项目详情请参见:LabVIEW控制Arduino实现超声波测距-单片机文档类资源 3、硬件环境 本项目将HC-SR04超声波模块的VCC、GND、Trig、Echo分别连接到ACCrduinoUno控制板的 Arduino Uno控制器负责读取LabVIEW上位机发来的距离测量和温度采集命令,并通过HC-SR04超声波传感器和DS18B20传感器获取超声波往返时间和温度数据,通过串口发送回上位机LabVIEW
我们选择了HC-SR04超声波模块,该模块通过发送超声波并接收回波信号来测量距离。其测量范围为2cm到3m,精度较高,适用于本项目对距离要求的场景。 我们将两个HC-SR04超声波传感器分别放置在小车的两侧,利用它们测量与主人的距离,从而计算出主人的方位角。 程序实现距离测量:通过外部中断接口接收每个HC-SR04传感器的回波信号,并使用定时器测量回波信号的时长,进而计算出距离。 供电装置由于各个模块的电压需求不同,我们为系统设计了两组独立的电源:12V电源:由8节1.5V电池组成,专门为L298N电机驱动模块提供电力。 而压力传感器FSR402的使用让我意识到,传感器的选择与实际应用的需求紧密相关,合理的电路设计和传感器配置是实现功能稳定性的关键。
系统由AT89C51控制器、HC-SR04超声波模块、DS18B20温度测量模块、声音报警电路和LCD1602显示电路组成。 Proteus仿真电路 原理图仿真结果分析首先,需要注意的是:查阅HC-SR04说明书,可知在实际应用中,其最远射程为4m;由于仿真为电脑模拟,与实物结果有一些差距。 点击DS18B20温度传感器模块的上、下红色箭头,模拟温度值的变化;调节HC-SR04超声波模块下的滑动变阻器RV1(左右两个箭头),模拟倒车过程中距离的改变。
一个 8 x 8 的低成本红外线传感器;是学校大佬设计的,他做了好多年 MEMS 器件了,最近也开了公司,干了大半年样片也出来了,正好有机会我可以把玩到它: 先看手册,是一个红外传感器的产品 薅了块样品 信号链比较简单,一个 OP,直接就在 ADC,串口输出结果 内部其实是一个 8X8 的像素阵列 VMT-88 属于 THERMOChip™ 系列,是一款 8×8 红外热感像素阵列模组。 核心特点 像素阵列:8×8(64 点),成本较低但具备基本热成像功能。 供电:5 V,典型电流约 4.2 mA。 输出:完成出厂校准,数字信号输出。 接口:USART 串口通信。 目前是做成了这样小的模组,可以直接串口连接,后续也会直接卖传感器,客户可以自己设计后续的部分。 那作为本校的教授,那我肯定是近水楼台先得月: 还有更多像的传感器 直接塞显微镜下面看 内部的结构 其实 MEMS 器件也是半导体设计的一种: 上面会有设计者独特的 Logo 找了原版的 Logo 放上来
在小车的车体左右分别安装红外线光电传感器,通过黑白线来检测循迹的功能:当黑线的边界被小车左侧的传感器检测到的时候,会向单片机发送一个信号,当单片机接收到信号的时候,会控制左轮电机,小车开始向左调整方向; 在小车的前部分安装了一个红外线光电开光来实现避障,当障碍物被传感器检测到的时候,车轮开始转动,小车避开障碍物继续行驶[8-10]。 2.系统各模块设计 2.1 红外循线模块 本次设计中将采用红外发光二极管作为反射式光电传感器。 图2 含有LM393的红外传感器电路原理图 2.2避障模块 本次设计采用了HC-SR04超声波模块,源于它广泛应用与智能小车的避障原理中,考虑到它的特性和工作原理,本次实验将采用HC-SR04作为超声波模块的器件 HC-SR04电路连接如图3所示: 图3 HC-SR04电路连接图 3.软件设计 当硬件设计完成之后最重要的部分是进行软件设计,根据每个模块的不同来进行软件编程,共分为红外遥控、循迹和避障三个模块,这三个模块是通过一个按键来控制小车的状态
项目功能 屏幕截图 2022-03-09 201037.png 坐姿检测 通过HC-SR04超声波模块实时检测使用者与台灯之间的距离判断坐姿,提醒使用者调整坐姿。 板载物联网俱乐部E53 Interface接口,可扩展全系E53传感器。 板载标准24P DVP摄像头接口,可支持最高500万像素摄像头。 板载RGB显示接口,可转换HDMI输出。 HC-SR04超声波传感器 IMG_20220310_102251.jpg HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器 采用 I/O 口 TRIG 触发测距,给最少 10us 的高电平信呈 模块自动发送 8个40khz 的方波,自动检测是否有信号返回 有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间 I/O连接如下: Snipaste_2022-03-12_14-58-52.png BH1750环境光传感器 IMG_20220310_102409.jpg BH1750环境光传感器内置16位的模数转换器
曲率传感器 本期推文对课题组前期曲率传感器相关的工作进行介绍,具体文章见(Adhesion-Free Thin-Film-Like Curvature Sensors Integrated on Flexible ,希望对大家有所帮助~ 本方案采用的柔性曲率传感器属于电阻式应变传感器,通过特定的结构设计实现弯曲变形的准确测量,传感器的尺寸和量程均可根据需求定制,从而满足不同尺度的测量要求,其主要的优点如下:结构简单可靠 : 曲率传感器实际测试中,R=R1=R2=120Ω,R3=R4=1000 Ω,即半桥电路的输出电压 Um 为: 即: 2、柔性曲率传感器加工完成后,需要相应的指标检验传感器的优劣,本部分通过特定的实验 固定曲率的亚克力圆柱,具体试验结果如下所示: 量程又称“满度值”,表征传感器或系统所能承受最大输入量的能力,数值上等于传感器上下限之差的模,当输入量在量程范围内时,测试系统正常工作,从图中可以看出,柔性曲率传感器的输出信号和曲率成线性关系 附:曲率传感器现状:对于曲率测量方面,目前工业界已发展出若干种测量方法,然而都具有相应的弊端,例如:基于应变传感器对弯曲变形进行测试时需要传感器与待测物体完美粘合,界面处一旦产生滑动,测试结果将变得毫无意义
同时,采用了HC-SR04超声波测距模块作为测距模块。HC-SR04模块能够向前发射超声波信号,并接收回波信号,通过测量发射到接收之间的时间差来计算出距离。 (2)超声波测距模块选择:在本项目中,选用HC-SR04超声波测距模块作为测距模块。HC-SR04模块具有发送超声波信号和接收回波信号的功能,能够准确测量物体与测距器之间的距离。 (3)E引脚连接到单片机的P2.2口 (4)D4引脚连接到单片机的P2.4口 (5)D5引脚连接到单片机的P2.5口 (6)D6引脚连接到单片机的P2.6口 (7)D7引脚连接到单片机的P2.7口 (8) (4)工作电压:HC-SR04 模块的工作电压通常为5V,可以通过连接到微控制器或其他适配器来供电。 (5)接口:HC-SR04 模块通常使用四个引脚进行连接。 RW = 0; P0 = dat; lcd_enable(); } void lcd_init() { lcd_write_cmd(0x38); // 初始化8位数据接口