介绍HC-SR501 是最常用的被动式红外(PIR)人体移动检测传感器,通过捕捉人体发出的 10μm 左右红外热辐射,检测区域内是否有人移动,输出高低电平给单片机做感应控制,广泛用于人体感应灯、安防报警、智能门禁、节能设备场景。 顶部带有菲涅尔透镜红外聚焦:把大范围空间里人体发出的红外热辐射,集中汇聚到下方的热释电感应芯片上,大幅提升探测距离(最远可达 7 米)。划分探测明暗区域:透镜内部有密集锯齿纹路,把前方空间分割成多个交替的灵敏区、盲区。人走动穿过区域时,红外信号强弱交替变化,传感器才能识别出移动的热源;如果没有这个帽子,只能感应很近的热源,稍微走远就无法检测。广角扩束:把原本狭小的感应
介绍:Free Real-Time Operating System,免费开源嵌入式实时操作系统 由亚马逊维护,是目前单片机领域使用量最高的 RTOS。 FreeRTOS 通过任务抢占式调度,让传感器采集、串口通信、屏幕刷新、电机控制等多个任务「并发运行」 保证紧急任务立刻响应,实现硬实时控制。 如何使用FreeRTOS我们打开FreeRTOS的官网 代码跳转 右上角有个github可以点击 (主要是官网没几个版本可以选择) 然后打开Releases然后点击Tags 选择你要安装的版本 准备移植工作我们打开下载好的压缩包 打开FreeRTOS(不是FreeRTOS-Plus) FreeR
Protothreads用途协程库听起来很高大尚 其实他就是类似于一种调度器,他能模拟多线程 如果传统你要实现灯在闪烁的时候同时再实现其他功能的时候 那就要靠定时去实现,比如谁时间到了就执行谁的代码 当然如果不想用定时器,就可以用到Protothreads协程库开发 他就是可以协调程序的运行的先后,相当于是让程序可以同时运行 实现伪多线程 缺点:所有线程必须是非阻塞的,延时使用定时器 + 条件判断(如 timer_elapsed())严禁在 PT 线程内调用 delay_ms() 等忙等或阻塞函数。 我们单片机模拟的是图中的第二种情况 Protothreads原理传统 RTOS 线程切换需要
规格介绍 特性参数 规格说明 工作频率 40kHz±1kHz 测量周期 ≥60ms 测量角度 ≤15°锥角 工作温度范围 -15℃~70℃ 模块尺寸 45mm×20mm×15mm 模块重量 约9g 简单介绍HC-SR04超声波 发射换能器(T):电信号转换成 40kHz 超声波声波;接收换能器(R):反射回来的声波转回微弱电信号;发射驱动电路:放大 MCU 给的触发脉冲,驱动振子发出 8 串 40kHz 方波;接收放大整形电路:微弱回波信号放大、滤波、比较,输出标准高电平 Echo 信号。 引脚:VCC (5V)、Trig (触发输入)、Echo (测距输
规格介绍 BH1750是一种光照传感器,主要通过IIC进行通讯,内置 16 位 ADC,量程 1~65535lx,模仿人眼感光特性。 工作电压:3-5V 工作电流:200uA 探测范围:1~65536 lx 模块尺寸:32.6mm×15.2mm×11.6mm 输出方式: IIC 管脚数量:5 Pin 原理图 引脚名称 描述 VCC 供给电压 3~5V SCL I2C 总线时钟线 SDA I2C 总线数据线 ADDR I2C 地址引脚 GND 电源地 芯片通讯芯片地址设备有ADDR引脚用来设置IIC地址 一般来说GY30,GY302等模块引脚有下拉。所以悬空一
关于IICIIC是一种半双工的通讯协议他不能同时进行发送和接受他有两个线一个是SCLK一个是SDASCLK是负责同步时钟信号引脚的SDA是负责发送和接受的引脚他可以是多主多从的设计 IIC的通讯IIC开始通讯SCL高电平期间,SDA从高电平切换到低电平 IIC发送数据发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化依次循环上述过程8次,即可发送一个字节 IIC应答接收应答:主机在发送完一个字节之后,在下一个时钟接收一位数据(由从机进行发送),判断从机是否应答数据0表示应
STM32串口对应的引脚 串口外设 TX 引脚 RX 引脚 RTS 引脚 CTS 引脚 备注 USART1 PA9 PA10 PA12 PA11 最常用,挂载 APB2 高速总线,支持硬件流控 USART2 PA2 PA3 PA1 PA0 挂载 APB1 低速总线,支持硬件流控 USART3 PB10 PB11 PB14 PB13 挂载 APB1 低速总线,支持硬件流控 UART4 PC10 PC11 - - 仅异步,大容量型号支持,无硬件流控 UART5 PC12 PD2 - - 仅异步,大容量型号支持,无硬件流控 工程设置 模式选择! 模式选项 中文名称
ADC的概念:ADC就是读出电压 STM32的定时器分:注入通道和规则通道 规则通道:规则通道相当于你正常运行的程序,看它的名字就可以知道,很规矩,就是正常执行程序 注入通道:注入通道可以打断规则通道,听它的名字就知道不安分,如果在规则通道转换过程中,有注入通道进行转换,那么就要先转换完注入通道,等注入通道转换完成后,再回到规则通道的转换流程 工程设置我们先选择你要用的ADC 配置项 中文说明 可选值 / 含义 IN0-IN9 选择ADC的通道 勾选代表启用通道 Temperature Sensor Channel 内置温度传感器通道 勾选:启用芯片内置温度传感器
生成工程我们选择定时器来进行配置PWM 我们选择内部定时器触发,然后选择CH1引脚触发 然后进行PWM的配置 前面有关定时器都有提到的 基本的配置 配置项 中文说明 可选值 / 含义 Prescaler (PSC) 预分频器 0~65535,定时器时钟分频系数 Counter Mode 计数模式 Up:向上计数Down:向下计数Center-aligned mode1— mode3:中心对齐计数 模式1到3 Counter Period (ARR) 自动重装载值/计数周期 0~65535,计数器溢出上限值 Internal Clock Di
STM32从模式的概念从模式其实听说很复杂,其实吧也不咋简单 从模式主要可以分成两种 内部模式和外部模式 外部模式就是当定时器记满之后,触发内部定时器进行计数或者其他操作 内部模式就是当内部别的定时器记满之后,触发其他定时器进行计数或其他操作 外部模式创建cubemx 我们主要用这两个设置来设置从模式 我们先看从模式设置 模式 作用与解释 典型用途 Disable 禁用从模式,定时器使用内部时钟自主运行,不受外部信号控制 普通定时、PWM 输出 External Clock Mode 1 外部时钟模式 1,定时器的计数脉冲由外部触发信号提供,每来一个有效边沿,计数器 + 1