Đèn giao thông thu nhỏ với Raspberry Pi: Đi dây nhiều đèn LED


8

Lý lịch:

Tôi là một Kỹ sư xây dựng chuyên về các thiết bị điều khiển giao thông và tôi có một dự án sở thích nhỏ để xây dựng một hệ thống đèn giao thông mô hình quy mô. Tôi có thể tự mình quản lý và điều khiển lập trình mẫu đèn giao thông bằng Raspberry Pi (cộng với điều này cho tôi khả năng thực hiện điều khiển động và được lập trình, và giao diện với lược đồ điều khiển giao thông nghiêm trọng và có thể là dữ liệu giao thông thực). Tôi chỉ cần giúp đỡ với việc đấu dây nhiều đèn LED ở phía phần cứng :)

Tôi đã làm theo hướng dẫn này http://www.raspberrypi-spy.co.uk/2012/06/control-led-USE-gpio-output-pin/ tốt (bao gồm sử dụng nguồn điện bên ngoài thay vì Pin 2), nhưng Tôi có thể sẽ gặp phải vấn đề về quá ít kết nối GPIO cho tất cả các đèn giao thông.

Tiếp theo, tôi đã thử ghép kênh với Ma trận LED http://www.appelsiini.net/2011/how-does-led-matrix-work . Công việc ghép kênh, tuy nhiên, đèn thường mờ hơn, tôi nghi ngờ điều này sẽ mở rộng tốt và điều này có xu hướng phóng đại độ phức tạp điều khiển.

Câu hỏi cốt lõi:

Không nhận được một số thẻ mở rộng trên Raspberry Pi, có bất kỳ thủ thuật nào khác tôi có thể sử dụng để điều khiển nhiều đèn LED với tín hiệu 0/1 ít hơn không?

Một điều về đèn giao thông là chúng thường có ba khối, chỉ một trong số đó là hoạt động tại một thời điểm. Có một số mạch tương đối đơn giản ngoài đó có thể cho phép tôi 'chuyển đổi' một khối đèn LED bằng một tín hiệu 0/1 không?


1
b = trần (ln (N) / ln (2)) trong đó N là số lượng đèn LED cần điều khiển và b là số bit cần thiết để thực hiện điều khiển. Do đó, một đơn vị đèn giao thông, trong đó chỉ có 1 trong 3 đèn LED hoạt động tại một thời điểm, sẽ cần 2 bit I / O để điều khiển. Với 8 bit I / O, bạn có thể điều khiển 32 đơn vị đèn giao thông: 2 bit cho dữ liệu (bật 1 trong 3 đèn), 5 bit cho địa chỉ (mà 1 trong 32 hoặc 2 ^ 5 đơn vị bạn đang đề cập), và 1 bit để chốt. Tôi hy vọng ai đó có thể mở rộng điều này để trả lời đầy đủ.
shimofuri

Câu trả lời dưới đây là một câu hỏi hay và những gì tôi sẽ đề xuất nhưng vì một cái gì đó đơn giản không thể tìm thấy một mạch tham khảo tốt. Bạn cũng có thể sử dụng một vi điều khiển 8 chân nhỏ $ 1 và cuộn bus nối tiếp của riêng mình cho các thiết bị gần như không giới hạn mặc dù đó là một chút trong chính dự án nếu bạn chưa sử dụng chúng trước đó.
PeterJ

Tìm kiếm "[ghép kênh] [đã dẫn]" sẽ tìm thấy câu hỏi với cả hai thẻ đó. Bạn có thể tìm thấy một số thông tin hữu ích ở đó.
Phil Frost

OP có thể tận hưởng đèn giao thông này từ Velleman
Chetan Bhargava

Câu trả lời:


11

Bạn có quen thuộc với các thanh ghi thay đổi như 74HC595? Nó đòi hỏi 3 chân từ RPI của bạn và bạn có thể kiểm soát 8 dòng đầu ra. Bạn có thể dễ dàng xếp tầng chúng kiểm soát hiệu quả các dòng đầu ra n × 8.

Dữ liệu được truyền xung nhịp vào thanh ghi thay đổi và một khi tất cả 8 bit đầu ra được truyền, bạn sẽ chốt các bit trên đầu ra.

Tôi đã định thêm biểu dữ liệu ở đây, nhưng https://www.sparkfun.com/products/733 cũng hiển thị một video hay và có một liên kết đến biểu dữ liệu.


4

Đăng ký thay đổi như jippie đề nghị làm việc tốt. Nhưng, ghép kênh cũng có thể được thực hiện để hoạt động cho nhiều đèn LED hơn bạn mong đợi. Giải pháp cho độ sáng giảm là tăng dòng cực đại để dòng trung bình giữ nguyên. Bạn có thể làm điều này bằng cách tăng điện áp hoặc giảm điện trở giới hạn dòng điện.

Lý do hiện tại làm hỏng quá nhiều đèn LED là do đường giao nhau quá nóng. Nếu có thời gian để hạ nhiệt giữa các xung, các xung có thể mạnh hơn. Bảng dữ liệu cho đèn LED của bạn phải chỉ định cả dòng trung bình tối đa và dòng cực đại tối đa không được vượt quá. Nếu bạn không quá quan tâm đến độ tin cậy cao (dự án sở thích, không phải tàu không gian) và bạn không ngại hút một vài đèn LED hoặc uốn cong quy tắc một chút, bạn luôn có thể tự kiểm tra giới hạn.

Ngoài ra, hãy tìm đến charlieplexing để biết cách ghép nhiều đèn LED hơn từ số lượng chân nhỏ hơn. Giới hạn trên cho số lượng đèn LED có thể được kết nối với phương pháp này thường là độ sáng có thể đạt được với dòng điện có sẵn từ các chân GPIO, không phải số lượng chân.

Đọc thêm: Việc đập một đèn LED ở cường độ dòng điện cao hơn có độ sáng biểu kiến ​​lớn hơn không?


1
Tôi có xu hướng né tránh việc đẩy các dòng điện cực đại quá cao trong trường hợp không có sự tuần hoàn có thể ngăn một hàng bị bỏ lại quá lâu. Bất kỳ ổ đĩa dựa trên phần mềm nào hầu như được đảm bảo thỉnh thoảng bị lỗi và một mạch được thiết kế tốt sẽ không bị hư hại do sự cố đó.
supercat

-1

Sử dụng USB hoặc Ethernet để điều khiển đèn thông qua bảng chuyển tiếp chốt như thế này

http://www.robot-electronics.co.uk/acatalog/Relay_Modules.html

Tôi đã sử dụng các bảng này cho các ứng dụng khác và chúng rất tuyệt vời


2
Chúng tôi hy vọng câu trả lời ở đây phần lớn sẽ tự đứng vững. Liên kết bị thối theo thời gian và không nên dựa vào thông tin chính. Nêu câu trả lời của bạn trong một hoặc hai đoạn và sử dụng các liên kết để tham khảo thêm thông tin cơ bản.
Olin Lathrop

Đủ công bằng! Bảng trong câu hỏi tôi đề cập đến từ Robot Electronics là trình điều khiển rơle điều khiển USB hoặc Ethernet. Nó đi kèm với một lệnh đơn giản được thiết lập để đặt từng trong số 8 hoặc 16 rơle trên bảng bật hoặc tắt. Những rơle này có thể dễ dàng được sử dụng để chuyển đổi đèn LED của đèn giao thông của bạn và cho phép điều khiển qua cổng USB hoặc Ethernet của Raspberry PI
Gareth

@Gareth Vì vậy, đặt thông tin này trong câu trả lời không ở đây.
Butzke
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.