BRN 发表于 2023-11-30 22:47:33

研究了好几天,特来请教。 单片机IO+LED如何检测光线变化

看到一个产品,有一个普通红色发光LED来测检光线。

平时,好像是IO1拉高,然后IO2是输入(我猜的),拿白光靠近照LED,会检测到,然后亮红灯+其它IO输出。

而且拿手电照这个LED,估计电压还不低,需要一个4148接到VDD,防止损坏IO2.

我自已用可调电源 串万用表 反接LED,然后用手电照LED,是有电流产生。

但是,我用示波器去搭在人家产品上去量这个电压,产品功能就不正常了,我推测是这个产生的电流很小无法。一接上示波器就无法检测到

用单片机ADC去读也不行。

请问各位大神,别人是怎么做的。



cne53102 发表于 2023-11-30 23:00:03

https://www.amobbs.com/thread-3255805-1-1.html
https://www.amobbs.com/thread-5650218-1-1.html
https://www.amobbs.com/thread-860874-1-1.html

hecat 发表于 2023-11-30 23:36:44

cne53102 发表于 2023-11-30 23:00
https://www.amobbs.com/thread-3255805-1-1.html
https://www.amobbs.com/thread-5650218-1-1.html
https: ...
(引用自2楼)

记忆真好,您给直接结帖了{:titter:}

智涅 发表于 2023-12-1 00:00:06

我复制下2楼第三个贴内容:
LED常规的用法就是做指示灯了,刚才看了老外写的文章,才知道还可以当光线传感器使用。
原理大概是这样的:
1.其实LED做光线传感器跟它可不可以发光没什么联系,发光只是在它被用做光线传感器的同时的一种附带功能。
2.首先给LED反向加电,(由于LED也是一个二极管,存在结间电容)这样LED内部结电容上被充上了电压
3.一段时间后,等LED结电容被充满后,立刻停止充电,然后监测LED上的电压,LED结电容上的电压会被其内阻逐渐卸放掉,
LED内阻会随着光线的变化而不同(根据半导体的特性,光线越强,内阻越小),内阻越小,就越放得越快,用单片机的定时器监测这个时间应该很容易。这个电压的监测可以直接用单片机的IO,或者比较器吧。
4.如果要让LED身兼二职的话,就得让他工作在时分复用。
5.做开关使用时,就是监测当有手指按下与否的时候的光线变化。当然可以采用多LED的方式,这样当一LED在做传感器的时候,他旁边的LED可以做指示为它提供照明。

---------------
居然还能这么用,之前一个客户给个带触摸的化妆镜给我研究,没有触摸芯片,没有光敏,只有灯,然后有很多芯片连接灯来驱动,当时就没搞明白。

cne53102 发表于 2023-12-1 01:23:27

hecat 发表于 2023-11-30 23:36
记忆真好,您给直接结帖了
(引用自3楼)

当初就是在阿莫论坛知道这个事情的{:lol:}

redworlf007 发表于 2023-12-1 03:27:41

本帖最后由 redworlf007 于 2023-12-1 03:29 编辑

十多年前搞过,量产一致性太差,放弃了。

主要是高低温实现 高温高湿实验中,检测乱了。

lb0857 发表于 2023-12-1 05:01:58

做实验验证可以。
做产品使用过敏器件可靠

chendaon 发表于 2023-12-1 06:41:57

这个方案好多年了,好像一直没有普及,做产品还是直接光敏器件吧。
页: [1]
查看完整版本: 研究了好几天,特来请教。 单片机IO+LED如何检测光线变化