2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trong hướng dẫn trước, tôi đã tạo chỉ báo chiết áp bằng cách sử dụng đèn LED neo pixel vòng RGB. bạn có thể xem nó trong bài viết này "Chỉ báo Potentio sử dụng RGB Neopixel"
Và hôm nay tôi sẽ hiển thị chỉ báo chiết áp bằng cách sử dụng màn hình số liệu LED MAX7219.
Hãy làm theo các bước dưới đây để thực hiện.
Bước 1: Các thành phần bắt buộc
Các thành phần bắt buộc:
- Arduino nano
- Chiết áp
- Màn hình ma trận Led Max7219
- Dây nhảy
- Bảng dự án
- USB mini
- máy tính xách tay
Thư viện bắt buộc
LedControl
Bước 2: Lược đồ
Để lắp ráp các thành phần, hãy xem bản vẽ sơ đồ ở trên, bạn cũng có thể xem thông tin bên dưới:
Arduino sang Led & potentio
+ 5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / Tải
Bước 3: Lập trình
Sử dụng mã bên dưới để thực hiện:
#include "LedControl.h"
/*
Bây giờ chúng ta cần một LedControl để làm việc. ***** Những số pin này có thể sẽ không hoạt động với phần cứng của bạn ***** pin 6 được kết nối với DataIn chân 7 được kết nối với CLK chân 8 được kết nối với TẢI Chúng tôi chỉ có một MAX72XX duy nhất. * /
LedControl lc = LedControl (6, 7, 8, 1);
thời gian trễ dài không dấu = 100;
void setup () {
lc.shutdown (0, sai); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analogRead (A0); val = map (val, 0, 1023, 0, 8);
nếu (val == 1)
{
lc.setRow (0, 0, B10000000);
}
nếu (val == 2)
{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } if (val == 3) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } nếu (val == 4) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } nếu (val == 5) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); } if (val == 6) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); } if (val == 7) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); } if (val == 8) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); lc.setRow (0, 7, B10000000); } lc.clearDisplay (0); }
Bước 4: Kết quả
Sau khi được lập trình, kết quả sẽ như thế này.
Nếu xoay potentio sang phải, các đèn LED trực tiếp sẽ ngày càng tăng theo số lượt.
Nếu xoay nồi sang trái, đèn LED trực tiếp sẽ ngày càng ít theo hiệu lực quay.