밝기를 조절하여 LED 마커를 식별하는 방법은 무엇입니까?


11

내 프로젝트의 경우 적외선 LED 마커를 사용하여 입체 비전 알고리즘과 여러 IR 카메라로 공간의 포인트 위치를 식별해야합니다. 또한 현재 인식 할 수있는 고유 한 ID를 갖도록 각 LED 마커가 필요합니다.

내 생각에는 각 LED가 두 가지 밝기 상태 (이것이 가능합니까?) 사이에서 인식 가능한 순서로 깜박이지만 더 낮은 밝기 상태에서 추적 할 수있을 정도로 밝아 야한다는 생각이었습니다.

이것을 구현하는 방법이나 실제로 어디서부터 시작 해야할지 모르겠습니다. 저는 프로그래머이지만 실제 회로를 사용한 적이 없었습니다. 시작하는 데 도움을 줄 수 있습니까?

led 

답변:


11

모든 LED가 동일한 소스에서 제어되는 경우 마이크로 컨트롤러 + 차등 맨체스터 인코딩 + 높은 / 낮은 LED 상태를 사용하여 다음과 같은 반복 시퀀스의 비트 열을 인코딩하는 것이 좋습니다.

id #0: 1000000000000000[10000000000000001000000000000000....]
id #1: 1000000000000001[10000000000000011000000000000001....]
id #2: 1000000000000010
id #3: 1000000000000011
id #4: 1000000000000100

ID 번호를 1, 7, 0 및 8 비트 ID #로 구성된 16 비트 비트 시퀀스로 인코딩합니다. 그런 다음 디코딩 할 때 1과 7 개의 0을 찾은 다음 후속 비트를 가져옵니다. 이것은 모든 8 비트 ID # (# 128 = 10000000조차도 1000000010000000으로 인코딩되어 반드시 올바르게 동기화 할 수는 없지만 그 수는 중요하지 않습니다)에서 작동합니다.

(잠재적 LED가 적 으면 비트 수를 줄이십시오.이 체계는 매우 간단하며 1 + (N-1) 0 + N 비트 수로 일반화됩니다)

맨체스터 인코딩은 자체 클록 기능이므로 수신기를 수신기와 동기화 할 수 있어야합니다 (주파수를 모르는 다른 마이크로 컨트롤러 인 경우에도 비트 당 여러 번 샘플링하여 잠금 상태를 유지할 수 있음).


4

다른 주파수에서 각 LED를 켜고 끌 수 있다면 555 기반 회로를 사용하여 필요한 주파수에서 각 LED를 깜박일 수 있기 때문에 상황을 단순화 할 수 있습니다.


2
송신기를 단순화하지만 수신기를 복잡하게 만듭니다
Jason S

그가 많은 부하를 추적한다면 아마도 Arduino 나 다른 마이크로 컨트롤러를 사용하지 않을 것입니다.
Amos

.. 수신기의 경우 문제가되는 프로그래밍이 아니며 회로이므로 회로가 간단할수록 좋습니다.
Amos

4

요즘 모든 사람들이 Arduinos를 시작하는 것 같습니다. 따라서 이와 같은 것이 아마도 당신이 찾고있는 것일 것입니다. 그러나 많이 사용하려는 것처럼 보입니다.이 프로젝트에서 LED의 수는 아두 이노로는 어려울 것입니다. 이것은 모두 내 머리 꼭대기에 있습니다 * 여기서 트랜지스터와 큰 저항을 병렬로 사용하여 트랜지스터가 꺼져있을 때 전류가 큰 저항을 통해 흐르고 희미한 빛을 얻을 수 있습니다. 그러나 전원을 켜면 저항이 낮아 트랜지스터에 전류가 흐르고 더 밝은 상태가됩니다. 이것이 작동한다고 가정하면 마이크로 컨트롤러와 같은 디지털 구성 요소를 사용하여 트랜지스터를 제어하고 필요한 깜박임을 얻을 수 있습니다. 첨부 된 것은 내가 의미하는 것의 개략도입니다 (값은 임의적입니다. 아마도 회로에 따라 값을 변경해야 할 것입니다).

트랜지스터 회로도

어떤 방법을 사용하든 전자 장치를 많이 사용하지 않았다는 점을 고려하면 상당히 어려울 것입니다. 행운을 빕니다!

*늦었다; 이것은 완전히 잘못되어 전혀 작동하지 않을 수 있습니다. ymmv.


1
기본적으로 OK이지만 밝은 상태의 전류를 설정하려면 LED 및 트랜지스터와 직렬로 연결된 다른 저항이 필요합니다. 그렇지 않으면 LED가 죽습니다.
starblue

예 이것이 진실입니다. 나는 그것이 암시 적이라고 생각했지만 어쨌든 그것을 언급해야했습니다.
jeremy

3

나는 penjuin의 아이디어를 변형 할 것입니다. 켜기 및 끄기 상태를 사용하여 두 수준을 생성합니다. 꺼짐 상태 (또는 낮은 상태)에서 LED를 추적하려고 시도하는 대신 꺼짐 상태를 짧게하고 켜짐 상태로만 추적하십시오.

또한 추적해야 할 LED 수와 이동 속도에 대해서는 언급하지 않았습니다.


1

예, 2 단계 "딤"및 "밝음"은 쉽습니다. 감안할 때 어떤 A는 트랜지스터와 켜거나 하드 LED 점멸 회로를, 당신은 트랜지스터에 걸쳐 하나 개의 저항을 추가 할 수 있습니다. 그런 다음 트랜지스터가 완전히 꺼지면 저항이 희미하게 빛납니다. 나는 이미 LED에 연결된 전류 제한 저항과 정확히 같은 값의 저항으로 시작할 것입니다. (모든 LED에는 전류 제한 저항이 필요합니다).

몇 개의 마커의 경우 독립 배터리와 각각의 555 타이머 가 가장 간단한 마커 하드웨어가 될 것입니다. (저항과 커패시터 몇 개 포함).

LED를 동기화 할 수있는 경우 전체 시스템이 더 간단 해집니다.주기 시작시 모든 마커를 켠 다음 모두 꺼질 때까지 한 번에 하나의 마커를 껐다가 다시 켠 다음주기를 다시 시작하십시오. 몇 시간 동안 여러 개의 LED를 깜박이는 데 필요한 에너지의 양은 일반적으로 LED 당 하나의 배터리가 아니라 하나 또는 두 개의 중앙 배터리 형태로 훨씬 적습니다. (이것은 각 LED에 비교기 IC가 필요하거나 몇 개의 시프트 레지스터 또는 일부 중앙 위치에서 이러한 시프트 레지스터를 에뮬레이트하는 Arduino가 필요합니다). (이것은 하나의 마커에서 다음 마커로, 또는 각 마커에서 일부 중심점으로 연결되는 많은 와이어가 필요하므로 응용 프로그램에서 가능하지 않을 수 있습니다.)

PC가 LED를 직접 제어 할 수 있으면 비전 인식 소프트웨어가 훨씬 간단 해집니다. 그런 다음 PC에서 LED_5를 검색 할 때 LED_5를 껐다 켜면 깜박이는 LED 하나가 LED_5 여야한다는 것을 확신 할 수 있습니다. 아마도 USB 8 비트 병렬 포트 변환기 (LED 8 개, LED 당 1 개)를 사용하여 8 개 LED 또는 16 개 LED의 4x4 매트릭스 (4 개 저항기, 열당 1 개)를 직접 제어 할 수 있습니다. (이것은 또 다른 전선, 변환기에 PC에서 USB 케이블을 필요로하지만, 그것을 필요로하지 않는 어떤 배터리 또는 트랜지스터 또는 추가 칩을 -이 작업을 진행하는 사람이 프로그래머가 아닌 전자에 대한 간단한을 할 수있다).


1

카메라의 프레임 속도가 LED의 동작 속도에 비해 충분히 높지 않으면 시력 측면에서 문제가 발생할 수 있다고 생각합니다.

LED는 카메라 프레임 속도의 합리적인 몇 배, 상태 변화 당 적어도 2 개의 프레임으로 두 프레임에서 두 가지 상태가 아닌 한 상태에서만 빛이 들어 오도록하기 위해 하이에서 로우로 순환해야합니다. 즉, LED에 의해 깜박이는 모든 데이터 비트마다 두 개의 프레임이 필요하다는 것을 의미합니다. 분명히 더 짧은 코드가 가장 좋습니다.

마커가 프레임에서 서로의 거리와 동일한 순서로 거리를 이동하는 경우 비전 시스템은 어느 플래시가 어느 마커에 속하는지를 정확하게 식별하지 못할 수 있습니다.


0

개략도

이 회로 시뮬레이션CircuitLab을 사용하여 작성된 회로도

그림 1, 2 및 3 LED 구성표

  • 듀얼 LED 는 매우 간단한 제어 기능을 제공합니다. R2는 항상 켜져있는 LED의 밝기를 설정합니다. R1은 펄스 LED의 밝기를 설정합니다.
  • 단일 LED, 이중 밝기 는 또 다른 간단한 구성표입니다. D3은 항상 R4를 통과 한 전류로 켜집니다. BUF2 스위치가 낮 으면 R3을 GND에 연결하고 D3을 통한 전류가 증가하여 LED가 밝게 빛납니다.
  • PWM 밝기 제어 는 하드웨어 관점에서 가장 간단하지만 소프트웨어는 LED 밝기를 제어해야합니다.

여기에 이미지 설명을 입력하십시오

그림 2. PWM 인코딩

펄스 폭 변조 (PWM)를 사용하면 켜짐-꺼짐 비율을 변경하여 겉보기 밝기를 변경할 수 있습니다. 그림 2는 고전력, 저전력, 고전력 시퀀스를 보여줍니다.

애플리케이션의 경우 카메라 센서가 깜박임을 보이지 않을 정도로 PWM 주파수를 높게 설정해야합니다. 높은 밝기와 낮은 밝기 사이의 데이터 변조 또는 스위칭 속도는 프레임 속도의 최대 절반이어야하고 프레임을 올바르게 식별하려면 약 10 분의 1의 프레임 속도 여야합니다.

LED에서 빔 각도를 처리해야 할 수도 있습니다. 카메라가 항상 축에 있지 않은 것처럼 들립니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.