STM32F1与STM32CubeIDE编程实例磁簧开关Reed Switch驱动
STM32F1与STM32CubeIDE编程实例-磁簧开关(Reed Switch)驱动磁簧开关(Reed Switch)驱动簧片开关是一种由外加磁场操作的电气开关。 它由列宁格勒电工大学的 Valentin Kovalenkov 教授于 1922 年发明, 后来在 1936 年由 Walter B. Ellwood 在贝尔电话实验室发展成为簧片继电器。
磁簧开关机构由两个仅相隔几微米的铁磁片组成。 当磁铁接近这些叶片时,两个叶片会相互拉向对方。 一旦接触,铁磁片片就会关闭常开 (NO) 触点,从而使电流流动。 一些簧片开关还包含一个非铁磁触点,形成一个常闭 (NC) 输出。 靠近的磁铁会断开触点并从开关触点上拉开。
触点由多种金属制成,包括钨和铑。 有些品种甚至使用水银,必须保持正确的方向才能正确切换。 一个充满惰性气体(通常是氮气)的玻璃封套在一个大气压下的内部压力下密封触点。 密封隔离触点,从而防止腐蚀和任何可能因触点移动而产生的火花。
1、磁簧开关配置
开发环境搭建、系统时钟配置、调试配置及串口配置,请参考:
STM32F1与STM32CubeIDE快速入门-开发环境搭建 ...
STM32F1与STM32CubeIDE编程实例倾斜开关Tilt Switch驱动
STM32F1与STM32CubeIDE编程实例-倾斜开关(Tilt Switch)驱动倾斜开关(Tilt Switch)驱动倾斜传感器允许检测方向或倾斜度。倾斜传感器通常由某种空腔(圆柱形很流行,但并非总是如此)和内部的导电自由物质制成,例如一团水银或滚球。 空腔的一端有两个导电元件(极)。 当传感器的方向使该端向下时,质量会滚动到磁极上并使它们短路,充当开关投掷。倾斜开关有如下类型:
水银开关:在试管中使用一滴水银。 传感器根据重力定位,以便在开关打开时水银从触点上移开。 传感器方向的变化导致珠子在管中滚动,接触两个触点并关闭开关。水银倾斜开关的优点是成本低且易于使用。缺点包括材料的毒性以及它们只能执行开/关功能。
球笼开关:使用一个装在带有两个或多个触点的外壳单元中的小金属球。 当外壳倾斜时,球会使两个电触点短路,从而关闭开关。 可以向该设备添加多个触点,以便确定倾斜方向。
力平衡传感器:力平衡传感器是倾斜计中经常使用的重力参考传感器。 该传感器由一个平衡系统组成,其中一个悬垂质量悬挂在两个位置检测器之间。 当质量块由于重力而试图沿倾斜方向移动时,质量块的位置由位 ...
STM32F1与STM32CubeIDE编程实例振动传感器驱动
STM32F1与STM32CubeIDE编程实例-振动传感器驱动振动传感器驱动振动传感器,也称为压电传感器,有多种类型,用于测量设备或系统的加速度、压力、振动变化。振动传感器有如下类型:
**涡流( Eddy Current)**:涡流或电容式位移传感器是一种非接触式振动传感器类型,它产生磁场以测量导电部件中的位置变化。这种振动传感器要求传感对象足够大,然后才能进行一般传感。
速度类感器:速度传感器是一种振动传感器类型,通过使用在线圈内移动的磁铁产生的电流进行高温测量。由于与加速度计和陀螺仪传感器相比,它对放大器过载的敏感性较低,因此很受欢迎,因此速度传感器不能乱用!
**应变计传感器( Strain Guage Sensor)**:应变计传感器是一种振动传感器类型,它通过将力、压力、张力或重量转换为电阻变化来测量机械上的应变。它主要用于机械应用和具有曲面的物体。
压电加速度计传感器:也许最优选的振动传感器类型是压电加速度传感器。 多功能、宽动态范围,支持许多潜在应用,如振动传感器报警、安全系统、工业用途等。
振动传感器可用于广泛的应用,尽管它仅取决于使用的振动传感器的类型。 ...
STM32F1与STM32CubeIDE编程实例线性霍尔效应传感器驱动
STM32F1与STM32CubeIDE编程实例-线性霍尔效应传感器驱动线性霍尔效应传感器驱动当对材料通电时,电流以直线方式流过它。 也就是说,电子沿直线行进。 然后,当磁铁靠近该材料时,沿直线行进的电子再次沿弯曲路径行进。 这导致来自永磁体和电流的电位差或电压。 这种现象称为霍尔效应。
霍尔效应传感器(或简称霍尔传感器)是一种使用霍尔效应检测磁场的存在和大小的传感器。霍尔传感器的输出电压与场强成正比。它以美国物理学家埃德温·霍尔命名。
霍尔传感器用于接近感应、定位、速度检测和电流感应应用。通常,霍尔传感器与阈值检测相结合以充当二进制开关。常见于工业应用中,例如图中的气缸,它们也用于消费设备;例如,一些计算机打印机使用它们来检测缺纸和打开的盖子。一些 3D 打印机使用它们来测量灯丝厚度。
霍尔传感器通常用于对车轮和轴的速度进行计时,例如用于内燃机点火正时、转速计和防抱死制动系统。它们用于无刷直流电动机中以检测永磁体的位置。在图中具有两个等距磁铁的车轮中,传感器的电压每转两次峰值。这种安排通常用于调节磁盘驱动器的速度。
本次实例使用Key-024 线性磁性霍尔传感器模块包括一个称为 ...
STM32F1与STM32CubeIDE编程实例光断续传感器驱动
STM32F1与STM32CubeIDE编程实例-光断续传感器驱动光断续传感器驱动光断续器是(Photo Interrupt Sensor)一种透射型光传感器,将光接收和发射元件集成在一个封装中,请参见下图。 由于该方法涉及遮光,通常称为光断续器。 输出采用长寿命红外光电二极管,另一侧集成单个光电晶体管和光电IC用于光检测。
与机械开关不同,光断续器是非接触式(光学)开关,通过防止磨损(接触)引起的磨损来提高可靠性。
本文将介绍如何在STM32CubeIDE中如何使用光断续传感器。当有遮挡时,传感器输出低电平,连通时,输出高电平。
1、光断续传感器配置开发环境搭建、系统时钟配置、调试配置及串口配置,请参考:
STM32F1与STM32CubeIDE快速入门-开发环境搭建
STM32F1与STM32CubeIDE快速入门-GPIO概述与点亮LED
STM32F1与STM32CubeIDE快速入门-USART/UART串口通信
传感器配置如下:
保存配置并生成代码。
2、光断续传感器驱动实现1)基本定义
12345678910111213141516171819202 ...
STM32F1与STM32CubeIDE编程实例WS2812B全彩LED驱动基于SPIDMA
STM32F1与STM32CubeIDE编程实例-WS2812B全彩LED驱动(基于SPI+DMA)WS2812B全彩LED驱动(基于SPI+DMA)1、WS2812介绍WS2812/WS2812B LED 使用 24 位来表示绿色、红色和蓝色值。
WS2812采用单线通信的设计,通信协议为非归零编码,每个LED需要24个bit的数据,数据依次经过串联的LED时,第一个LED截取数据开头的24bit,并将剩下的数据流传给下一个LED,以此类推。数据线上的位由高脉冲编码,然后是低脉冲。时序如下:
WS2812支持高速数据传输并且其数据传输时序与SPI的通信时序类似,因此可以使用STM32的SPI外设模拟WS2812的通信时序。
在前面的文章中,对WS2812做了详细的介绍,请参考:
Ardunio开发实例-WS2812B独立寻址LED调色调光
Arduino与Proteus仿真实例-WS2812-RGB-LED灯带酷炫效果仿真
Arduino与Proteus仿真实例-WS2812-RGB-LED点阵(8x8)驱动仿真
ESP32-IDF开发实例-传感器模块编程-WS2 ...
STM32F1与STM32CubeIDE编程实例热敏传感器驱动
STM32F1与STM32CubeIDE编程实例-热敏传感器驱动热敏传感器驱动热敏电阻是可变电阻器,其电阻随温度变化。 它们根据其电阻对温度变化的反应方式进行分类。 在负温度系数 (NTC) 热敏电阻中,电阻随着温度的升高而降低。 在正温度系数 (PTC) 热敏电阻中,电阻随着温度的升高而增加。
导电材料包含允许电流流过的电荷载流子。 高温导致半导体材料释放更多的电荷载流子。 在由氧化铁制成的 NTC 热敏电阻中,电子是电荷载体。 在氧化镍 NTC 热敏电阻中,电荷载流子是电子空穴。
由于热敏电阻是可变电阻器,因此我们需要先测量电阻,然后才能计算温度。 但是,STM32 不能直接测量电阻,它只能测量电压。
STM32将测量热敏电阻和已知电阻之间某个点的电压。 这被称为分压器。 分压器的公式为:
其中:
V
o
u
t
V_{out}
Vout为热敏电阻和已知电阻之间的电压
V
i
n
V_{in}
Vin为输入电压,例如:5v
R1:已知电阻值
R2:热敏电阻的阻值
将方程简化为:
最后,使用 Steinhart-Hart 方程 ...
STM32F1与STM32CubeIDE编程实例金属触摸传感器驱动
STM32F1与STM32CubeIDE编程实例-金属触摸传感器驱动金属触摸传感器驱动KY-036金属触摸传感器模块采用KRS13达林顿NPN晶体管,其信号由电路部分控制,电路部分集成LM393,内部有两个比较器。 当触摸弯曲在晶体管上的裸线(由晶体管的基极表示)时,环境的 50 Hz 信号被注入到高增益放大器中。放大器的输出连接到比较器,然后将正弦交流信号转换为方波。
本文将演示如何在STM32CubeIDE中使用金属触摸传感器。本次使用的传感器模块,当有触摸时,输出高电平。
1、金属触摸传感器配置开发环境搭建、系统时钟配置、调试配置及串口配置,请参考:
STM32F1与STM32CubeIDE快速入门-开发环境搭建
STM32F1与STM32CubeIDE快速入门-GPIO概述与点亮LED
STM32F1与STM32CubeIDE快速入门-USART/UART串口通信
传感器配置如下:
保存配置并生成代码。
2、金属触摸传感器驱动实现1)基本定义
123456789101112131415161718192021222324252627282930/\* \* ...
STM32F1与STM32CubeIDE编程实例矩阵键盘驱动
STM32F1与STM32CubeIDE编程实例-矩阵键盘驱动矩阵键盘驱动1、矩阵键盘介绍键盘是广泛用于各种电子和嵌入式项目的输入设备。 它们用于以数字和字母的形式获取输入,并将其输入系统以进行进一步处理。
矩阵键盘由一组相互连接的按钮组成。 在本次实例中使用 4X4 矩阵键盘,其中四行中的每一行都有 4 个按钮。 按钮端子按下图所示示连接。 在第一行,所有4个按钮的一个端子连接在一起,4个按钮的另一个端子代表4列中的每一列,每行也是如此。 所以一共有 8 根线来连接一个微控制器。
首先,需要配置 8 个 GPIO 引脚。 其中四个是输入,另外四个是输出引脚。 然后您可以将列引脚连接到输入或输出引脚,但为方便起见,我将它们连接到 4 个输出引脚。
最后但同样重要的是,4 行引脚将连接到微控制器的 4 个输入引脚。 如下图所示:
如何确定键盘中哪个按键按下?
1)查找列位置
首先,将所有行都设置为逻辑级别 0,将所有列设置为逻辑级别 1。
每当按下一个按键时,对应于该按钮的列和行就会短路,并使相应的列变为逻辑电平 0。因为该列连接(短路)到处于逻辑电平 0 的行。
2)查找 ...
STM32F1与STM32CubeIDE编程实例超声波测距传感器驱动
STM32F1与STM32CubeIDE编程实例-超声波测距传感器驱动超声波测距传感器驱动超声波测距模块HC-SR04提供2cm-400cm非接触测量功能,测距精度可达3mm。 该模块包括超声波发射器、接收器和控制电路。
HC-SR04 的工作非常简单直接。模块发出 40 KHz 的超声波,在被障碍物反射后,反射回模块。 通过使用传播时间和声音的速度,我们可以计算出传感器与障碍物之间的距离。
HC-SR04工作的时序图如下:
结合工作时序图,我们可以得到HC-SR04的驱动步骤如下:
Trig引脚保持高电平至少 10us
模块现在将发送 8 个周期的 40 kHz 超声波脉冲串并检测是否有脉冲信号返回
如果信号返回,模块将输出一个高脉冲,其宽度将与物体的范围成正比。
距离可以使用以下公式计算:距离 = 高脉冲时间 * 速度 (340m/s) / 2
以厘米为单位计算公式: 距离 = us / 58
以英寸为单位计算公式:距离 = us / 148
建议至少等待 60ms 后再开始一下轮操作。
1、超声波测 ...
