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

【经验分享】stm32cubeMX配置人体感应器SR505

[复制链接]
STMCU小助手 发布时间:2022-5-22 21:31
前言# @- \* s& A8 N0 a# |" b& b; H
本篇文章带大家了解并使用人体感应模块。
& C; b  Q, E/ O" Z# }" a4 ?/ C' C( T* r# f
一、SR505人体感应模块
$ ^* \; s( t; l$ ~5 m0 h. X6 Q1 [HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口
$ W+ @0 ~' B* l3 _" D. d7 zLHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应# I1 W; s; ^! H4 {1 `) [; o
用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
* R; u( q. ?/ K3 V# d; v: g9 ?
二、cuebMX配置及代码讲解
! W0 X# `1 g) _, y" J# _1.cuebMX配置

8 O; o2 v% Y8 d5 J; b我们只需要配置一个GPIO口作为输入即可,其他配置和点灯是一样的 点灯。
! v* ?9 N6 p# U1 |+ ~  c  w9 T) z+ ~
18LUI(2CNKRK9}@)3ZOV.png 9 k, n7 I* y4 F% j3 g" d

8 V2 j& z( I$ i1 d7 n4 O2.代码讲解" a3 b/ p( m' o* K/ w9 q, P
  1. //IO口定义! h1 l* }* R0 T4 N
  2. #define OUT_Read() HAL_GPIO_ReadPin(OUT_GPIO_Port,OUT_Pin)
    % w, r8 W/ {9 d( ?
  3. 8 b* t! X. ^2 f6 E
  4. u8 state=0;//判断是否有人变量5 F6 {  h) u8 B$ o4 u% a4 `
  5. ; b! `" P( j) {: e
  6. void Judge(void)
    5 @' ~% ^: w3 u) e1 m) b0 q
  7. {
    & R, [9 {, Z* _& P/ @, g" @6 _: _7 R
  8.   if(OUT_Read())//有人
    , H3 k& Y" n& G1 a: I% R
  9.   {
    4 k' |$ f3 }. k" R
  10.     state=1;( q6 \0 [3 s. b4 P
  11.   }% V2 K  U- b' b( l
  12.   else//没有人; t5 l2 ?7 N/ o' i6 K
  13.   {
    ; K. S$ D) y; H) r2 Y/ C
  14.     state=0;
    " E0 Q# p8 ?& d+ A/ X3 ?! }" p
  15.   }
    ) E2 i$ B; v) l* v' r# t# G: [
  16. }
复制代码

8 Y7 z, [0 X' b! {3 c1 B$ k" H: ^% X7 K( w2 H% n" J* ^4 d# J
我们根据state的数值即可得知周围是否有人。0 M/ ?) x' V! L' V

% \. B1 ]" X* A% }! {; x总结

0 m% O$ [9 e1 [) {- G以上就是人体感应模块的简单介绍了大家有没有感觉很容易。
6 N( A% A2 d; P: J) h: `( m# Q% d, q7 {0 H% U) t

* ^0 r" f  Q/ {5 [" I
收藏 评论0 发布时间:2022-5-22 21:31

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版