我正在尝试使用 PWM 编写可变亮度手电筒应用程序(以后可能会使用它进行通信)。为此,我需要快速切换摄像头 LED(比如 100-200Hz),这无法通过摄像头 API 的 setParameters 功能实现(我猜摄像头本身会大大减慢速度)。
现在 – LED 能够快速切换,并且有一些应用程序在做类似的事情(例如 HTC 手电筒,不幸的是找不到它的源代码)所以这一切都归结为在没有相机的情况下控制 LED。
有什么想法或想法吗?
我正在尝试使用 PWM 编写可变亮度手电筒应用程序(以后可能会使用它进行通信)。为此,我需要快速切换摄像头 LED(比如 100-200Hz),这无法通过摄像头 API 的 setParameters 功能实现(我猜摄像头本身会大大减慢速度)。
现在 – LED 能够快速切换,并且有一些应用程序在做类似的事情(例如 HTC 手电筒,不幸的是找不到它的源代码)所以这一切都归结为在没有相机的情况下控制 LED。
有什么想法或想法吗?
我知道这是 4 年后的事了,但是你需要超过 100-200hz 的频率才能使 PWM 正常工作,而不会刺激眼睛。您可能会得到一些控制,但是如果脉冲变得明显,您将无法获得 10% 的亮度,即使如此,这些脉冲的持续时间也太长而无法欺骗眼睛。通常 PWM 在微秒级处理,大约 100khz。我希望这也是可能的。除了,如果我们可以说闪光灯中的载波频率为 100khz,那么如果可以足够快地扫描所有像素,则可以使用传感器中的专用像素计算到对象的距离,并通过解调拒绝所有环境光. 可悲的是不可能。
通常要做到这一点,处理器中有一个 PWM 外围设备可以为您处理快速切换,但这需要驱动程序支持;用户应用程序将无法访问它。这是一个使用驱动程序来做的问题:在Android中设置闪光灯的亮度