Arduino Màn hình 4 chữ số 7 đoạn TM1637
Một màn hình hiển thị 7 đoạn 4 chữ số tiêu chuẩn được sử dụng cho các dự án đồng hồ, bộ hẹn giờ và bộ đếm, nhưng nó thường yêu cầu 12 kết nối. Mô-đun TM1637 làm cho việc này dễ dàng hơn bằng cách chỉ yêu cầu 4 kết nối: 2 cho nguồn và 2 để điều khiển các đoạn.
Hướng dẫn này sẽ không làm bạn quá tải bằng cách đi sâu vào phần cứng. Thay vào đó, chúng ta sẽ học cách kết nối màn hình 7 đoạn 4 chữ số với Arduino và cách lập trình nó để hiển thị những gì chúng ta muốn.

Tutorial này sẽ sử dụng mô-đun hiển thị 7 đoạn 4 chữ số có dấu hai chấm phân cách. Nếu bạn muốn hiển thị các số thực, vui lòng sử dụng Arduino - Màn hình 7 đoạn 4 chữ số 74HC595
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | TM1637 4-digit 7-segment Display (colon-separated) | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về màn hình 7 đoạn 4 chữ số TM1637
Một mô-đun TM1637 thường gồm bốn đèn LED 7 đoạn và một đèn LED hình dấu hai chấm ở giữa: Nó lý tưởng để hiển thị thời gian theo giờ và phút, hoặc phút và giây, hoặc điểm số của hai đội.
Sơ đồ các chân
Mô-đun hiển thị 7 đoạn 4 chữ số TM1637 gồm 4 chân:
- Chân CLK: là chân đầu vào đồng hồ. Kết nối với bất kỳ chân số nào trên Arduino.
- Chân DIO: là chân dữ liệu I/O. Kết nối với bất kỳ chân số nào trên Arduino.
- Chân VCC: là chân cấp nguồn cho mô-đun. Kết nối nó với nguồn 3.3V–5V.
- Chân GND: là chân đất.

Sơ đồ đấu dây
Để kết nối TM1637 với Arduino, hãy kết nối bốn dây: hai dây cấp nguồn và hai dây điều khiển màn hình. Module có thể được cấp nguồn từ nguồn 5V của Arduino. Nối các chân CLK và DIO với bất kỳ chân số kỹ thuật số nào trên Arduino. Ví dụ, chân 2 và 3 trên Arduino. Các số chân trong mã (code) nên được thay đổi nếu sử dụng các chân khác.

This image is created using Fritzing. Click to enlarge image
Cài đặt thư viện
Để lập trình dễ dàng cho màn hình 7 đoạn 4 chữ số TM1637, chúng ta cần cài đặt thư viện TM1637Display của Avishay Orpaz. Làm theo các bước dưới đây để cài đặt thư viện:
- Đi tới biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
- Tìm kiếm “TM1637”, sau đó tìm thư viện TM1637Display của Avishay Orpaz.
- Nhấn nút Cài đặt.

Cách lập trình cho TM1637 4 chữ số 7 đoạn bằng Arduino
- Bao gồm thư viện
- Định nghĩa các chân của Arduino kết nối với CLK và DIO của mô-đun hiển thị. Ví dụ, chân D9 và D10
- Tạo một đối tượng hiển thị có kiểu TM1637Display
- Sau đó bạn có thể hiển thị số nguyên, số thập phân, số âm, hoặc chữ cái. Trong trường hợp là chữ cái, bạn cần xác định định dạng chữ cái. Hãy xem lần lượt từng cái một.
- Hiển thị số: xem các ví dụ bên dưới, '_' trong mô tả bên dưới đại diện cho một chữ số không hiển thị bất kỳ ký tự nào trong thực tế:
- Hiển thị số với dấu hai chấm hoặc dấu chấm:
Bạn có thể xem thêm chi tiết trong phần tham khảo các hàm ở cuối bài hướng dẫn này.
Mã Arduino
Hướng dẫn từng bước
- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên cho Arduino
- Xem các trạng thái của màn hình 7 đoạn
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.
Tham khảo hàm
Dưới đây là các tham khảo cho các chức năng sau:
- display.xoa()
- display.hienThiSoThapPhan()
- display.hienThiSoThapPhanMoRong()
- display.thietLapCacDoan()
- display.thietLapDoSang()
display.clear()
Mô tả
Chức năng này xóa hiển thị. Nó tắt tất cả các đèn LED.
display.showNumberDec()
Mô tả
Hàm được sử dụng để hiển thị một số thập phân trên màn hình 7 đoạn.
Cú pháp
Tham số
- num: Đây là số cần hiển thị trên màn hình 7 đoạn. Nó nên nằm trong phạm vi từ -9999 đến 9999.
- leading_zero: Đây là một tham số tùy chọn với giá trị mặc định là false. Nếu được đặt thành true, các chữ số 0 ở đầu sẽ được hiển thị.
- length: Đây là một tham số tùy chọn với giá trị mặc định là 4. Nó thiết lập số chữ số được hiển thị trên màn hình 7 đoạn.
- pos: Đây là một tham số tùy chọn với giá trị mặc định là 0. Nó thiết lập vị trí của chữ số có giá trị lớn nhất của số.
Xin lưu ý rằng, nếu số nằm ngoài phạm vi hoặc nếu giá trị của độ dài lớn hơn 4, hàm sẽ không hiển thị gì.
showNumberDecEx()
Mô tả
Chức năng này được sử dụng để hiển thị một số thập phân trên màn hình 7 đoạn với các tính năng bổ sung so với hàm showNumberDec(). Đây là phiên bản nâng cao của showNumberDec() cho phép bạn điều khiển các điểm (dot) hoặc dấu hai chấm (colon) của từng chữ số một cách riêng biệt.
Cú pháp
Tham số
- num1: Đây là số sẽ được hiển thị trên màn hình 7-segment. Nó nên nằm trong phạm vi từ -9999 đến 9999.
- dots: Tham số này được dùng để chỉ định các đoạn của màn hình nên được bật thành dấu chấm. Mỗi bit của giá trị tương ứng với một chữ số trên màn hình: Giá trị hợp lệ
- 0b10000000: hiển thị dấu chấm đầu tiên: 0.000
- 0b01000000: hiển thị dấu chấm thứ hai: 00.00
- 0b00100000: hiển thị dấu chấm thứ ba: 000.0
- 0b01000000: Đối với màn hình chỉ có hai chấm: 00:00
- leading_zero: Đây là một tham số tùy chọn có giá trị mặc định là false. Nếu được đặt thành true, các số 0 ở đầu sẽ được hiển thị.
- length: Đây là một tham số tùy chọn có giá trị mặc định là 4. Nó xác định số chữ số sẽ được hiển thị trên màn hình 7-segment.
- pos: Đây là một tham số tùy chọn có giá trị mặc định là 0. Nó xác lập vị trí của chữ số có giá trị lớn nhất trong số.
Ví dụ, nếu bạn gọi display.showNumberDecEx(1530,0b01000000); nó sẽ hiển thị số 15:30 trên màn hình 7-segment.
Xin lưu ý rằng nếu số nằm ngoài phạm vi hoặc nếu giá trị của độ dài lớn hơn 4, hàm sẽ không hiển thị bất cứ điều gì.
Thiết lập các phân đoạn()
Mô tả
Chức năng này được dùng để thiết lập trực tiếp các đoạn trên màn hình 7 đoạn. Nó có thể được dùng để hiển thị chữ cái, ký tự đặc biệt, hoặc bật tất cả các đoạn LED.
Cú pháp
Thông số
- segments: Tham số này thiết lập các đoạn của màn hình hiển thị 7 đoạn, nó là một mảng các byte, trong đó mỗi byte đại diện cho các đoạn của mỗi chữ số. Mỗi đoạn được đại diện bởi một bit trong byte.
- length: Đây là một tham số tùy chọn có giá trị mặc định là 4. Nó xác định số chữ số được hiển thị trên màn hình 7 đoạn.
- pos: Đây là một tham số tùy chọn có giá trị mặc định là 0. Nó xác định vị trí của chữ số có giá trị lớn nhất của số.
Hàm này hữu ích khi bạn muốn hiển thị các ký tự hoặc ký hiệu không có trong màn hình 7 đoạn cơ bản. Bằng cách thiết lập các đoạn trực tiếp, bạn có thể hiển thị bất kỳ mẫu nào bạn muốn.
Xin lưu ý rằng nếu số nằm ngoài phạm vi hoặc nếu độ dài lớn hơn 4, hàm sẽ không hiển thị gì.
thiết lập độ sáng()
Mô tả
Chức năng được sử dụng để thiết lập độ sáng của màn hình 7 đoạn.
Cú pháp
Tham số
- brightness: Tham số này thiết lập mức sáng của màn hình 7 đoạn. Giá trị nên nằm trong phạm vi từ 0 đến 7. Giá trị cao hơn sẽ làm màn hình sáng hơn.
- on: Đây là một tham số tùy chọn với giá trị mặc định là true. Nó được dùng để bật hoặc tắt màn hình. Nếu nó được đặt thành false, màn hình sẽ bị tắt.