对于我的一个项目,我需要使用红外 LED 标记通过立体视觉算法和多个红外摄像机来识别空间点的位置。我还需要每个 LED 标记具有唯一可识别的 ID,这是我目前的问题。
我的想法是让每个 LED 以可识别的顺序在两种亮度状态之间闪烁(这可能吗?),但仍然足够亮以在较低亮度状态下进行跟踪。
我不知道如何实现这一点或真正从哪里开始寻找。我是一名程序员,但以前从未使用过实际电路。你能帮我开始吗?
对于我的一个项目,我需要使用红外 LED 标记通过立体视觉算法和多个红外摄像机来识别空间点的位置。我还需要每个 LED 标记具有唯一可识别的 ID,这是我目前的问题。
我的想法是让每个 LED 以可识别的顺序在两种亮度状态之间闪烁(这可能吗?),但仍然足够亮以在较低亮度状态下进行跟踪。
我不知道如何实现这一点或真正从哪里开始寻找。我是一名程序员,但以前从未使用过实际电路。你能帮我开始吗?
如果您的所有 LED 都由同一源控制,请考虑使用微控制器 +差分曼彻斯特编码+ 您的高/低 LED 状态来编码重复序列的位串,例如:
id #0: 1000000000000000[10000000000000001000000000000000....]
id #1: 1000000000000001[10000000000000011000000000000001....]
id #2: 1000000000000010
id #3: 1000000000000011
id #4: 1000000000000100
将 ID 号编码为 16 位位序列,由 1、7 个零和 8 位 ID# 组成。然后在解码时,寻找一个 1 后跟 7 个零,然后取后续的位。这适用于所有 8 位 ID#s(即使 #128 = 10000000 编码为 1000000010000000 不一定能正确同步,但对于那个数字没关系)。
(如果您有更少的潜在 LED,请使用更少的位;此方案非常简单,可以概括为 1 + (N-1) 个零 + N 位数)
曼彻斯特编码是自时钟的,因此您应该能够将接收器与其同步(即使它是另一个不确定频率的微控制器,每个位采样几次,这样您就可以保持锁定)。
如果您可以以不同的频率打开和关闭每个 LED,这可能会简化很多事情,因为您可以使用基于 555 的电路以所需的频率闪烁每个 LED。
这些天来,每个人似乎都从 Arduinos 开始,所以像这样的东西可能就是你正在寻找的东西。但是,您似乎打算大量使用这个项目中的 LED 数量对于 arduino 来说是很困难的。这一切都在我的脑海中*在这里,但可以使用一个晶体管和一个大电阻并联,这样当晶体管关闭时,电流流过大电阻,你会得到一个昏暗的灯光。但是,当您打开它时,由于电阻较低,电流会流过晶体管,您会得到更亮的状态。假设这可行,您可以使用微控制器等数字组件来控制晶体管并实现所需的闪烁。附件是我的意思的示意图(这些值是任意的,您可能必须为您的电路更改它们):
无论您采用哪种方式,考虑到您没有做过太多电子产品,这将是相当困难的。祝你好运!
*现在已经晚了; 这可能是完全错误的,根本不起作用。ymmv。
我会做一个penjuin想法的变体。我会使用开和关状态来生成两个级别。与其试图跟踪处于关闭状态(或低电平状态)的 LED,不如使关闭状态变短并仅在开启状态下进行跟踪。
您也没有提到您需要跟踪多少个 LED 以及它们移动的速度。