Pour un de mes projets, j'ai besoin d'utiliser des marqueurs LED infrarouges pour identifier les emplacements des points dans l'espace avec des algorithmes de stéréovision et plusieurs caméras IR. J'ai également besoin que chaque marqueur LED ait un identifiant unique reconnaissable, ce qui est mon problème actuel.
Ma pensée était d'avoir chaque flash LED entre deux états de luminosité (est-ce possible?) Dans une séquence reconnaissable mais toujours assez lumineux pour suivre dans l'état de luminosité plus faible.
Je ne sais pas comment implémenter cela ou vraiment où commencer à chercher. Je suis programmeur mais je n'ai jamais travaillé avec des circuits réels auparavant. Pouvez-vous m'aider à démarrer?
Tout le monde semble commencer avec Arduinos ces jours-ci, donc quelque chose comme ça est probablement ce que vous recherchez. Cependant, il semble que vous ayez l'intention d'utiliser beaucoupde LED dans ce projet qui serait difficile avec un arduino. Tout cela vient du haut de ma tête * ici, mais il peut être possible d'utiliser un transistor et une grande résistance en parallèle de sorte que lorsque le transistor est bloqué, le courant passe à travers la grande résistance et vous obtenez une lumière tamisée. Lorsque vous l'allumez cependant, le courant traverse le transistor en raison de la résistance inférieure et vous obtenez un état plus lumineux. En supposant que cela fonctionne, vous pouvez utiliser des composants numériques comme des microcontrôleurs pour contrôler les transistors et obtenir le clignotement dont vous avez besoin. Ci-joint un schéma de ce que je veux dire (les valeurs sont arbitraires, vous devrez probablement les changer pour votre circuit):
Quelle que soit la façon dont vous le faites, cela va être assez difficile étant donné que vous n'avez pas fait beaucoup d'électronique. Bonne chance!
*c'est tard; cela pourrait être complètement faux et ne pas fonctionner du tout. ymmv.
la source
Je ferais une variation de l'idée de penjuin. J'utiliserais un état activé et désactivé pour générer les deux niveaux. Plutôt que d'essayer de suivre la LED à l'état éteint (ou à l'état bas), faites que l'état éteint soit court et suivez simplement l'état allumé.
Vous n'avez pas non plus mentionné combien de LED vous devez suivre et à quelle vitesse elles se déplacent.
la source
Oui, "faible" et "brillant" à deux états est facile. Étant donné tout circuit qui clignote une LED durement avec un transistor, vous ajoutez une résistance à travers ce transistor. Ensuite, lorsque le transistor est complètement bloqué, la résistance permet une faible lueur. Je commencerais par une résistance exactement de la même valeur que la résistance de limitation de courant déjà connectée à la LED. (Chaque LED a besoin d'une résistance de limitation de courant).
Pour quelques marqueurs, une batterie indépendante et une minuterie 555 à chacun seront le matériel de marqueur le plus simple. (plus quelques résistances et condensateurs).
Le système global est plus simple si vous pouvez synchroniser les LED: allumez tous les marqueurs au début du cycle, puis éteignez un marqueur à la fois jusqu'à ce qu'ils soient tous éteints, puis rallumez-les tous et recommencez le cycle. La quantité d'énergie nécessaire pour garder un groupe de LED clignotant pendant quelques heures pèse généralement beaucoup moins sous la forme d'une ou deux batteries centrales plutôt que d'une batterie par LED. (Cela nécessite un comparateur IC à chaque LED, ou quelques registres à décalage ou un Arduino émulant ces registres à décalage à un emplacement central). (Cela nécessite beaucoup de fils de chaîne d'un marqueur au suivant, ou de chaque marqueur à un point central - ce qui peut ne pas être possible pour votre application.)
Cela rend votre logiciel de reconnaissance visuelle beaucoup plus simple si le PC peut contrôler directement les LED. Ensuite, lorsque le PC recherche LED_5, il peut éteindre et allumer LED_5 et être sûr que la seule LED qui a clignoté doit être LED_5. Peut-être en utilisant quelque chose comme un convertisseur de port parallèle USB vers 8 bits , qui (avec 8 résistances, une par LED) peut contrôler directement 8 LED ou (avec 4 résistances, une par colonne) une matrice 4x4 de 16 LED. (Cela nécessite encore un autre fil, un câble USB du PC au convertisseur, mais cela ne nécessite pas de piles ou de transistors ou de puces supplémentaires - cela peut être le plus simple pour un programmeur non-électronique de se mettre au travail).
la source
Je pense que vous risquez de rencontrer des problèmes du côté de la vision si la fréquence d'images de la caméra n'est pas suffisamment élevée par rapport à la vitesse de mouvement des LED.
les LED vont devoir passer de haut en bas à un multiple raisonnable de la fréquence d'images de la caméra, au moins 2 images par changement d'état pour s'assurer que certaines images ont la lumière d'un seul état au lieu d'être mélangées de deux états, ce qui signifie que vous avez besoin de deux images pour chaque bit de données flashées par les LED pour identifier de quel marqueur il s'agit. de toute évidence, un code plus court sera préférable pour cela.
Si les marqueurs se déplacent sur une distance supérieure à celle qui est dans le même ordre que leur distance les uns des autres dans le cadre, alors le système de vision peut perdre confiance en identifiant correctement quels flashs appartiennent à quel marqueur.
la source
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Schémas des DEL des figures 1, 2 et 3.
Figure 2. Encodage PWM.
En utilisant la modulation de largeur d'impulsion (PWM), vous pouvez faire varier la luminosité apparente en faisant varier le rapport marche / arrêt. La figure 2 montre une séquence haute puissance, faible puissance et haute puissance.
Pour votre application, vous devrez régler la fréquence PWM suffisamment haut pour que le capteur de la caméra ne voit aucun scintillement. La modulation des données ou le taux de commutation entre une luminosité élevée et faible devrait être au plus la moitié de la fréquence d'images et plus probablement environ un dixième de la fréquence d'images pour pouvoir les discerner correctement.
Vous devrez peut-être également régler l'angle du faisceau des LED. Il semble que vos caméras ne soient pas toujours sur l'axe.
la source