TA的每日心情 | 奋斗 2019-12-1 10:07 |
---|
签到天数: 1617 天 连续签到: 1 天 [LV.Master]伴坛终老
|
LED除了可以发光,其实也可以测试光强,因为LED也是二极管。当环境光强变化时,LED上的结电压会发生变化,因此可以通过这个方法测量光强。虽然这种方法精度不是太高,但在有些情况下还是有用的,可以在不增加任何硬件成本的基础上利用一个LED完成显示和测光两个功能。
ST Nucleo F072RB上只有一个用户LED,它接在PA_5,它也是ADC_IN5。利用F072带有的12位ADC,可以很灵敏的测出光强变化。下面程序就演示这个方法,程序很简单,但是效果还不错。
#include "mbed.h"Serial pc(USBTX,USBRX);int main() { while(1) { DigitalOut myled(LED1); myled = 1; wait(0.490); myled = 0; AnalogIn Light(LED1); wait(0.010); pc.printf("%d\r\n", Light.read_u16()>>4); }}
测试效果
|
|