Mục lục:

Điều khiển Ma trận Led bằng Arduino: 5 bước
Điều khiển Ma trận Led bằng Arduino: 5 bước

Video: Điều khiển Ma trận Led bằng Arduino: 5 bước

Video: Điều khiển Ma trận Led bằng Arduino: 5 bước
Video: Tự học Arduino bài 4: Điều khiển LED Matrix 2024, Tháng mười một
Anonim
Điều khiển Ma trận Led bằng Arduino
Điều khiển Ma trận Led bằng Arduino
Điều khiển Ma trận Led bằng Arduino
Điều khiển Ma trận Led bằng Arduino

Chào bạn.

Trong bài viết này tôi sẽ hướng dẫn các bạn cách sử dụng Led Matrix bằng Arduino.

Led Matrix là tập hợp các đèn LED ở dạng mảng. Ma trận Led có nhiều loại cột và hàng, tùy thuộc vào loại. Bằng cách trình bày một số đèn LED với một sự kết hợp nhất định, ma trận Led có thể hiển thị một số ký tự, chữ cái, biểu tượng và các tên khác Tên khác của Ma trận Led là Ma trận điểm.

Nguyên lý hoạt động của Led Matrix cũng giống như "Màn hình 7 đoạn" mà tôi đã tạo ra ngày hôm qua. Sự khác biệt giữa hai người chỉ là hình thức bên ngoài.

Bước 1: Thông số kỹ thuật của Ma trận Led

Thông số kỹ thuật của Ma trận Led
Thông số kỹ thuật của Ma trận Led

Dưới đây là thông số kỹ thuật của Ma trận Led:

  • Số lượng đèn LED: 64
  • Số dòng: 8
  • Số cột: 8
  • Điện áp hoạt động: 4.7V - 5V DC
  • Hoạt động hiện tại: 320mA
  • Dòng hoạt động tối đa: 2A

Bước 2: Các thành phần bắt buộc

Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc

Các thành phần bắt buộc:

  • Led Matrik
  • Arduino Nano
  • Dây nhảy
  • USBmini
  • Bảng dự án

Thư viện yêu cầu:

LedControl

Để thêm thư viện vào Arduino IDE, bạn có thể xem trong bài viết "Thêm thư viện vào Arduino"

Bước 3: Kết nối Ma trận Led với Arduino IDE

Kết nối Ma trận Led với Arduino IDE
Kết nối Ma trận Led với Arduino IDE

Xem mô tả bên dưới hoặc xem hình trên:

Ma trận dẫn đến Arduino

VCC ==> + 5V

GND ==> GND

DIN ==> D6

CS ==> D7

CLK ==> D8

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

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

Đây là một bản phác thảo ví dụ có thể được sử dụng để thử ma trận dẫn:

// Chúng ta luôn phải bao gồm thư viện # include "LedControl.h"

/*

Bây giờ chúng ta cần một LedControl để làm việc. ***** Các 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 8 được kết nối với CLK chân 7 đượ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, 8, 7, 1);

/ * chúng tôi luôn đợi một chút giữa các lần cập nhật màn hình * /

thời gian trễ dài không dấu = 100;

void setup () {

/ * MAX72XX đang ở chế độ tiết kiệm năng lượng khi khởi động, chúng tôi phải thực hiện một cuộc gọi đánh thức * / lc.shutdown (0, false); / * Đặt độ sáng thành giá trị trung bình * / lc.setIntensity (0, 8); / * và xóa màn hình * / lc.clearDisplay (0); }

/*

Phương thức này sẽ lần lượt hiển thị các ký tự của từ "Arduino" trên ma trận. (bạn cần ít nhất 5x7 led để xem toàn bộ ký tự) * / void writeArduinoOnMatrix () {/ * đây là dữ liệu cho các ký tự * / byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; byte r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; byte d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; byte u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; byte i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; byte n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; byte o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * bây giờ hiển thị từng cái một với độ trễ nhỏ * /

lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); sự chậm trễ (delaytime); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); sự chậm trễ (delaytime); }

/*

Chức năng này làm sáng một số Led liên tiếp. Mẫu sẽ được lặp lại trên mỗi hàng. Mẫu sẽ nhấp nháy cùng với số hàng. hàng số 4 (chỉ số == 3) sẽ nhấp nháy 4 lần, v.v. * / void rows () {for (int row = 0; row <8; row ++) {delay (thời gian trễ); lc.setRow (0, hàng, B10100000); sự chậm trễ (delaytime); lc.setRow (0, hàng, (byte) 0); for (int i = 0; i

/*

Chức năng này làm sáng một số Led trong một cột. Mẫu sẽ được lặp lại trên mỗi cột. Mẫu sẽ nhấp nháy cùng với số cột. cột số 4 (chỉ số == 3) sẽ nhấp nháy 4 lần, v.v. * / void column () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); sự chậm trễ (delaytime); lc.setColumn (0, col, (byte) 0); for (int i = 0; i

/*

Chức năng này sẽ làm sáng mọi Led trên ma trận. Đèn led sẽ nhấp nháy cùng với số hàng. hàng số 4 (chỉ số == 3) sẽ nhấp nháy 4 lần, v.v. * / void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { sự chậm trễ (delaytime); lc.setLed (0, row, col, true); sự chậm trễ (delaytime); for (int i = 0; i

void loop () {

writeArduinoOnMatrix (); hàng (); cột(); Độc thân(); }

Tôi cũng trình bày nó dưới dạng tệp:

Bước 5: Thưởng thức nó

Thưởng thức nó
Thưởng thức nó

Đó là bài hướng dẫn về ma trận led.

Cảm ơn bạn đã đọc bài viết này. hẹn gặp lại các bạn trong bài viết tiếp theo.

Đề xuất: