Mô-đun hiển thị nhiều LED: 6 bước (có hình ảnh)
Mô-đun hiển thị nhiều LED: 6 bước (có hình ảnh)
Anonim
Image
Image
Nhiều mô-đun hiển thị LED
Nhiều mô-đun hiển thị LED
Nhiều mô-đun hiển thị LED
Nhiều mô-đun hiển thị LED

Chào mọi người, Tôi thích làm việc với màn hình LED có 7 phân đoạn hoặc với ma trận điểm và tôi đã thực hiện nhiều dự án khác nhau với chúng.

Lúc nào chúng cũng thú vị bởi vì có một loại phép thuật nào đó trong cách chúng có thể hoạt động bởi vì những gì bạn đang thấy đó là ảo ảnh quang học!

Màn hình có rất nhiều chân để kết nối với Arduino (hoặc vi điều khiển khác) và giải pháp tốt nhất là áp dụng kỹ thuật ghép kênh dữ liệu để giảm thiểu việc sử dụng các cổng của chúng.

Khi bạn làm điều này, mỗi phân đoạn hoặc mỗi đèn LED sẽ được bật trong một vài trường hợp (mili giây hoặc ít hơn), nhưng sự lặp lại của điều đó trong rất nhiều lần mỗi giây sẽ tạo ra sự bao gồm của hình ảnh mà bạn muốn hiển thị.

Đối với tôi, điều thú vị nhất là phát triển logic, chương trình để tìm ra cách họ có thể hiển thị thông tin chính xác theo dự án của bạn.

Trong một dự án duy nhất sử dụng màn hình đòi hỏi nhiều thời gian để lắp ráp tất cả các thành phần trên một bảng mạch với nhiều dây để kết nối.

Tôi biết có nhiều màn hình khác nhau trên thị trường đang chạy với I2C, với các cách đơn giản (hoặc không), để lập trình chúng và tôi cũng đã sử dụng chúng nhưng tôi thích làm việc với các thành phần tiêu chuẩn như 74HC595 (IC ghép kênh) và ULN2803 (trình điều khiển) vì chúng cung cấp cho bạn nhiều quyền kiểm soát hơn trong chương trình của mình, đồng thời mạnh mẽ và đáng tin cậy hơn trong việc sử dụng của bạn.

Để đơn giản hóa quá trình lắp ráp, tôi đã phát triển Mô-đun LED Dipslay cho nhiều mục đích bằng cách sử dụng các thành phần đơn giản và phổ biến trong thế giới của Arduino.

Với mô-đun này, bạn có thể làm việc với ma trận điểm với đèn LED màu kép ở hai kích thước tiêu chuẩn (lớn hơn và nhỏ hơn) và bạn cũng có thể điều khiển màn hình 7 Seg x 4 Digits rất phổ biến và dễ tìm thấy trên thị trường.

Và bạn cũng có thể làm việc với các mô-đun này theo tầng theo cách nối tiếp (dữ liệu khác nhau vào màn hình) hoặc theo cách paralell (dữ liệu giống nhau vào màn hình).

Vì vậy, hãy xem mô-đun này có thể hoạt động và giúp bạn như thế nào trong quá trình phát triển của mình!

Video (Mô-đun hiển thị LED)

Video (Kiểm tra ma trận điểm)

Trân trọng, LAGSILVA

Bước 1: Các thành phần

Các thành phần
Các thành phần
Các thành phần
Các thành phần
Các thành phần
Các thành phần
Các thành phần
Các thành phần

PCB (Bảng mạch in)

- 74HC595 (03 x)

- ULN2803 (02 x)

- Bóng bán dẫn PNP - BC327 (08 x)

- Điện trở 150 Ohms (16 x)

- Điện trở 470 Ohms (08 x)

- Tụ điện 100 nF (03 x)

- IC Socket 16 chân (03 x)

- IC Socket 18 chân (02 x)

- Đầu nối chân cái - 6 chân (8 x)

- Đầu ghim 90º (01 x)

- Đầu ghim 180º (01 x)

- Conector Borne KRE 02 chân (02 x)

- PCB (01 x) - Đã sản xuất

Khác

- Arduino Uno R3 / Nano / tương tự

- Màn hình LED 04 chữ số x 7 đoạn - (Cực dương chung)

- LED Dot Matrix Màu kép (Xanh & Đỏ) - (Cực dương chung)

Nhận xét quan trọng:

  1. Tôi đặt biểu dữ liệu của tất cả các thành phần quan trọng nhất chỉ làm tài liệu tham khảo nhưng bạn phải kiểm tra biểu dữ liệu của các thành phần của riêng bạn trước khi sử dụng chúng.
  2. Bảng này được thiết kế để chỉ sử dụng các màn hình ANODE THÔNG DỤNG.

Bước 2: Nguyên mẫu đầu tiên

Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên
Nguyên mẫu đầu tiên

Nguyên mẫu đầu tiên của tôi được thực hiện trên breadboard để kiểm tra mạch.

Sau đó, tôi đã thực hiện một nguyên mẫu khác bằng cách sử dụng một bảng phổ thông như bạn có thể thấy trong hình.

Loại bảng này rất thú vị khi tạo ra một nguyên mẫu nhanh chóng nhưng bạn nhận ra rằng vẫn còn giữ rất nhiều dây.

Nó là một giải pháp chức năng nhưng không quá thanh lịch so với một PCB được sản xuất cuối cùng (màu xanh lam).

Tôi không giỏi về hàn vì tôi không có đủ kinh nghiệm với quy trình này nhưng ngay cả điều này tôi cũng đã có được kết quả tốt với cả hai kinh nghiệm và quan trọng hơn: tôi không làm cháy bất kỳ thành phần nào và cả tay của tôi!

Có lẽ kết quả trên bảng tiếp theo của tôi sẽ tốt hơn do luyện tập.

Do đó, tôi khuyến khích bạn thử trải nghiệm kiểu này vì nó sẽ rất tuyệt vời cho bạn.

Chỉ cần lưu ý cẩn thận với bàn ủi nóng và cố gắng không dành quá vài giây cho một bộ phận để tránh bị bỏng !!

Và cuối cùng, trên Youtube, bạn có thể tìm thấy nhiều video về hàn mà bạn có thể học trước khi đi vào thế giới thực.

Bước 3: Thiết kế PCB

Thiết kế PCB
Thiết kế PCB
Thiết kế PCB
Thiết kế PCB
Thiết kế PCB
Thiết kế PCB
Thiết kế PCB
Thiết kế PCB

Tôi thiết kế PCB này bằng một phần mềm chuyên dụng để tạo ra một bảng hai lớp và nó đã được phát triển một số phiên bản khác nhau trước phiên bản cuối cùng này.

Lúc đầu, tôi có một phiên bản cho mỗi loại màn hình và sau cùng, tôi quyết định kết hợp mọi thứ chỉ trong một phiên bản.

Mục tiêu thiết kế:

  • Đơn giản và hữu ích cho nguyên mẫu.
  • Dễ dàng thiết lập và có thể mở rộng.
  • Có thể sử dụng 3 loại màn hình khác nhau.
  • Chiều rộng tối đa của ma trận điểm lớn của đèn LED.
  • Chiều dài tối đa 100 mm để giảm thiểu chi phí sản xuất bảng.
  • Áp dụng các thành phần truyền thống thay vì SMD để tránh nhiều khó khăn hơn trong quá trình hàn thủ công.
  • Bảng phải được kết nối theo mô-đun để được kết nối với các bảng khác theo tầng.
  • Đầu ra nối tiếp hoặc paralell cho các bo mạch khác.
  • Một số bảng chỉ được điều khiển bởi Arduino.
  • Chỉ có 3 dây dữ liệu cho kết nối của Arduino.
  • Kết nối nguồn 5V bên ngoài.
  • Tăng cường độ điện áp dụng các bóng bán dẫn và trình điều khiển (ULN2803) để điều khiển LEDS.

Nhận xét:

Liên quan đến mục cuối cùng này, tôi khuyên bạn nên đọc Tài liệu hướng dẫn khác của tôi về các thành phần này:

Sử dụng Shift Register 74HC595 với ULN2803, UDN2981 và BC327

Sản xuất PCB:

Sau khi hoàn thành thiết kế, tôi đã gửi nó đến một nhà sản xuất PCB tại Trung Quốc sau nhiều lần tìm kiếm với các nhà cung cấp địa phương khác nhau và ở các quốc gia khác nhau.

Vấn đề chính liên quan đến số lượng bảng so với chi phí vì tôi chỉ cần một vài trong số chúng.

Cuối cùng tôi quyết định đặt một đơn hàng thông thường (không phải đơn hàng nhanh do chi phí cao hơn) chỉ 10 tấm với một công ty ở Trung Quốc.

Chỉ sau 3 ngày, các tấm ván đã được sản xuất và gửi cho tôi đi khắp thế giới trong 4 ngày nữa.

Kết quả thật tuyệt vời !!

Trong một tuần sau khi đặt hàng, các bảng đã nằm trong tay tôi và tôi thực sự ấn tượng với chất lượng cao của chúng và tốc độ nhanh chóng!

Bước 4: Lập trình

Lập trình
Lập trình
Lập trình
Lập trình

Để lập trình, bạn phải ghi nhớ một số khái niệm quan trọng về thiết kế phần cứng và về thanh ghi dịch chuyển 74HC595.

Chức năng chính của 74HC595 là biến đổi 8-Bit Serial-In thành 8 Parallel-Out Shift.

Tất cả dữ liệu nối tiếp đi vào Chân # 14 và tại mỗi tín hiệu xung nhịp, các bit đi đến các chân ra song song tương ứng của nó (Qa đến Qh).

Nếu bạn liên tục gửi nhiều dữ liệu hơn, các bit sẽ được di chuyển từng bit một đến Chân số 9 (Qh ') dưới dạng đầu ra nối tiếp một lần nữa và do chức năng này, bạn có thể đặt một chip khác được kết nối theo tầng.

Quan trọng:

Trong dự án này, chúng tôi có ba IC của 74HC595. Hai công việc đầu tiên kiểm soát các cột (với logic TÍCH CỰC) và công việc cuối cùng để điều khiển các dòng (với logic TIÊU CỰC do các bóng bán dẫn PNP hoạt động).

Logic tích cực có nghĩa là bạn phải gửi tín hiệu mức CAO (+ 5V) từ Arduino và logic âm có nghĩa là bạn phải gửi tín hiệu mức THẤP (0V).

Ma trận điểm của đèn LED

  1. Đầu tiên là cho đầu ra của các cực âm của đèn LED Đỏ (8 x) >> CỘT ĐỎ (1 đến 8).
  2. Thứ hai là cho đầu raL của các cực âm của đèn LED Xanh lục (8 x) >> CỘT XANH LÁ (1 đến 8).
  3. Cái cuối cùng dành cho đầu ra của các cực dương của tất cả các đèn LED (08 x Đỏ & Xanh lục) >> LINES (1 đến 8).

Ví dụ: nếu bạn chỉ muốn bật đèn LED Xanh lục của cột 1 và dòng 1, bạn phải gửi chuỗi dữ liệu nối tiếp sau:

1º) DÒNG

~ 10000000 (chỉ dòng đầu tiên được đặt thành bật) - Ký hiệu ~ là đảo ngược tất cả các bit từ 1 đến 0 và ngược lại.

2º) Màu xanh lá cây COLUMN

10000000 (chỉ cột đầu tiên của đèn LED Xanh lục được đặt thành bật)

3º) ĐỎ CỘT

00000000 (tất cả các cột của đèn LED Đỏ đều tắt)

Câu lệnh Arduino:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Logic phủ định cho các dòng

shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Logic dương tính cho các cột Màu xanh lá cây

shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Logic dương tính cho các cột Màu đỏ

Nhận xét:

Bạn cũng có thể kết hợp cả hai đèn LED (Xanh lục & Đỏ) để tạo ra màu VÀNG như sau:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

shiftOut (dataPin, clockPin, LSBFIRST, B10000000);

7 phân đoạn hiển thị

Đối với những loại màn hình này, trình tự giống nhau. Sự khác biệt duy nhất là bạn không cần sử dụng đèn LED xanh.

1º) DIGIT (1 đến 4 từ trái sang phải) ~ 10000000 (đặt chữ số # 1)

~ 01000000 (đặt chữ số # 2)

~ 00100000 (đặt chữ số # 3)

~ 00010000 (đặt chữ số # 4)

2º) KHÔNG ĐƯỢC SỬ DỤNG

00000000 (tất cả các bit được đặt thành 0)

3º) SEGMENTS (A đến F và DP - kiểm tra biểu dữ liệu hiển thị của bạn)

10000000 (đặt phân đoạn A)

01000000 (đặt phân đoạn B)

00100000 (đặt phân đoạn C)

00010000 (đặt phân đoạn D)

00001000 (đặt phân đoạn E)

00000100 (đặt phân đoạn F)

00000010 (đặt phân đoạn G)

00000001 (đặt DP)

Ví dụ Arduino để đặt Hiển thị số 2 với số 3:

shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Đặt DISPLAY 2 (Logic phủ định)

shiftOut (dataPin, clockPin, LSBFIRST, 0); // Đặt dữ liệu thành 0 (không được sử dụng)

shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Đặt các phân đoạn A, B, C, D, G)

Cuối cùng, áp dụng quy trình này, bạn có thể kiểm soát bất kỳ đèn LED nào trên màn hình của mình và bạn cũng có thể tạo bất kỳ ký tự đặc biệt nào bạn cần.

Bước 5: Kiểm tra

Thử nghiệm
Thử nghiệm
Thử nghiệm
Thử nghiệm
Thử nghiệm
Thử nghiệm

Đây là hai chương trình làm ví dụ về chức năng của Mô-đun hiển thị.

1) Màn hình đếm ngược (từ 999,9 giây đến 0)

2) Ma trận chấm (Chữ số 0 đến 9 & Bảng chữ cái A đến Z)

3) Đồng hồ kỹ thuật số RTC trong màn hình LED gồm 4 chữ số và 7 đoạn

Cái cuối cùng này là bản cập nhật cho phiên bản Đồng hồ kỹ thuật số đầu tiên của tôi.

Bước 6: Kết luận & Các bước tiếp theo

Kết luận và các bước tiếp theo
Kết luận và các bước tiếp theo
Kết luận và các bước tiếp theo
Kết luận và các bước tiếp theo

Mô-đun này sẽ hữu ích trong tất cả các dự án tương lai yêu cầu một số màn hình LED.

Trong các bước tiếp theo, tôi sẽ lắp ráp thêm một số bo mạch để làm việc với chúng ở chế độ xếp tầng và tôi sẽ phát triển thư viện để đơn giản hóa việc lập trình hơn nữa.

Tôi hy vọng bạn đã thích dự án này.

Vui lòng gửi cho tôi ý kiến của bạn vì điều này rất quan trọng để cải thiện dự án và thông tin của Tài liệu hướng dẫn này.

Trân trọng, LAGSILVA

26 tháng 5 năm 2016