Სარჩევი:

MAX7219 LED Dot Matrix შეკრება და ტესტირება: 6 ნაბიჯი (სურათებით)
MAX7219 LED Dot Matrix შეკრება და ტესტირება: 6 ნაბიჯი (სურათებით)

ვიდეო: MAX7219 LED Dot Matrix შეკრება და ტესტირება: 6 ნაბიჯი (სურათებით)

ვიდეო: MAX7219 LED Dot Matrix შეკრება და ტესტირება: 6 ნაბიჯი (სურათებით)
ვიდეო: Control MAX7219 Dot Matrix LED Display With Telegram Using ESP8266 2024, ივლისი
Anonim
Image
Image
შეამოწმეთ პაკეტი
შეამოწმეთ პაკეტი

Dot-Matrix Display არის ჩვენების მოწყობილობა, რომელიც შეიცავს სინათლის დიოდებს, რომლებიც განლაგებულია მატრიცის სახით. ეს წერტილოვანი მატრიცები გამოიყენება იმ აპლიკაციებში, სადაც სიმბოლოები, გრაფიკები, სიმბოლოები, ანბანები, რიცხვები ერთად უნდა იყოს ნაჩვენები როგორც სტატიკურად, ასევე მოძრავი მოძრაობა. წერტილოვანი მატრიცა ჩვენებულია სხვადასხვა განზომილებაში, როგორიცაა 5x7, 8x8, 16x8, 128x16, 128x32 და 128x64, სადაც რიცხვები წარმოადგენენ LED- ს რიგებში და სვეტებში, ასევე ეს ჩვენებები მოდის სხვადასხვა ფერებში, როგორიცაა წითელი, მწვანე, ყვითელი, ლურჯი, ნარინჯისფერი, თეთრი.

ამ ინსტრუქციაში, მე გავდივარ 8x8 Dot Matrix– ის ინტერფეისით, რომელსაც აქვს MAX7219 დრაივერი 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 არის IC, რომელიც შექმნილია 8x8 LED MATRIX– ის გასაკონტროლებლად. IC არის სერიული შეყვანის საერთო კათოდური (საერთო უარყოფითი) ეკრანის დრაივერები, რომლებიც აკავშირებენ მიკროპროცესორებს (ან მიკროკონტროლერს) 7 სეგმენტიან ციფრულ LED ეკრანებთან 8 ციფრამდე, ბარი-გრაფიკული ეკრანებით ან 64 ინდივიდუალური LED- ებით.

მახასიათებლები და სპეციფიკაციები

ოპერაციული ძაბვის დიაპაზონი: +4.0 -დან +5.5V

რეკომენდებული საოპერაციო ძაბვა: +5V

მიწოდების მაქსიმალური ძაბვა: 6V

მაქსიმალური დენი ნებადართულია თითოეული სეგმენტის პინის გავლით: 100mA

მაქსიმალური დენი დასაშვებია თითოეული DIGIT გრუნტის პინის მეშვეობით: 500mA

დაბალი ენერგიის მოხმარება

მონაცემთა გადანაწილებამდე გადავადების დრო: 2.2 წმ

სამუშაო ტემპერატურა: 0 ° C- დან +70 ° C- მდე

შენახვის ტემპერატურა: -65 ° C- დან +150 ° C- მდე

ნაბიჯი 4: წრე

წრე
წრე
წრე
წრე

წრე საკმაოდ მარტივია და მისი აშენება შესაძლებელია მამრობითი და მდედრობითი მხტუნავების მავთულის გამოყენებით. უბრალოდ მიჰყევით pinout- ს და შექმენით წრე. მოგვიანებით შეგიძლიათ ააწყოთ იგი PCB– ზე, თუ თქვენ მუდმივ განაცხადს აკეთებთ მატრიცაზე.

Pin კონფიგურაცია შემდეგია:

  • Vcc to 5V Pin of Arduino.
  • Gnd to Gnd Pin of Arduino.
  • DIN ციფრული პინ 12 არდუინოს.
  • CS ციფრული პინ 11 Arduino– დან
  • დააწკაპუნეთ Arduino– ს ციფრულ პინზე 10.

ნაბიჯი 5: კოდი

აქ ამ ინსტრუქციულ მე მოგაწვდით ორ სხვადასხვა კოდს. ერთი შექმნის რამდენიმე ინგლისურ ანბანს და სმაილს მატრიცაზე. მეორეს სურვილისამებრ ყველა 64 LED ნათურა ანათებს სათითაოდ. თქვენ უნდა გამოიყენოთ lledcontrol ბიბლიოთეკა, რომ ის იმუშაოს.

ეს არის ინგლისური ანბანისა და ღიმილის კოდი

#მოიცავს int 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}; ბაიტი m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc. გამორთვა (0, ყალბი); // 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); } void printEduc8s () {printByte (e); დაგვიანება (1000); printByte (დ); დაგვიანება (1000); printByte (u); დაგვიანება (1000); printByte (გ); დაგვიანება (1000); printByte (რვა); დაგვიანება (1000); printByte (s); დაგვიანება (1000); printByte (წერტილი); დაგვიანება (1000); printByte (გ); დაგვიანება (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;

void setup () {

/ * MAX72XX არის ენერგიის დაზოგვის რეჟიმში გაშვებისას, ჩვენ უნდა გავაკეთოთ გამოღვიძების ზარი */ lc. გამორთვა (0, ყალბი); / * დააყენეთ სიკაშკაშე საშუალო მნიშვნელობებზე */ lc.setIntensity (0, 8); / * და გაასუფთავეთ ეკრანი */ lc.clearDisplay (0); }

/*

ეს მეთოდი სიტყვის "არდუინოს" სიმბოლოებს ერთმანეთის მიყოლებით აჩვენებს მატრიცაზე. (თქვენ გჭირდებათ სულ მცირე 5x7 led, რომ ნახოთ მთელი სიმბოლო) */ void writeArduinoOnMatrix () {/ *აქ არის მონაცემები სიმბოლოებისათვის */ byte 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, დ [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); დაგვიანება (დაგვიანების დრო); }

/*

ეს ფუნქცია ზედიზედ ანათებს ზოგიერთ Leds- ს. ნიმუში მეორდება ყოველ რიგში. ნიმუში აციმციმდება რიგის ნომერთან ერთად. რიგის ნომერი 4 (ინდექსი == 3) აციმციმდება 4 -ჯერ და ა.შ. */ void რიგები () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, მწკრივი, B10100000); დაგვიანება (დაგვიანების დრო); lc.setRow (0, მწკრივი, (ბაიტი) 0); for (int i = 0; i

/*

ეს ფუნქცია ანათებს ზოგიერთ Leds სვეტში. ნიმუში მეორდება ყოველ სვეტზე. ნიმუში აციმციმდება სვეტის ნომერთან ერთად. სვეტის ნომერი 4 (ინდექსი == 3) აციმციმდება 4 -ჯერ და ა.შ. */ void სვეტები () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); დაგვიანება (დაგვიანების დრო); lc.setColumn (0, col, (byte) 0); for (int i = 0; i

/*

ეს ფუნქცია ანათებს ყველა Led მატრიცაზე. Led აციმციმდება რიგის ნომერთან ერთად. რიგის ნომერი 4 (ინდექსი == 3) აციმციმდება 4 -ჯერ და ა.შ. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { დაგვიანება (დაგვიანების დრო); lc.setLed (0, row, col, true); დაგვიანება (დაგვიანების დრო); for (int i = 0; i

ბათილი მარყუჟი () {

writeArduinoOnMatrix (); რიგები (); სვეტები(); მარტოხელა(); }

ნაბიჯი 6: გამომავალი

Image
Image
გამომავალი
გამომავალი
გამომავალი
გამომავალი
გამომავალი
გამომავალი

ნახეთ სრული ვიდეო აქ: -MAX7219 8x8 LED მატრიცის შეკრება და ტესტირება ARDUINO– ს გამოყენებით

მთელი ეს შრომა, რა თქმა უნდა, საკმაოდ კარგად ანაზღაურდება, როდესაც დაინახავ შედეგს. Ღირს !!

გამოიწერეთ ჩემი youtube არხი:-Creative Stuff

გირჩევთ: