Para un proyecto mío, necesito usar marcadores LED infrarrojos para identificar ubicaciones de puntos en el espacio con algoritmos de estereovisión y múltiples cámaras IR. También necesito que cada marcador LED tenga una identificación única reconocible, que es mi problema actual.
Mi idea era que cada LED parpadeara entre dos estados de brillo (¿es esto posible?) En una secuencia reconocible, pero que aún sea lo suficientemente brillante como para seguir en el estado de brillo más bajo.
No sé cómo implementar esto o realmente dónde comenzar a buscar. Soy programador pero nunca antes había trabajado con circuitos reales. ¿Me pueden ayudar a comenzar?
Todo el mundo parece estar comenzando con Arduinos en estos días, así que algo como esto es probablemente lo que estás buscando. Sin embargo, parece que tiene la intención de usar muchode LED en este proyecto que sería difícil con un arduino. Aquí todo está en la parte superior de mi cabeza *, pero puede ser posible usar un transistor y una resistencia grande en paralelo para que cuando el transistor esté apagado, la corriente fluya a través de la resistencia grande y obtenga una luz tenue. Sin embargo, cuando lo enciende, la corriente fluye a través del transistor debido a la menor resistencia y obtiene el estado más brillante. Suponiendo que esto funcione, puede usar componentes digitales como microcontroladores para controlar los transistores y lograr el parpadeo que necesita. Se adjunta un esquema de lo que quiero decir (los valores son arbitrarios, probablemente tendrá que cambiarlos para su circuito):
De cualquier forma que lo hagas, será bastante difícil teniendo en cuenta que no has hecho mucha electrónica. ¡Buena suerte!
*es tarde; Esto podría estar completamente mal y no funcionar en absoluto. ymmv.
fuente
Haría una variación de la idea de penjuin. Usaría un estado de encendido y apagado para generar los dos niveles. En lugar de intentar rastrear el LED en el estado apagado (o estado bajo), haga que el estado apagado sea corto y solo realice un seguimiento en el estado encendido.
Tampoco mencionó cuántos LED necesita rastrear y qué tan rápido se mueven.
fuente
Sí, dos estados "tenue" y "brillante" es fácil. Dado cualquier circuito que parpadea con un LED encendido y apagado con un transistor, agrega una resistencia a través de ese transistor. Luego, cuando el transistor está completamente apagado, la resistencia permite un brillo tenue. Comenzaría con una resistencia de exactamente el mismo valor que la resistencia limitadora de corriente ya conectada al LED. (Cada LED necesita una resistencia limitadora de corriente).
Para algunos marcadores, una batería independiente y un temporizador 555 en cada uno será el hardware de marcadores más simple. (además de algunas resistencias y condensadores).
El sistema en general es más simple si puede sincronizar los LED: encienda todos los marcadores al comienzo del ciclo, luego apague un marcador a la vez hasta que estén todos apagados, luego vuelva a encenderlos y comience el ciclo nuevamente. La cantidad de energía necesaria para mantener un grupo de LED parpadeando durante un par de horas generalmente pesa mucho menos en forma de una o dos baterías centrales en lugar de una batería por LED. (Esto requiere un IC de comparación en cada LED, o algunos registros de desplazamiento o un Arduino que emule esos registros de desplazamiento en alguna ubicación central). (Esto requiere una gran cantidad de cables que se unen de un marcador al siguiente, o de cada marcador a algún punto central, por lo que puede que no sea posible para su aplicación)
Hace que su software de reconocimiento de visión sea mucho más simple si la PC puede controlar los LED directamente. Luego, cuando la PC está buscando LED_5, puede apagar y encender LED_5 y estar seguro de que el LED que parpadeó debe ser LED_5. Quizás usando algo como un convertidor de puerto paralelo USB a 8 bits , que (con 8 resistencias, una por LED) puede controlar directamente 8 LED o (con 4 resistencias, una por columna) una matriz 4x4 de 16 LED. (Esto requiere otro alambre, un cable USB desde el PC al convertidor, pero que no requiere ningún baterías o transistores o chips adicionales - esto puede ser la más sencilla para un programador no-electrónica chico para conseguir trabajo).
fuente
Creo que puede tener problemas en el lado de la visión si la velocidad de fotogramas de la cámara no es lo suficientemente alta en relación con la velocidad de movimiento de los LED.
los LED necesitarán un ciclo de mayor a menor a un múltiplo razonable de la velocidad de fotogramas de la cámara, al menos 2 fotogramas por cambio de estado para asegurarse de que algunos fotogramas tengan luz de un solo estado en lugar de mezclarse de dos estados, lo que significa que necesita dos cuadros por cada bit de datos que muestran los LED para identificar de qué marcador se trata. obviamente, un código más corto será lo mejor para eso.
Si los marcadores se mueven una distancia que está en el mismo orden que la distancia entre ellos en el marco, entonces el sistema de visión puede perder la confianza para identificar correctamente qué destellos pertenecen a qué marcador.
fuente
simular este circuito : esquema creado con CircuitLab
Figura 1, 2 y 3 esquemas LED.
Figura 2. Codificación PWM.
Usando la modulación de ancho de pulso (PWM) puede variar el brillo aparente variando la relación de encendido / apagado. La Figura 2 muestra una secuencia de alta potencia, baja potencia y alta potencia.
Para su aplicación, deberá configurar la frecuencia PWM lo suficientemente alta como para que el sensor de la cámara no vea ningún parpadeo. La modulación de datos o la velocidad de cambio entre brillo alto y bajo tendría que ser como máximo la mitad de la velocidad de fotogramas y más probablemente una décima parte de la velocidad de fotogramas para poder discernirlo correctamente.
También es posible que deba abordar el ángulo del haz desde los LED. Parece que sus cámaras no estarán en el eje todo el tiempo.
fuente