利用ST Nucleo开发板上的LED测光强

作者: shaoziyang
上传时间为: 2015-01-30 02:58 PM

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);

  }
}

测试效果

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示