Агуулгын хүснэгт:

MAX7219 LED цэг матрицын угсралт ба туршилт: 6 алхам (зурагтай)
MAX7219 LED цэг матрицын угсралт ба туршилт: 6 алхам (зурагтай)

Видео: MAX7219 LED цэг матрицын угсралт ба туршилт: 6 алхам (зурагтай)

Видео: MAX7219 LED цэг матрицын угсралт ба туршилт: 6 алхам (зурагтай)
Видео: Светодиодные матрицы на max7219 2024, Долдугаар сарын
Anonim
Image
Image
Багцыг шалгана уу
Багцыг шалгана уу

Dot-Matrix Display нь матриц хэлбэрээр байрлуулсан гэрэл ялгаруулах диод агуулсан дэлгэцийн төхөөрөмж юм. Энэхүү цэг матриц дэлгэцийг Symbol, Graphic, Character, Alphabets, Numerals-ийг статик болон дэлгэцэн дээр хамтад нь харуулах шаардлагатай програмуудад ашигладаг. Гүйлгэх хөдөлгөөн. Дот матрицын дэлгэц нь 5x7, 8x8, 16x8, 128x16, 128x32, 128x64 гэх мэт янз бүрийн хэмжээсээр хийгдсэн бөгөөд тоонууд нь LED -ийг эгнээ, баганад илэрхийлдэг бөгөөд эдгээр дэлгэц нь улаан, ногоон, шар, цэнхэр, Улбар шар, цагаан.

Энэхүү зааварчилгаанд би MAX7219 драйвертай 8x8 цэг матрицыг Arduino Uno руу холбож өгөх болно.

Хангамж

MAX7219

Алхам 1: Багцыг шалгана уу

Драйверын самбарын smt хувилбар надад байгаа тул smd -ийн бүрэлдэхүүн хэсгүүд нь маш жижиг хэмжээтэй тул та тэдгээрийг амархан алдах боломжтой тул шаардлагатай бүх бүрэлдэхүүн хэсгүүдийг шалгаж үзэх нь маш чухал юм. smt хувилбар нь түүний хэмжээгээр.

Алхам 2: Энэ онцгой цэгийн матрицын талаар бага зэрэг

Энэ онцгой матрицын талаар бага зэрэг
Энэ онцгой матрицын талаар бага зэрэг

Нэг модуль нь 8x8 цэг матрицын нийтлэг катодыг жолоодох боломжтой.

Ашиглалтын хүчдэл: 5 вольт

Хэмжээ: урт 3.2 см X 3.2 см өргөн X 1.3 см өндөр, дөрвөн эрэг бүхий нүх, диаметр 3 мм

Оролт, гаралтын интерфэйстэй модулиуд, олон модулийг каскад хийх дэмжлэг.

Мэдээллийн IN ба OUT терминалуудыг модульд зааж өгсөн болно.

Алхам 3: MAX7219 драйвер

MAX7219 драйвер
MAX7219 драйвер
MAX7219 драйвер
MAX7219 драйвер

MAX7219 бол 8х8 хэмжээтэй LED MATRIX -ийг удирдах зориулалттай IC юм. IC нь микропроцессор (эсвэл микроконтроллер) -ийг 8 хүртэлх оронтой тоон дижитал дижитал, бар график дэлгэц эсвэл 64 тусдаа LED-тэй холбодог цуврал оролтын нийтлэг катод (нийтлэг сөрөг) дэлгэцийн драйвер юм.

Онцлог ба техникийн үзүүлэлтүүд

Ашиглалтын хүчдэлийн хүрээ: +4.0 -аас +5.5 В хүртэл

Зөвлөмж болгож буй ажиллах хүчдэл: +5V

Хамгийн их тэжээлийн хүчдэл: 6V

Сегментийн зүү бүрээр дамжих хамгийн их гүйдэл: 100мА

DIGIT газардуулгын зүү бүрээр дамжих хамгийн их гүйдэл: 500мА

Бага эрчим хүчний хэрэглээ

Мэдээллийг сегмент болгон хойшлуулах хугацаа: 2.2мсек

Ашиглалтын температур: 0 ° C -аас +70 ° C хүртэл

Хадгалах температур: -65 ° C -аас +150 ° C хүртэл

Алхам 4: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

Уг хэлхээ нь маш энгийн бөгөөд эрэгтэй, эмэгтэй холбогч утас ашиглан барьж болно. Зөвхөн зүүг дагаж, хэлхээг байгуулна уу. Хэрэв та матрицад байнгын өргөдөл гаргаж байгаа бол та үүнийг дараа нь ПХБ дээр угсарч болно.

Pin тохиргоо дараах байдалтай байна

  • Arduino -ийн 5V зүү хүртэл Vcc.
  • Gnd to Gnd Pin to Arduino.
  • DIN -ийг Arduino -ийн дижитал зүү 12 руу оруулна уу.
  • CS -ийг Arduino -ийн дижитал зүү 11 рүү
  • Arduino -ийн дижитал зүү 10 руу CLK хийнэ үү.

Алхам 5: Код

Энэхүү зааврын дагуу би танд хоёр өөр код өгөх болно. Матриц дээр англи цагаан толгой, инээмсэглэл үүсгэх болно. Нөгөө нэг нь бүх 64 LED -ийг нэг нэгээр нь гэрэлтүүлэх болно. Үүнийг ажиллуулахын тулд та lledcontrol номын санг ашиглах ёстой.

Энэ бол англи цагаан толгой, инээмсэглэлийн код юм

#оруулах DIN = 12; int CS = 11; int CLK = 10; байт e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; байт d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; байт u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; найман байт [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; байт s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; байтын цэг [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; байт o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт м [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX нь lc.setIntensity эхлэх үед эрчим хүч хэмнэх горимд байна (0, 15); // Гэрэлтүүлгийг хамгийн их утгад тохируулна lc.clearDisplay (0); // ба дэлгэцийг цэвэрлэ} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; төвийг сахисан байт [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; байт хөмсөг [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (инээмсэглэх); саатал (1000); printByte (төвийг сахисан); саатал (1000); printByte (хөмсгөө зангидах); саатал (1000); printEduc8s (); lc.clearDisplay (0); саатал (1000); } хүчингүй printEduc8s () {printByte (e); саатал (1000); printByte (d); саатал (1000); printByte (u); саатал (1000); printByte (c); саатал (1000); printByte (найман); саатал (1000); printByte (s); саатал (1000); printByte (цэг); саатал (1000); printByte (c); саатал (1000); printByte (o); саатал (1000); printByte (м); саатал (1000); } void printByte (байтын тэмдэгт ) {int i = 0; for (i = 0; i <8; i ++) {lc.setRow (0, i, тэмдэгт ); }}

мөн бүх 64 LED -ийг турших код

// Бид үргэлж "LedControl.h" номын сан#оруулах ёстой.

/*

Одоо бидэнд ажиллах LedControl хэрэгтэй байна. ***** Эдгээр зүү дугаар нь таны техник хангамжтай ажиллахгүй байх магадлалтай ***** 12 -р зүү нь DataIn -тэй холбогдсон 10 -р CLK зүү 11 -тэй холбогдсон бөгөөд LOAD -тэй холбогдсон байна Бидэнд ганцхан MAX72XX байна. */ LedControl lc = LedControl (12, 11, 10, 1);

/ * бид дэлгэцийн шинэчлэлтийн хооронд жаахан хүлээдэг */

гарын үсэг зураагүй урт саатал = 100;

хүчингүй тохиргоо () {

/ * MAX72XX асаахад эрчим хүч хэмнэх горимд байгаа тул бид сэрээх дуудлага хийх ёстой */ lc.shutdown (0, худал); / * Гэрэлтүүлгийг дунд зэрэг болгох */ lc.setIntensity (0, 8); / * болон дэлгэцийг цэвэрлэ */ lc.clearDisplay (0); }

/*

Энэ арга нь матриц дээр "Arduino" гэсэн үгийн тэмдэгтүүдийг дараалан харуулах болно. (бүх тэмдэгтүүдийг үзэхийн тулд танд дор хаяж 5x7 LED хэрэгтэй болно) */ void writeArduinoOnMatrix () {/ *тэмдэгтүүдийн өгөгдөл энд байна// байт a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; байт r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; байт d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; байт u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; байт i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; байт n [5] = {B00111110, B00010000, B00100000, B00100000, 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, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); саатал (саатал); 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]); саатал (саатал); 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 -р эгнээний дугаар (индекс == 3) 4 удаа анивчих болно. */ void rows () {for (int row = 0; мөр <8; мөр ++) {саатал (саатал); lc.setRow (0, мөр, B10100000); саатал (саатал); lc.setRow (0, мөр, (байт) 0); for (int i = 0; i

/*

Энэ функц нь багананд байгаа зарим LED -ийг гэрэлтүүлдэг. Загварыг багана бүрт давтах болно. Загвар нь баганын дугаартай хамт анивчих болно. баганын дугаар 4 (индекс == 3) 4 удаа анивчих болно. lc.setColumn (0, col, B10100000); саатал (саатал); lc.setColumn (0, col, (byte) 0); for (int i = 0; i

/*

Энэ функц нь матриц дээрх Led бүрийг асаах болно. Лед нь эгнээний дугаартай хамт анивчих болно. 4 -р эгнээний дугаар (индекс == 3) 4 удаа анивчих болно. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { саатал (саатал); lc.setLed (0, мөр, col, үнэн); саатал (саатал); for (int i = 0; i

void loop () {

бичихArduinoOnMatrix (); мөр (); багана (); ганц бие (); }

Алхам 6: Гаралт

Image
Image
Гаралт
Гаралт
Гаралт
Гаралт
Гаралт
Гаралт

Бүрэн видеог эндээс үзнэ үү: -MAX7219 8x8 LED MATRIX ASSBBLY AND TESTING ARDUINO ашиглан

Энэ бүх шаргуу хөдөлмөр нь үр дүнг нь хараад үнэхээр сайн үр дүнгээ өгөх нь дамжиггүй. Энэ нь үнэ цэнэтэй юм !!

Миний youtube сувагт бүртгүүлнэ үү: -Creative Stuff

Зөвлөмж болгож буй: