Як визначити світлодіодні маркери, модулюючи їх яскравість?


11

Для мого проекту мені потрібно використовувати інфрачервоні світлодіодні маркери для ідентифікації розташування точок у просторі за допомогою стереовізійних алгоритмів та декількох ІЧ-камер. Мені також потрібно, щоб кожен світлодіодний маркер мав унікальний розпізнавальний ідентифікатор, що є моєю поточною проблемою.

Моя думка полягала в тому, щоб кожен світлодіодний спалах між двома станами яскравості (це можливо?) В розпізнаваній послідовності, але все-таки був достатньо яскравим, щоб відстежувати стан низької яскравості.

Я не знаю, як це втілити чи насправді з чого почати шукати. Я програміст, але раніше ніколи не працював із фактичними схемами. Чи можете ви допомогти мені почати?

led 

Відповіді:


11

якщо всі ваші світлодіоди управляються з одного і того ж джерела, подумайте про використання мікроконтролера + диференціальне кодування в Манчестері + ваші високі / низькі світлодіодні стани для кодування біткових рядків повторюваних послідовностей, таких як:

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

для кодування ідентифікаційних чисел як 16-бітовий бітовий наступ, що складається з 1, потім 7 нулів та 8-бітового ідентифікатора #. Потім при розшифровці шукайте 1, за яким 7 нулів, а потім візьміть наступні біти. Це працює для всіх 8-бітових ідентифікаторів # s (навіть # 128 = 10000000, що кодує як 1000000010000000, які неможливо синхронізувати належним чином, але для цього числа це не має значення).

(Якщо у вас менше потенційних світлодіодів, використовуйте менше біт; ця схема досить проста і узагальнює нулі 1 + (N-1) + N-бітове число)

Кодування в Манчестері є самозакриваються, тому ви повинні мати можливість синхронізувати приймач до нього (навіть якщо це інший мікроконтролер, не впевнений у частоті, проби кілька разів на біт, щоб ви могли залишатися заблокованими).


4

Якщо ви можете спалахнути і вимикати кожен світлодіод з різною частотою, це, ймовірно, значно спростить речі, оскільки ви можете використовувати схеми на основі 555 для спалаху кожного з потрібної частоти.


2
спрощує передавач, але ускладнює приймач
Jason S

Якщо він відстежує навантаження точок, він, ймовірно, не буде використовувати Arduino або будь-який інший мікроконтролер.
Амос

.. для приймача, який є, плюс це не програмування, це проблема в тому, що схеми настільки простіші, тим краще.
Амос

4

Здається, всі сьогодні починаються з Arduinos, тому щось подібне - це , мабуть, те, що ви шукаєте. Однак здається, що ви збираєтесь багато використовуватисвітлодіодів у цьому проекті, що було б складно з ардуїно. Це все від моєї голови * тут, але можливо паралельно використовувати транзистор і великий резистор, так що коли транзистор вимкнений, струм протікає через великий резистор, і ви отримуєте тьмяне світло. Якщо увімкнути його, струм протікає через транзистор через менший опір, і ви отримуєте яскравіший стан. Якщо припустити, що це працює, ви можете використовувати цифрові компоненти, такі як мікроконтролери, для управління транзисторами та досягнення необхідного миготіння. Вкладений є схемою того, що я маю на увазі (значення довільні, вам, ймовірно, доведеться змінити їх для своєї схеми):

Схема транзисторної схеми

Яким би способом ви це не зробили, це буде досить складно, враховуючи, що ви не зробили багато електроніки. Удачі!

*вже пізно; це може бути абсолютно неправильним і зовсім не працювати. ymmv.


1
В основному добре, але вам потрібен ще один резистор послідовно зі світлодіодом та транзистором, щоб встановити струм для яскравого стану, інакше ваш світлодіод згасне.
starblue

так це правда. Я подумав, що це мається на увазі, але я повинен був це згадати в будь-якому випадку.
Джеремі

3

Я б зробив варіацію ідеї пенджуїна. Я б використовував стан увімкнення і вимкнення, щоб генерувати два рівні. Замість того, щоб намагатися відстежувати світлодіод у вимкненому стані (або низькому стані), зробіть вимкнений стан коротким та просто відстежуйте у ввімкненому стані.

Ви також не згадали, скільки світлодіодів потрібно відстежувати та як швидко вони рухаються.


1

Так, дводержавний "тьмяний" і "яскравий" легко. Враховуючи будь-яку ланцюг, що блимає світлодіодним сигналом із транзистором, ви додаєте один резистор через транзистор. Тоді, коли транзистор повністю вимкнений, резистор дозволяє тьмяне світіння. Я б почав з резистора точно такого ж значення, як і поточний обмежувальний резистор, вже підключений до світлодіода. (Кожному світлодіоду потрібен резистор, що обмежує струм).

Для кількох маркерів найпростішим обладнанням для маркування буде незалежна батарея та 555 таймерів на кожному. (плюс кілька резисторів і конденсаторів).

Загальна система простіша, якщо ви можете синхронізувати світлодіоди: увімкніть усі маркери на початку циклу, потім вимкніть один маркер за один раз, поки вони не вимкнуться, а потім увімкніть їх і почніть цикл. Кількість енергії, необхідної для того, щоб купа світлодіодів блимала пару годин, зазвичай важить набагато менше у вигляді однієї або двох центральних батарей, а не одного акумулятора на світлодіод. (Для цього потрібен ІК-компаратор для кожного світлодіода, або кілька регістрів зсуву або Arduino, що емулює ці регістри зсуву в якомусь центральному місці). (Для цього потрібно багато проводів, що нанизують один маркер на інший, або від кожного маркера до якоїсь центральної точки - так, що може бути неможливим для вашої програми.)

Це робить ваше програмне забезпечення для розпізнавання зору набагато простішим, якщо ПК може керувати світлодіодами безпосередньо. Тоді, коли ПК шукає LED_5, він може вимкнутись та увімкнути LED_5 та бути впевненим, що той, що блимав, повинен бути LED_5. Можливо, використовуючи щось на зразок USB-8-бітового паралельного перетворювача портів , який (з 8 резисторами, один на світлодіод) може безпосередньо керувати 8 світлодіодами або (з 4 резисторами, один на стовпець) матрицею 4х4 з 16 світлодіодів. (Для цього потрібен ще один провід, USB-кабель від ПК до перетворювача, але він не вимагає ніяких акумуляторів, транзисторів або додаткових мікросхем - це може бути найпростішим для того, щоб хлопець-програміст не працював).


1

Я думаю, ви можете зіткнутися з проблемою з боку бачення речей, якщо частота кадрів у камери недостатньо висока відносно швидкості руху світлодіодів.

світлодіодним пристроям потрібно буде переходити від високого до низького при певній кратній частоті кадрів камери, принаймні 2 кадри на зміну стану, щоб переконатися, що деякі кадри мають світло лише з одного стану замість змішаного з двох станів, що означає, що вам потрібно два кадри для кожного біта даних, що виблискує світлодіодами, щоб визначити, який маркер це. очевидно, кращий код буде найкращим для цього.

Якщо маркери рухаються на відстань, що знаходиться в тому ж порядку, що і їх відстань один від одного в кадрі, система зору може втратити впевненість у правильному визначенні, які спалахи належать до якого маркера.


0

схематичний

імітувати цю схему - Схематично створено за допомогою CircuitLab

Рисунок 1, 2 і 3 схеми світлодіодів.

  • Подвійні світлодіоди дають дуже просте управління. R2 встановлює яскравість світлодіода, що постійно вмикається. R1 встановлює яскравість імпульсного світлодіода.
  • Одномісний світлодіод, подвійна яскравість - ще одна проста схема. D3 завжди горить струмом, що проходить через R4. Коли BUF2 перемикає низько, він підключає R3 до GND, а струм через D3 збільшується, внаслідок чого світлодіод світиться яскравіше.
  • Контроль яскравості ШІМ є найпростішим з апаратної точки зору, але програмному забезпеченню необхідно керувати яскравістю світлодіодів.

введіть тут опис зображення

Малюнок 2. Кодування ШІМ.

За допомогою імпульсно-ширинної модуляції (ШІМ) можна змінювати видиму яскравість, змінюючи коефіцієнт вимкнення. На малюнку 2 показана послідовність потужних, малопотужних, потужних.

Для вашої програми вам потрібно встановити частоту ШІМ досить високу, щоб датчик камери не побачив мерехтіння. Модуляція даних або швидкість перемикання між високою та низькою яскравістю повинна складати щонайбільше половину частоти кадрів і, швидше за все, приблизно десяту частину частоти кадрів, щоб мати змогу правильно її розпізнати.

Можливо, вам також знадобиться вирішити кут променя від світлодіодів. Це здається, ніби ваші камери не будуть постійно знаходитись на осі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.