LẬP TRÌNH LED MA TRÂN 8X8 2 MÀU

Trong hướng dẫn Arduino này, chúng ta sẽ tò mò cách tinh chỉnh Ma trận LED 8 × 8 bằng trình tinh chỉnh và điều khiển MAX7219 với board Arduino. Bạn cũng có thể xem video clip sau hoặc phát âm hướng dẫn dưới đây để hiểu biết thêm chi tiết.

Bạn đang xem: Lập trình led ma trân 8x8 2 màu

Tổng quan

Chúng tôi sẽ chuyển ra cha ví dụ, với ví dụ như đầu tiên, chúng tôi sẽ lý giải nguyên tắc thao tác cơ bạn dạng của MAX7219, trong ví dụ sản phẩm hai, shop chúng tôi sẽ tạo nên văn bản cuộn trên Ma trận LED 8 × 8 chuyển động như thay nào và trong ví dụ đồ vật ba, công ty chúng tôi sẽ điều khiển chúng trải qua Bluetooth cùng một ứng dụng android xây dựng tùy chỉnh.

MAX7219

Bây giờ hãy chu đáo kỹ rộng về trình điều khiển MAX7219. IC có khả năng điều khiển 64 đèn led chiếu sáng riêng lẻ trong lúc chỉ thực hiện 3 dây để liên kết với Arduino và hơn nữa bạn cũng có thể tạo chuỗi những trình tinh chỉnh và điều khiển và ma trận nhưng mà vẫn thực hiện chỉ 3 dây.

*

Trình tinh chỉnh và điều khiển ma trận LED MAX7219 8×8

64 đèn led được điều khiển và tinh chỉnh bởi 16 chân cổng output của IC. Câu hỏi hiện thời là làm gắng nào rất có thể nối chúng. Vâng, con số tối nhiều của đèn led chiếu sáng sáng lên cùng một lúc là tám. Những đèn LED được bố trí thành 8 × 8 tất cả hàng cùng cột. Vày vậy, MAX7219 kích hoạt mỗi cột vào một khoảng thời hạn rất ngắn và đồng thời nó cũng điều khiển từng hàng. Vì vậy, bằng phương pháp nhanh chóng chuyển sang các cột cùng hàng, mắt tín đồ sẽ chỉ phân biệt một tia nắng liên tục.

*

Lưu ý những chân của Ma trận LED 8 × 8 thông dụng được thu xếp bên trong, vị vậy nếu bạn tự tạo một ma trận, các bạn nên mày mò nó. Cũng lưu ý rằng một bảng ngắt phổ biến cho MAX7219 đi kèm theo với một năng lượng điện trở thân 5V và chân IC 18. Điện trở được thực hiện để thiết đặt độ sáng hoặc loại điện mang lại đèn LED.

*

MAX7219 Điện trở điều chỉnh dòng điện

Bảng dưới đấy là dữ liệu của IC cho biết giá trị của điện trở mà họ nên sử dụng theo mức giảm điện áp chuyến qua của đèn LED.

 

*

MAX7219 Phân đoạn cái điện đối với bảng giảm điện áp chuyển tiếp từ dữ liệu

Sơ vật dụng mạch

Bây giờ, hãy liên kết mô-đun LED Ma trận 8 × 8 cùng với Board Arduino. Đây là sơ đồ vật mạch:

*

Sơ thứ mạch 8/8 Matrix MAX7219

VCC cùng GND của mô-đun theo thứ tự nối cùng với chân 5V và GND của Arduino và tía chân khác, DIN, CLK với CS nối với ngẫu nhiên chân digital như thế nào của board Arduino. Nếu họ muốn kết nối nhiều hơn thế nữa một mô-đun, họ chỉ phải kết nối các chân đầu ra của bảng ngắt trước đó với những chân nguồn vào của mô-đun mới. Trên thực tiễn các chân này phần đa giống nhau kế bên chân DOUT của board trước đi mang lại chân DIN của board mới.

Xem thêm: Tổng Hợp 38 Mẫu Hợp Đồng Dịch Vụ .Doc, 4 Mẫu Hợp Đồng Dịch Vụ Phổ Biến, “Chuẩn” Pháp Lý

Các linh kiện cần thiết cho gợi ý Arduino này:

Mô-đun ma trận 8 × 8 LED MAX7219 DotMô-đun bluetooth không dây HC-05Board ArduinoBreadboard cùng dây dẫn

Code Arduino cơ bạn dạng MAX7219

Khi đang kết nối các mô-đun, tiếp theo hãy tham khảo code Arduino của lấy ví dụ đầu tiên. Chúng tôi sử dụng tủ sách MaxMatrix có thể tải xuống tự GitHub .

/* 8x8 LED Matrix MAX7219 Example 01 Based on the following library: GitHub | riyas-org/max7219 https://github.com/riyas-org/max7219*/#include int DIN = 7; // DIN pin of MAX7219 moduleint CLK = 6; // CLK pin sạc of MAX7219 moduleint CS = 5; // CS sạc of MAX7219 moduleint maxInUse = 1;MaxMatrix m(DIN, CS, CLK, maxInUse); char A<> = 4, 8, B01111110, B00010001, B00010001, B01111110, ;char B<> = 4, 8, B01111111, B01001001, B01001001, B00110110, ;char smile01<> = 8, 8, B00111100, B01000010, B10010101, B10100001, B10100001, B10010101, B01000010, B00111100 ;char smile02<> = 8, 8, B00111100, B01000010, B10010101, B10010001, B10010001, B10010101, B01000010, B00111100 ;char smile03<> = 8, 8, B00111100, B01000010, B10100101, B10010001, B10010001, B10100101, B01000010, B00111100 ;void setup() m.init(); // MAX7219 initialization m.setIntensity(8); // initial led matrix intensity, 0-15void loop() { // Seting the LEDs On or Off at x,y or row,column position m.setDot(6,2,true); delay(1000); m.setDot(6,3,true); delay(1000); m.clear(); // Clears the display for (int i=0; iMô tả: vày vậy, trước tiên họ cần thêm tủ sách MaxMatrix.h, xác định các chân nhưng mà mô-đun được kết nối, đặt mô-đun họ sử dụng với xác định đối tượng MaxMatrix.

Để hiển thị những ký tự, bọn họ cần định nghĩa bọn chúng trong một mảng những ký tự hoặc byte và ở đây tôi tất cả một vài ba ví dụ. Chúng ta có thể nhận thấy cách các bit sẽ hình thành các ký từ bỏ thực sự. Vào trường vừa lòng này, bọn chúng được xoay 90 độ nhưng lại ví dụ thư viện đề nghị sử dụng chúng theo cách như vậy để sau này thuận lợi thực hiện nay chức năng thiết lập shiftLeft để cuộn văn bản.

*

Trong phần thiết lập, chúng ta chỉ bắt buộc khởi chế tạo ra mô-đun cùng đặt ánh sáng cho đèn LED. Trong phần vòng lặp áp dụng hàm setDot (), bạn có thể đặt bất kỳ đèn LED đơn nhất nào sáng lên ở chỗ X, Y hoặc sản phẩm / Cột với sử dụng tác dụng Clear () bạn cũng có thể xóa màn hình.

*

Ma trận LED 8×8

Để hiển thị các ký trường đoản cú được xác định trước, shop chúng tôi sử dụng hàm writeSprite () cùng hai đối số trước tiên là địa chỉ X và Y của góc trên phía bên trái của ký kết tự. Cuối cùng, sử dụng hàm shiftLeft (), họ di đưa hoặc cuộn cam kết tự lịch sự trái.

Code cuộn văn phiên bản cho ma trận LED 8 × 8

Tiếp theo chúng ta hãy xem ví dụ như cuộn văn bản. Bên dưới code các bạn sẽ tìm thấy diễn đạt của nó.

/* 8x8 LED Matrix MAX7219 Scrolling Text Example Based on the following library: GitHub | riyas-org/max7219 https://github.com/riyas-org/max7219*/#include #include PROGMEM const unsigned char CH<> = { 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // # 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // " 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // * 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // - 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ; 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, //