Mục lục:

Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển.: 6 bước (có hình ảnh)
Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển.: 6 bước (có hình ảnh)

Video: Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển.: 6 bước (có hình ảnh)

Video: Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển.: 6 bước (có hình ảnh)
Video: Tự học lập trình Arduino Tập 14 | Lập trình Arduino điều khiển 8 led sáng dần tắt dần 2024, Tháng bảy
Anonim
Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển
Cách điều khiển nhiều đèn LED từ một vài chân vi điều khiển

Sử dụng thực tế là nhiều chân vi điều khiển có ba trạng thái (+ V, GND hoặc "trở kháng cao", bạn có thể điều khiển đèn LED N * (N-1) từ chân N. Vì vậy, vi điều khiển 8 chân nhỏ như PIC12Fxxx hoặc ATtiny11 có thể điều khiển 20 đèn LED có năm chân đầu ra khả dụng và vẫn còn một chân cho một số loại đầu vào. Xem thêm

Bước 1: 20 đèn LED trên 5 chân

20 đèn LED trên 5 chân
20 đèn LED trên 5 chân

Sự cắt giảm hiện tại của các bộ vi điều khiển có số lượng chân thấp (bật 6 chân đến 20 chân

toàn bộ gói) có giá hấp dẫn và 'dễ thương', nhưng câu hỏi đặt ra là làm thế nào bạn có thể sử dụng tốt nhất các chân đó cho các ứng dụng phổ biến như đèn LED lái xe. Phương pháp kết nối trực tiếp để điều khiển đèn LED sử dụng một chân cho mỗi đèn LED. Một sơ đồ ghép kênh truyền thống trong đó các hàng cực dương LED được điều khiển bởi một bộ N chân và cực âm chung của mỗi hàng được điều khiển bởi một bộ chân M khác sẽ quản lý ánh sáng N * M LED với N + M chân. Tuy nhiên, trên một bộ xử lý chỉ có 5 đầu ra hoặc ít hơn (như trường hợp của hầu hết các bộ vi điều khiển 8 chân), điều này hầu như không giúp bạn có nhiều đầu ra hơn so với ổ trực tiếp.

Bước 2: Charlieplexing

Charlieplexing
Charlieplexing

Giả sử các chân đầu ra thực sự có khả năng ba trạng thái (hoạt động cao, hoạt động thấp và trở kháng cao (đầu vào)) thì cũng có thể điều khiển trình điều khiển hàng và cột và điều khiển đèn LED N * (N-1) chỉ với N. chân. Một chân được kết nối với cực âm chung của một hàng đèn LED và bộ phát sáng, và N-1 chân còn lại được kết nối với cực dương và được đặt ở mức cao để thắp sáng cột đó hoặc để làm đầu vào để tắt đèn LED. Maxim gọi kỹ thuật này là "Charlieplexing", và mô tả nó trong (1); Microchip cũng đề cập đến vấn đề này trong tài liệu của họ (2) (và cả các ứng dụng trên bo mạch PICKit 1.) (1) "Charlieplexing - Reduce Pin-Count LED Display Multiplexing" https://www.maxim-ic.com/appnotes. cfm / appnote_number / 1880 (2) "Mẹo 'n Thủ thuật Vi điều khiển FLASH PIC 8 chân" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Đèn LED phản xạ điện tử- Lý thuyết An Giảng dạy bởi rgbphil

Bước 3: Đưa nó vào hoạt động

Đưa nó vào hoạt động
Đưa nó vào hoạt động
Đưa nó vào hoạt động
Đưa nó vào hoạt động

Điều này thúc đẩy 20 đèn LED từ ATtiny11. Một phiên bản trước đó của bảng này là

thực sự được xây dựng và xuất hiện dưới dạng ảnh trang chính. Tôi e rằng bức tranh của giản đồ là khá vô vọng; bạn cần Eagle cho bạn biết tín hiệu nào được kết nối ở đâu.

Bước 4: Nhỏ hơn và linh hoạt hơn…

Nhỏ hơn và linh hoạt hơn…
Nhỏ hơn và linh hoạt hơn…

Vì hầu hết bảng được sử dụng bởi dãy đèn LED, chúng tôi có thể tạo khoảng trống

cho chip Attiny HOẶC chip PIC12F vi mạch. Thu nhỏ đèn LED xuống 3mm và đi đến bảng hai mặt, và chúng tôi nhận được một cái gì đó khoảng 27x44mm Than ôi, bảng này vẫn chưa được kiểm tra…

Bước 5: Itty Bitty

Itty Bitty
Itty Bitty

Tất nhiên, vi mạch có chip PIC10F 6 chân, có khả năng điều khiển

chỉ có 6 đèn LED từ 3 chân đầu ra. Nó có đường kính khoảng 16mm. Đi đến 603 đèn LED cho phép bạn nhỏ hơn một chút, nhưng tôi không chắc điểm chính là gì.

Bước 6: Phần mềm

Phần mềm hơi lộn xộn vì lý do phục vụ:

1) đối với PCB được hiển thị, các đèn LED được bố trí theo cách thuận tiện cho việc bố trí PCB, thay vì theo thứ tự bit "đúng". IMO, đây là cách để thực hiện mọi việc, nhưng điều đó có nghĩa là Hàng 1 không hoàn toàn có nghĩa là bit 1 hoặc coluimn 3 không có nghĩa là bit 3. Điều này yêu cầu mức ánh xạ giữa địa chỉ hàng / cột thông thường và bit cần thiết lập. 2) Vì các bit giống nhau được sử dụng cho cực dương và cực âm, kết nối (hàng) chung cho một số bit có thể ở giữa các bit được điều khiển (cột). Điều đó có nghĩa là bạn phải dịch chuyển các bit cột tùy thuộc vào việc chúng ở trước hay sau bit hàng cho tập hợp cột đó. 3) Bạn phải lấy các từ đầu ra cho cả ioport và thanh ghi hướng cổng. Mã ASM đính kèm cho ATtiny11 là một "bằng chứng về khái niệm." Rõ ràng là nó chưa được tối ưu hóa và nhận xét kém, nhưng đó là tất cả những gì tôi đã viết cho đến nay.

Đề xuất: