Tư vấn: 0979.466.469 / 0938.128.290

MENU

KẾT NỐI LED MA TRẬN 8x8 VỚI ARDUINO

Nhận mua hàng nước ngoài
KẾT NỐI LED MA TRẬN 8x8 VỚI ARDUINO, led ma trận 8x8 là led gì? led ma trận 8x8 hoạt động như thế nào? Cấu tạo led ma trận 8x8

 

KẾT NỐI LED MA TRẬN 8x8 VỚI ARDUINO

   Màn hình ma trận LED có thể được sử dụng để hiển thị hầu hết các ký tự và hình vẽ. Hầu hết các bảng hiệu LED hiện đại sử dụng các loại bảng ma trận khác nhau được lập trình bằng vi điều khiển. Trong hướng dẫn này, chúng ta sẽ kết nối để giao tiếp một ma trận LED 8 × 8 màu duy nhất với Arduino và hiển thị một vài ký tự trong đó. Ma trận 8 × 8 bao gồm 64 chấm led ( có thể gọi 64 chấm điểm ảnh này là các pixel). Mỗi đèn LED là mỗi pixel và các đèn LED này được kết nối với tổng số 16 chân. Bạn có thể xác định sơ đồ chân và sơ đồ mạch của nó bằng hình dưới đây.

C1 đến C8 là các chân cột

R 1 đến R8 - là chân hàng

Ta có thể thấy ở sơ đồ bên phải các chân Anode (chân cực dương của led) trên cùng 1 hàng được nối chung với nhau, tương tự các chân Cathode (chân cực âm của led) trên cùng một cột được nối chung với nhau. Đó là các chân của led ma tran 8x8 (8 hàng x 8 cột). Nếu một điện áp dương được đặt vào chân R1 và âm cho C1, chúng ta có thể thấy pixel (hay led) đầu tiên sáng. Nếu chúng ta đặt điện áp mức thấp cho C2 thì pixel thứ hai (led thứ 2 hàng 1) sẽ bật. Với cách này này, chúng ta có thể bật sáng các pixel tuỳ ý. Để làm việc này dễ dàng hơn, chúng ta sẽ sử dụng Arduino để điều khiển các chân của ma trận led 8x8.

Sơ đồ kết nối led ma trận 8x8 với Arduino

Như bạn có thể thấy trong sơ đồ, mỗi chân cột được kết nối với chân Arduino thông qua điện trở 220Ω. Tất cả các chân hàng được kết nối với một trong các chân đầu ra của IC 74HC595N (được sử dụng như một thanh ghi dịch). Các ký tự được hiển thị bằng cách sử dụng các kỹ thuật ghép kênh. Thanh ghi dịch được kết nối với Arduino qua 3 chân dữ liệu (SER), chân chốt (RCLK) và chân xung clock (SRCLK).

Chương trình điều khiển

 int latchPin = 4; // khai báo các chân kết nối thanh ghi dịch

int clockPin = 5;

int dataPin = 3;

int pins [8] = {6, 7, 8, 9, 10, 11, 12, 13}; // các chân cathode chung

byte A[8] = {   B00000000, // mã để hiển thị ký tự tương ứng lên led ma trận

                B00011000,// các mã này bạn có thể tự viết tuỳ nhu cầu ký tự hiển thị trông như thế nào

                B00100100,

                B01000010,

                B01111110,

                B01000010,

                B01000010,

                B00000000

            };

 

byte B[8] = {     B00000000,

                  B11111100,

                  B10000010,

                  B10000010,

                  B11111100,

                  B10000010,

                  B10000010,

                  B11111110

            };

 

byte blank[8] = { B00000000,

                  B00000000,

                  B00000000,

                  B00000000,

                  B00000000,

                  B00000000,

                  B00000000,

                  B00000000

                };

byte R[8] = {  B00000000,

               B01111000,

               B01000100,

               B01000100,

               B01111000,

               B01010000,

Quảng cáo đặt hàng nhập

               B01001000,

               B01000100

            };

 

 

void setup() {

  Serial.begin(9600); // dữ liệu code đã lập trình từ máy tính nạp vào Arduino với tốc độ 9600 baud rate

  pinMode(latchPin, OUTPUT); // cấu hình các chân là ngõ ra

  pinMode(clockPin, OUTPUT);

  pinMode(dataPin, OUTPUT);

  for (int i = 0; i < 8; i++) { // vòng lặp để cấu hình các chân cathode chung

    pinMode(pins[i], OUTPUT);

    digitalWrite(pins[i], HIGH);

  }

 

}

 

void loop() {

 

 

 

  for (int k = 0; k < 1000; k++) { // hiển thị mỗi ký tự A là ký tự đã lập trình ở trên trong 1 giây

    display_char(A);

 

  }

 

  for (int k = 0; k < 1000; k++) {

    display_char(B);

 

  }

  for (int k = 0; k < 1000; k++) {

    display_char(R);

 

  }

}

void display_char(byte ch[8]) { // phương pháp ghép kênh

  for (int j = 0; j < 8; j++) {

    digitalWrite(latchPin, LOW);

    digitalWrite(pins[j], LOW);

 

    shiftOut(dataPin, clockPin, LSBFIRST, ch[j]);

    digitalWrite(latchPin, HIGH);

    //delay(1);

    digitalWrite(latchPin, LOW);

    shiftOut(dataPin, clockPin, LSBFIRST, B00000000); //tắt hết led trước khi hiển thị ký tự tiếp theo

    digitalWrite(latchPin, HIGH);

    digitalWrite(pins[j], HIGH);

  }

}

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
50000 /Cái
/ Cái

Code: M-7004-016 Còn hàng

Lưu xem sau
Sale 0%
35000 /Bộ
/ Bộ

Code: 7007-030 Còn hàng

Lưu xem sau
Sale 0%
70000 /Cái
/ Cái

Code: M-7006-056 Còn hàng

Lưu xem sau
Sale 0%
60000 /Cái
/ Cái

Code: 7006-061 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0359 366 469
Bạn cần linh kiện mẫu ? 7-11 ngày