你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于STM32F103C8T6最小系统板HAL库CubeMX驱动HC-SR501红外人体传感模块

[复制链接]
STMCU小助手 发布时间:2022-4-15 10:00
前言
  M* p' p' a0 q/ l; d相关模块的资料不再赘述,已经有很多人写过,这里给出其中一篇我觉得写的比较详细的文章链接:
" }6 ~5 F4 ?4 H/ y! g4 e模块资料介绍:
7 p7 h0 Z) D2 @4 q7 x) f# `5 L5 b4 N6 k探究人体红外传感器HC-SR501
8 i; h9 B; ]8 M: I1 N9 c4 Y# V# v; j, x; `1 I
程序整体框架是基于我的上一篇串口收发的工程修改的,相关串口、GPIO配置也不再赘述,这里给出链接:
9 c. R: ^3 C  c/ c2 d+ DSTM32学习笔记 二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发
# U4 e5 U: x% F/ N
/ O7 [  `% _- A3 p) P一、配置CubeMX
- s* l: {( G8 h/ n+ b5 C1、新建工程;, V; s, ]( G% n( w' A: n# K
2、配置时钟源,在RCC里面的HSE配置的是晶振时钟;
8 \5 T& x: ^; ~+ v  C. t" r3、配置程序烧录引脚SYS为SWD模式;
$ j; z2 _- ]7 \4、配置GPIO输出口,配置一个LED灯(我的板子是PC13),起到串口成功接收到数据时的指示作用;
% \% |. y/ R( N& d5、配置GPIO输入口,用来读取模块的输出电平,我选的是PA1口;
& [  ~( \5 W$ ]6、配置串口收发引脚;9 e( f1 V2 F" U- P
7、配置时钟树,我还是开到最高的72MHz;+ s! }* c: B# W+ n1 o- ]7 ]; T  B, @
8、进行项目设置,最后生成代码,CubeMX部分就大功告成了
+ T# k7 r! j  z! P4 n
. c* F" F5 E- A7 [, w $([Y)5[1~BVM(JS13(_KP%6.png 3 ~3 c$ U& y7 K* q

: q/ K' [4 v9 c# e" B二、硬件连线部分
# [5 I: F4 [: K; p# g* zCH340 ↔ STM32F103C8T6最小系统板:' k) I3 i$ ^( F/ T; @
 TX    ↔        RX, n$ i  A4 _. x5 E5 b% R( I4 B
 RX    ↔        TX( J  ^( r( L! C& q+ Q. j$ F1 s0 D

/ G# M) f1 w2 |; wDAP-LINK ↔ STM32F103C8T6最小系统板  L1 {& L  {7 N: ^/ d$ B
  3.3V    ↔         VCC' b: i& I+ F/ l0 {# e
  GND    ↔         GND
, Q/ d; x& }) Z" ^  SWIO   ↔         SWIO
7 @7 T& k; n9 i: o, a4 q: A. [ SWCLK  ↔        SWCLK
3 [- B( `  k# c1 K3 j# E8 {$ u, k  f4 j9 ]. P  @4 L
HC-SR501模块 ↔ STM32F103C8T6最小系统板
. u$ U1 i" _! v; O2 @0 l* P; R    OUT      ↔           PA1
) M- ~3 L. Q4 E& J, Z) T    GND      ↔           GND
& g3 D" V8 p* j& D0 R
- ~  E: l1 \7 cHC-SR501模块 ↔ DAP-LINK (这里注意模块供电范围为4.5V-20V,用3.3V无法驱动)) |' M5 q: [* Q+ O
     VCC     ↔    5V
# w" [: ?# s. ^
( g: j1 u/ v, @9 f! s9 z2 W% w  n/ S) H三、逻辑代码部分

3 o5 e) F  `$ G  @代码很简单,在之前工程的基础上,仅用在while里进行修改
; T8 o. ]3 y5 B' c$ p- |- {2 \/ q( g9 r
  1. /* USER CODE BEGIN 4 */  i* L) S% H& r( s' V
  2. 6 y  ~0 v% y* C* k0 v
  3.   /* USER CODE BEGIN WHILE */
    % P* v9 @" U( P$ q8 K8 z
  4.   while (1)
    & |$ L' _$ Z- W" Q) e" b; l; t
  5.   {
    * }) O5 b9 ?* ?
  6.     /* USER CODE END WHILE */
    2 P: \% r# b/ \( Z; z* g; a

  7. . f8 x' o* v8 V9 d
  8.     /* USER CODE BEGIN 3 */
    4 F3 K  e* N, o0 `; W6 o4 H/ f
  9.                 if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1) == 1)  q4 D* x2 K3 ^! U- Q
  10.                 {
    1 q: o8 G2 @' @" A6 x. Y+ z
  11.                         HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);//灭灯
    1 k' l1 v$ X8 D6 A+ `
  12.                         printf("有人\r\n");
    # ]! c( [8 G0 l3 b
  13.                         HAL_Delay(100);5 H+ \6 L$ ?' j' C# O. X
  14.                 }& _" y1 M( i+ }" g' B6 s3 P

  15. % H! K! Q. ~5 u* D. ^& E# t0 e0 \! M
  16.                 else  
    1 a' c; G( o6 H0 o2 w) Y" y" m- }
  17.                 {# x, E' W# Q' d4 o9 Z. {
  18.                         HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);//亮灯
    ! b' r* r+ V" V( A" \" d5 `
  19.                         printf("没人\r\n");% I9 [8 a7 l4 _% |7 ~
  20.                         HAL_Delay(1000);
    % W+ B% S& w* Q
  21.                 }
    $ p' [$ l$ d: u: o4 ^% N
  22.                 7 y0 S) _) p7 z; l
  23.   }" T3 h' Z. c9 V/ _2 I7 Z$ s2 H
  24.         : O0 O' Y) y. k0 J3 S2 A* w/ e
  25.   /* USER CODE END 3 */
    & N  L! c, q5 Q3 @) H2 X4 X
复制代码

: B; G/ \2 y, B/ ]; {现象:
& M) F3 m; Q' f) T
! {- k! h( _" n4 f7 x: n% Z/ ]/ p, S感应到人体,板载LED绿灯亮,同时串口打印“有人”。
4 P. b! s! j2 o$ `& |
, o3 ]4 y" Z4 x+ n& ? 1c58833f7b9645d2af11218e7c9792c9.gif
! V3 V5 a* W7 G- N+ R
- V% G1 }7 G5 l! b( v& Z- v注意:: e8 n. C6 [* H  ~$ r: x% C, ]3 H
重定义printf后,必须在target里面勾选上MicroLIB,调用一下这个微型库,不然一直卡在里面。7 V, f# `0 W' {( v
- o2 b' h2 ]) D) d: D# ~2 J
I0]9VDGKIUWN9T3P25QACPT.png
& _7 f, c0 T& B; P, i
/ W7 U/ D' x1 E5 k3 S/ X: N% k; t5 @. H4 ?9 S/ k, j/ F" t
收藏 评论0 发布时间:2022-4-15 10:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版