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

[Nucleo] F072RB测环境光强

[复制链接]
shaoziyang 发布时间:2015-1-29 23:48
本帖最后由 shaoziyang 于 2015-1-30 00:05 编辑
# G  e. Y8 f  y& N
, [$ G9 \8 n1 `% I" Z$ `5 t/ p) |LED除了可以发光,其实也可以测试光强,因为LED也是二极管。当环境光强变化时,LED上的结电压会发生变化,因此可以通过这个方法测量光强。虽然这种方法精度不是太高,但在有些情况下还是有用的。+ H$ C) u0 @1 }( Y) I& M& `

- `' f# }. [6 g; CST Nucleo F072RB上只有一个用户LED,它接在PA_5,它也是ADC_IN5。利用F072带有的12位ADC,可以很灵敏的测出光强变化。下面程序就演示这个方法,程序很简单,但是效果还不错。
8 s) m( `2 u* H: Y2 q2 O5 u' R4 b
# f, y9 g& M" L" E( N! ?! r8 t
  1. #include "mbed.h"& b2 m. a$ M. `# m1 b2 }" V
  2. ( W4 O' q# Y1 R  s3 \# B6 F
  3. DigitalOut myled(LED1);  z, `6 q# K" k+ B

  4. 0 ?; _' Y& o$ G' l7 ~
  5. AnalogIn Light(LED1);
    ; ^% }+ A0 D, o5 y: u2 C

  6. ) n/ }0 p; X4 G5 {
  7. Serial pc(USBTX,USBRX);: T; J& D. }4 J2 S- O% L: I

  8. & A7 y! ^) o& B" S3 h
  9. int main() {
    , b, M& s$ m( U% y
  10.     myled = 0;
    % ~4 i5 \+ `9 @% O" f# X
  11.     while(1) {( D! X& p; C2 \- y
  12.         wait(0.5);* w2 e2 v$ g# a- t! s: T2 e
  13.         pc.printf("%d\r\n", Light.read_u16()>>4);
    0 C1 x4 t6 w- k, H3 G4 S& R
  14.     }1 h4 B1 L- ^! O6 @
  15. }
复制代码

! A* u/ v- f+ X4 L. `- B+ B4 p9 b, V: ^. k

! L" d5 d+ |# o/ @2 \( `测试效果1 W& e: u' s- ^' X4 |* C) p

: b& H" W& K! f" y 4.jpg
" E+ K9 }) u7 h0 N6 N9 Q$ ?9 s  I/ C- n& v9 e6 m) l2 o+ l  w
ST_Nucleo_F072_TEST.zip (671.1 KB, 下载次数: 8)
收藏 评论8 发布时间:2015-1-29 23:48

举报

8个回答
xyc2690 回答时间:2015-1-30 00:03:32
原理不明白。。。能解释一下吗?
shaoziyang 回答时间:2015-1-30 00:08:35
本帖最后由 shaoziyang 于 2015-1-30 00:11 编辑 5 K4 w9 f2 B7 _$ E4 {3 l! N2 G
xyc2690 发表于 2015-1-30 00:03
% E( k5 x7 I6 }6 n/ O原理不明白。。。能解释一下吗?
, r6 s+ K0 g4 q& J/ v4 d
当环境光强变化时,LED上的结电压会发生变化,它们存在一个对应关系(非线性),所以可以测光强。0 l! ?+ f0 i6 Q, M$ i$ H7 p
缺点是变化范围较小,一致性不是特别好,所以不适合测光强具体数值,但是测光强变化,或者测大概光强还是不错的,不用增加任何硬件成本。6 n3 X. e: b, j( _, \3 ^; w
- O  x5 G6 g9 u' `, c
你试试就清楚了,很容易的。
. `" f6 z$ h. Z2 F7 N0 _4 K
kqh1120 回答时间:2015-1-30 00:23:07
意义何在呢??
shaoziyang 回答时间:2015-1-30 00:26:47
zfz0122 发表于 2015-1-30 00:23
" L9 v' H. B- {* y意义何在呢??

$ V* k: a  F2 ~# w% J在要求不高,或者IO不够时,这个方法还是有用的,又不增加任何硬件成本啊。一个LED完成两个功能。
xyc2690 回答时间:2015-1-30 00:27:53
shaoziyang 发表于 2015-1-30 00:08
" q: ~* @7 [2 M! X) D当环境光强变化时,LED上的结电压会发生变化,它们存在一个对应关系(非线性),所以可以测光强。
; h3 p+ N1 u0 ]  O1 w缺点是 ...

; G& b1 k1 g/ n$ [$ X多谢,刚刚去复习了一下PN结
lkl0305 回答时间:2015-1-30 09:38:25
不错啊!
埃斯提爱慕 回答时间:2015-1-30 11:48:28
提示: 作者被禁止或删除 内容自动屏蔽
abb200628 回答时间:2015-2-2 12:55:18
不错,赞一个

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版