สารบัญ:

การควบคุม Led Matrix โดยใช้ Arduino: 5 ขั้นตอน
การควบคุม Led Matrix โดยใช้ Arduino: 5 ขั้นตอน

วีดีโอ: การควบคุม Led Matrix โดยใช้ Arduino: 5 ขั้นตอน

วีดีโอ: การควบคุม Led Matrix โดยใช้ Arduino: 5 ขั้นตอน
วีดีโอ: LED Matrix 32x8 การต่อใช้งาน การเเสดงผล จากตัวอย่างของ Libraries Arduino+LED Matrix (Arduino EP.35) 2024, พฤศจิกายน
Anonim
การควบคุม Led Matrix โดยใช้ Arduino
การควบคุม Led Matrix โดยใช้ Arduino
การควบคุม Led Matrix โดยใช้ Arduino
การควบคุม Led Matrix โดยใช้ Arduino

ไงเพื่อน.

ในบทความนี้ ผมจะแสดงวิธีการใช้ Led Matrix โดยใช้ Arduino

Led Matrix คือชุดของ LED ในรูปแบบของอาร์เรย์ Led Matrices มีคอลัมน์และแถวที่หลากหลาย ขึ้นอยู่กับประเภท ด้วยการนำเสนอ LED หลายดวงที่มีการรวมกันบางอย่าง เมทริกซ์ของ Led สามารถแสดงอักขระ ตัวอักษร สัญลักษณ์ และอื่นๆ ได้ อีกชื่อหนึ่งของ Led Matrix คือ Dot Matrix

หลักการทำงานของ Led Matrix เหมือนกับ "7-Segment Display" ที่ฉันสร้างขึ้นเมื่อวานนี้ ความแตกต่างระหว่างทั้งสองคือรูปลักษณ์ภายนอกเท่านั้น

ขั้นตอนที่ 1: ข้อมูลจำเพาะของ Led Matrix

ข้อมูลจำเพาะของ Led Matrix
ข้อมูลจำเพาะของ Led Matrix

นี่คือข้อกำหนดของ Led Matrix:

  • จำนวน LEDs: 64
  • จำนวนบรรทัด: 8
  • จำนวนคอลัมน์: 8
  • แรงดันไฟฟ้าที่ใช้งาน: 4.7V - 5V DC
  • กระแสไฟที่ใช้งาน: 320mA
  • กระแสไฟที่ใช้งานสูงสุด: 2A

ขั้นตอนที่ 2: ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น:

  • Led Matrik
  • Arduino นาโน
  • สายจัมเปอร์
  • USBmini
  • คณะกรรมการโครงการ

ห้องสมุดที่จำเป็น:

LedControl

หากต้องการเพิ่มไลบรารีลงใน Arduino IDE คุณสามารถดูได้ในบทความนี้ "เพิ่มไลบรารีลงใน Arduino"

ขั้นตอนที่ 3: เชื่อมต่อ Led Matrix กับ Arduino IDE

เชื่อมต่อ Led Matrix กับ Arduino IDE
เชื่อมต่อ Led Matrix กับ Arduino IDE

ดูคำอธิบายด้านล่างหรือดูภาพด้านบน:

นำเมทริกซ์ไปยัง Arduino

VCC ==> +5V

GND ==> GND

DIN ==> D6

CS ==> D7

CLK ==> D8

ขั้นตอนที่ 4: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม

นี่เป็นตัวอย่างแบบร่างที่สามารถใช้เพื่อลองใช้เมทริกซ์แบบ LED:

//เราต้องรวมไลบรารี่เสมอ #include "LedControl.h"

/*

ตอนนี้เราต้องการ LedControl เพื่อใช้งาน ***** หมายเลขพินเหล่านี้อาจจะไม่ทำงานกับฮาร์ดแวร์ของคุณ ***** ขา 6 เชื่อมต่อกับ DataIn ขา 8 เชื่อมต่อกับ CLK ขา 7 เชื่อมต่อกับโหลด เรามี MAX72XX เดียวเท่านั้น */

LedControl lc=LedControl(6, 8, 7, 1);

/* เรามักจะรอเล็กน้อยระหว่างการอัปเดตการแสดงผล */

ล่าช้านานที่ไม่ได้ลงนาม=100;

การตั้งค่าเป็นโมฆะ () {

/* MAX72XX อยู่ในโหมดประหยัดพลังงานเมื่อเริ่มต้น เราต้องทำการโทรปลุก */ lc.shutdown(0, false); /* ตั้งค่าความสว่างเป็นค่ากลาง */ lc.setIntensity(0, 8); /* และล้างการแสดงผล */ lc.clearDisplay(0); }

/*

วิธีนี้จะแสดงอักขระสำหรับคำว่า "Arduino" ทีละตัวบนเมทริกซ์ (คุณต้องการไฟ LED อย่างน้อย 5x7 เพื่อดูตัวอักษรทั้งหมด) */ void writeArduinoOnMatrix() { /* นี่คือข้อมูลสำหรับอักขระ */ ไบต์ a[5]={B01111110, B10001000, B10001000, B10001000, B01111110}; ไบต์ r[5]={B00111110, B00010000, B000000000, B000000000, B00010000}; ไบต์ d[5]={B00011100, B00100010, B00100010, B00010010, B111111110}; ไบต์ ยู[5]={B00111100, B00000010, B00000010, B0000000100, B00111110}; ไบต์ i[5]={B00000000, B00100010, B10111110, B00000010, B00000000}; ไบต์ n[5]={B00111110, B00010000, B000000000, B000000000, B00011110}; ไบต์ o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};

/* ตอนนี้แสดงทีละรายการโดยมีความล่าช้าเล็กน้อย */

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]); ล่าช้า (ล่าช้า); 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]); ล่าช้า (ล่าช้า); 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]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, u[0]); lc.setRow(0, 1, คุณ[1]); lc.setRow(0, 2, คุณ[2]); lc.setRow(0, 3, คุณ[3]); lc.setRow(0, 4, คุณ[4]); ล่าช้า (ล่าช้า); lc.setRow(0, 0, ผม[0]); lc.setRow(0, 1, ผม[1]); lc.setRow(0, 2, ผม[2]); lc.setRow(0, 3, ผม[3]); lc.setRow(0, 4, ผม[4]); ล่าช้า (ล่าช้า); 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]); ล่าช้า (ล่าช้า); 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]); ล่าช้า (ล่าช้า); 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); ล่าช้า (ล่าช้า); }

/*

ฟังก์ชันนี้จะทำให้ไฟ LED บางดวงสว่างขึ้นติดต่อกัน รูปแบบจะทำซ้ำทุกแถว รูปแบบจะกะพริบพร้อมกับหมายเลขแถว แถวที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, แถว, B10100000); ล่าช้า (ล่าช้า); lc.setRow(0, แถว, (ไบต์)0); สำหรับ(int i=0;i

/*

ฟังก์ชันนี้จะทำให้ไฟ LED บางดวงสว่างขึ้นในคอลัมน์ รูปแบบจะถูกทำซ้ำในทุกคอลัมน์ รูปแบบจะกะพริบพร้อมกับหมายเลขคอลัมน์ คอลัมน์ที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void columns() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, col, B10100000); ล่าช้า (ล่าช้า); lc.setColumn(0, col, (ไบต์)0); สำหรับ(int i=0;i

/*

ฟังก์ชันนี้จะสว่างขึ้นทุก Led บนเมทริกซ์ ไฟ LED จะกะพริบพร้อมกับหมายเลขแถว แถวที่ 4 (index==3) จะกะพริบ 4 ครั้ง เป็นต้น */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { ล่าช้า (ล่าช้า); lc.setLed(0, แถว, คอลัมน์, จริง); ล่าช้า (ล่าช้า); สำหรับ(int i=0;i

วงเป็นโมฆะ () {

เขียนArduinoOnMatrix(); แถว (); คอลัมน์ (); เดี่ยว(); }

ฉันยังนำเสนอเป็นไฟล์:

ขั้นตอนที่ 5: สนุกกับมัน

สนุกกับมัน
สนุกกับมัน

นั่นคือการสอนเกี่ยวกับเมทริกซ์นำ

ขอบคุณที่อ่านบทความนี้ แล้วพบกันใหม่ในบทความหน้า

แนะนำ: