Làm thế nào để xác định các điểm đánh dấu LED bằng cách điều chỉnh độ sáng của chúng?


11

Đối với một dự án của tôi, tôi cần sử dụng các đèn LED hồng ngoại để xác định vị trí của các điểm trong không gian bằng thuật toán lập thể và nhiều camera hồng ngoại. Tôi cũng cần mỗi điểm đánh dấu LED để có một ID nhận dạng duy nhất, đây là vấn đề hiện tại của tôi.

Tôi nghĩ rằng để mỗi đèn flash LED giữa hai trạng thái độ sáng (điều này có thể xảy ra không?) Theo trình tự dễ nhận biết nhưng vẫn đủ sáng để theo dõi ở trạng thái độ sáng thấp hơn.

Tôi không biết làm thế nào để thực hiện điều này hoặc thực sự bắt đầu tìm kiếm ở đâu. Tôi là một lập trình viên nhưng chưa bao giờ làm việc với các mạch thực tế trước đây. Bạn có thể giúp tôi bắt đầu?

led 

Câu trả lời:


11

nếu tất cả các đèn LED của bạn đang được điều khiển từ cùng một nguồn, hãy xem xét sử dụng vi điều khiển + mã hóa vi sai Manchester + trạng thái đèn LED cao / thấp của bạn để mã hóa các bit của các chuỗi lặp lại như:

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

để mã hóa số ID dưới dạng bit 16 bit bao gồm 1, sau đó 7 số 0 và ID # 8 bit. Sau đó, khi giải mã, hãy tìm số 1 theo sau là 7 số 0, sau đó lấy các bit tiếp theo. Điều này hoạt động với tất cả các ID 8 bit (thậm chí # 128 = 10000000 được mã hóa thành 1000000010000000, không nhất thiết phải được đồng bộ hóa đúng nhưng đối với số đó thì không thành vấn đề).

(Nếu bạn có ít đèn LED tiềm năng hơn, hãy sử dụng ít bit hơn; sơ đồ này khá đơn giản và khái quát thành số 0 + (N-1) + số N-bit)

Mã hóa Manchester là đồng hồ tự động để bạn có thể đồng bộ hóa máy thu với nó (ngay cả khi đó là một vi điều khiển khác không chắc chắn về tần số, lấy mẫu nhiều lần trên mỗi bit để bạn có thể bị khóa).


4

Nếu bạn có thể bật và tắt từng đèn LED ở một tần số khác nhau, điều này có thể sẽ đơn giản hóa mọi thứ rất nhiều vì bạn có thể sử dụng các mạch dựa trên 555 để nháy từng đèn ở tần số yêu cầu.


2
đơn giản hóa máy phát, nhưng làm phức tạp máy thu
Jason S

Nếu anh ta theo dõi vô số điểm, có lẽ anh ta sẽ không sử dụng Arduino hoặc bất kỳ vi điều khiển nào khác.
A-mốt

.. đối với người nhận, cộng với đó không phải là chương trình, đó là vấn đề, đó là mạch nên càng đơn giản thì càng tốt.
A-mốt

4

Mọi người dường như bắt đầu với Arduinos những ngày này, vì vậy một cái gì đó như thế này có lẽ là thứ bạn đang tìm kiếm. Tuy nhiên có vẻ như bạn đang có ý định sử dụng nhiềuđèn LED trong dự án này sẽ khó khăn với một arduino. Đây là tất cả trên đỉnh đầu của tôi * ở đây, nhưng có thể sử dụng một bóng bán dẫn và một điện trở lớn song song để khi bóng bán dẫn tắt, dòng điện chạy qua điện trở lớn và bạn nhận được ánh sáng mờ. Khi bạn bật nó lên, dòng điện chạy qua bóng bán dẫn do điện trở thấp hơn và bạn có trạng thái sáng hơn. Giả sử điều này hoạt động, bạn có thể sử dụng các thành phần kỹ thuật số như vi điều khiển để điều khiển các bóng bán dẫn và đạt được nhấp nháy mà bạn yêu cầu. Đính kèm là một sơ đồ của những gì tôi muốn nói (các giá trị là tùy ý, bạn có thể sẽ phải thay đổi chúng cho mạch của bạn):

Sơ đồ mạch bán dẫn

Dù bạn làm theo cách nào đi chăng nữa, sẽ khá khó khăn vì bạn chưa làm nhiều thiết bị điện tử. Chúc may mắn!

* muộn rồi; Điều này có thể hoàn toàn sai và không hoạt động. ymmv.


1
Về cơ bản OK, nhưng bạn cần một điện trở khác nối tiếp với đèn LED và bóng bán dẫn để đặt dòng điện cho trạng thái sáng, nếu không đèn LED của bạn sẽ chết.
starblue

đúng vậy đây là sự thật. Tôi đoán nó đã được ngụ ý nhưng dù sao tôi cũng nên đề cập đến nó.
jeremy

3

Tôi sẽ làm một biến thể của ý tưởng penjuin. Tôi sẽ sử dụng trạng thái bật và tắt để tạo hai cấp độ. Thay vì cố gắng theo dõi đèn LED ở trạng thái tắt (hoặc trạng thái thấp), hãy tắt trạng thái tắt và chỉ theo dõi ở trạng thái bật.

Bạn cũng không đề cập đến việc bạn cần theo dõi bao nhiêu đèn LED và tốc độ di chuyển của chúng.


1

Có, hai trạng thái "mờ" và "sáng" là dễ dàng. Với bất kỳ mạch nào bật và tắt đèn LED cứng với bóng bán dẫn, bạn thêm một điện trở trên bóng bán dẫn đó. Sau đó khi bóng bán dẫn tắt hoàn toàn, điện trở cho phép phát sáng mờ. Tôi sẽ bắt đầu với một điện trở có giá trị chính xác giống như điện trở giới hạn hiện tại đã được kết nối với đèn LED. (Mỗi đèn LED cần một điện trở giới hạn dòng điện).

Đối với một vài điểm đánh dấu, pin độc lập và bộ đếm thời gian 555 ở mỗi sẽ là phần cứng đánh dấu đơn giản nhất. (cộng với một vài điện trở và tụ điện).

Hệ thống tổng thể đơn giản hơn nếu bạn có thể đồng bộ hóa các đèn LED: bật tất cả các điểm đánh dấu khi bắt đầu chu kỳ, sau đó tắt một điểm đánh dấu cho đến khi tất cả tắt, sau đó bật lại và bắt đầu lại chu kỳ. Lượng năng lượng cần thiết để giữ cho một loạt đèn LED nhấp nháy trong vài giờ thường nặng ít hơn nhiều ở dạng một hoặc hai pin trung tâm thay vì một pin cho mỗi đèn LED. (Điều này đòi hỏi một IC so sánh ở mỗi đèn LED, hoặc một vài thanh ghi thay đổi hoặc Arduino mô phỏng các thanh ghi dịch chuyển đó tại một số vị trí trung tâm). (Điều này đòi hỏi rất nhiều dây nối từ điểm đánh dấu này sang điểm tiếp theo hoặc từ mỗi điểm đánh dấu đến một điểm trung tâm nào đó - vì vậy điều đó có thể không khả dụng cho ứng dụng của bạn.)

Nó làm cho phần mềm nhận dạng tầm nhìn của bạn đơn giản hơn nhiều nếu PC có thể điều khiển đèn LED trực tiếp. Sau đó, khi PC đang tìm kiếm LED_5, nó có thể tắt và bật LED_5 và tự tin rằng một đèn LED nhấp nháy phải là LED_5. Có lẽ sử dụng một cái gì đó như bộ chuyển đổi cổng song song USB sang 8 bit , (với 8 điện trở, một đèn LED) có thể điều khiển trực tiếp 8 đèn LED hoặc (với 4 điện trở, một cột trên một cột) ma trận 4 x 4 đèn LED. (Điều này đòi hỏi một dây khác, cáp USB từ PC đến bộ chuyển đổi, nhưng nó không yêu cầu bất kỳ pin hoặc bóng bán dẫn hoặc chip bổ sung nào - đây có thể là cách đơn giản nhất để một anh chàng không lập trình điện tử làm việc).


1

Tôi nghĩ rằng bạn có thể gặp rắc rối về mặt tầm nhìn của mọi thứ nếu tốc độ khung hình của máy ảnh không đủ cao so với tốc độ chuyển động của đèn LED.

đèn LED sẽ cần phải xoay vòng từ cao xuống thấp ở một số bội số hợp lý của tốc độ khung hình của máy ảnh, ít nhất 2 khung hình cho mỗi thay đổi trạng thái để đảm bảo rằng một số khung hình chỉ có ánh sáng từ một trạng thái thay vì trộn lẫn từ hai trạng thái, điều đó có nghĩa là bạn cần hai khung cho mỗi bit dữ liệu được flash ra để xác định đó là điểm đánh dấu nào. rõ ràng một mã ngắn hơn sẽ là tốt nhất cho điều đó.

Nếu các điểm đánh dấu đang di chuyển một khoảng cách so với khoảng cách tương tự với khoảng cách của chúng trong khung, thì hệ thống thị giác có thể mất niềm tin vào việc xác định chính xác đèn flash thuộc về điểm đánh dấu nào.


0

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Hình 1, 2 và 3 sơ đồ LED.

  • Đèn LED kép cho điều khiển rất đơn giản. R2 đặt độ sáng của đèn LED luôn sáng. R1 đặt độ sáng của đèn LED xung.
  • Đèn LED đơn, độ sáng kép là một sơ đồ đơn giản khác. D3 luôn sáng với dòng điện chạy qua R4. Khi BUF2 chuyển sang mức thấp, nó kết nối R3 với GND và dòng điện qua D3 tăng lên làm cho đèn LED phát sáng hơn.
  • Điều khiển độ sáng PWM là đơn giản nhất theo quan điểm phần cứng nhưng phần mềm cần kiểm soát độ sáng LED.

nhập mô tả hình ảnh ở đây

Hình 2. Mã hóa PWM.

Sử dụng điều chế độ rộng xung (PWM), bạn có thể thay đổi độ sáng biểu kiến ​​bằng cách thay đổi tỷ lệ bật tắt. Hình 2 cho thấy một chuỗi công suất cao, công suất thấp, công suất cao.

Đối với ứng dụng của bạn, bạn sẽ cần đặt tần số PWM đủ cao để cảm biến camera không nhìn thấy bất kỳ nhấp nháy nào. Điều chế dữ liệu hoặc tốc độ chuyển đổi giữa độ sáng cao và thấp sẽ phải bằng một nửa tốc độ khung hình và nhiều khả năng khoảng một phần mười tốc độ khung hình để có thể nhận ra nó đúng.

Bạn cũng có thể cần phải giải quyết góc chùm từ đèn LED. Có vẻ như máy ảnh của bạn sẽ không ở trên trục mọi lúc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.