সুচিপত্র:

MAX7219 LED ডট ম্যাট্রিক্স অ্যাসেম্বলি এবং টেস্টিং: 6 ধাপ (ছবি সহ)
MAX7219 LED ডট ম্যাট্রিক্স অ্যাসেম্বলি এবং টেস্টিং: 6 ধাপ (ছবি সহ)

ভিডিও: MAX7219 LED ডট ম্যাট্রিক্স অ্যাসেম্বলি এবং টেস্টিং: 6 ধাপ (ছবি সহ)

ভিডিও: MAX7219 LED ডট ম্যাট্রিক্স অ্যাসেম্বলি এবং টেস্টিং: 6 ধাপ (ছবি সহ)
ভিডিও: Wifi Display using MAX7219 Dot Matrix Display Panel 2024, জুলাই
Anonim
Image
Image
প্যাকেজ চেক করুন
প্যাকেজ চেক করুন

একটি ডট-ম্যাট্রিক্স ডিসপ্লে হল একটি ডিসপ্লে ডিভাইস যা ম্যাট্রিক্স আকারে সারিবদ্ধভাবে আলোক নির্গত ডায়োড ধারণ করে। স্ক্রোলিং গতি ডট ম্যাট্রিক্স ডিসপ্লে 5x7, 8x8, 16x8, 128x16, 128x32 এবং 128x64 এর মতো বিভিন্ন মাত্রায় তৈরি করা হয় যেখানে সংখ্যাগুলি সারি এবং কলামে LED এর প্রতিনিধিত্ব করে, এছাড়াও এই ডিসপ্লেগুলি বিভিন্ন রঙে আসে যেমন লাল, সবুজ, হলুদ, নীল, কমলা, সাদা।

এই নির্দেশে, আমি একটি 8x8 ডট ম্যাট্রিক্সের মধ্য দিয়ে যাচ্ছি যার একটি MAX7219 ড্রাইভার একটি Arduino Uno তে আছে।

সরবরাহ

MAX7219

ধাপ 1: প্যাকেজ চেক করুন

যেহেতু আপনি দেখতে পাচ্ছেন আমার ড্রাইভার বোর্ডের একটি এসএমটি সংস্করণ আছে, এটি প্রয়োজনীয় প্রতিটি উপাদান যাচাই করা খুবই গুরুত্বপূর্ণ কারণ এসএমডি উপাদানগুলি আকারে খুব ছোট এবং আপনি সহজেই সেগুলি হারাতে পারেন। ডিপ সংস্করণ অনলাইনেও পাওয়া যায় কিন্তু আমি ব্যবহার করেছি তার আকারের জন্য এসএমটি সংস্করণ।

ধাপ 2: এই বিশেষ ডট ম্যাট্রিক্স সম্পর্কে একটু

এই বিশেষ ডট ম্যাট্রিক্স সম্পর্কে একটু
এই বিশেষ ডট ম্যাট্রিক্স সম্পর্কে একটু

একক মডিউল একটি 8x8 ডট ম্যাট্রিক্স সাধারণ ক্যাথোড চালাতে পারে।

অপারেটিং ভোল্টেজ: 5 v

মাত্রা: দৈর্ঘ্য 3.2 সেমি এক্স 3.2 সেমি চওড়া এক্স 1.3 সেমি উচ্চ, চারটি স্ক্রু সহ গর্ত, 3 মিমি ব্যাস

ইনপুট এবং আউটপুট ইন্টারফেস সহ মডিউল, একাধিক মডিউল ক্যাসকেডিংয়ের জন্য সমর্থন।

ডাটা ইন এবং আউট টার্মিনাল মডিউলে নির্দিষ্ট করা আছে।

ধাপ 3: MAX7219 ড্রাইভার

MAX7219 ড্রাইভার
MAX7219 ড্রাইভার
MAX7219 ড্রাইভার
MAX7219 ড্রাইভার

MAX7219 হল একটি আইসি যা 8x8 LED ম্যাট্রিক্স নিয়ন্ত্রণ করার জন্য ডিজাইন করা হয়েছে। আইসি হল সিরিয়াল ইনপুট কমন-ক্যাথোড (সাধারণ নেতিবাচক) ডিসপ্লে ড্রাইভার যা মাইক্রোপ্রসেসর (বা মাইক্রোকন্ট্রোলার) -কে--সেগমেন্ট সংখ্যাসূচক LED ডিসপ্লে পর্যন্ত dig ডিজিট, বার-গ্রাফ ডিসপ্লে, বা individual টি পৃথক এলইডি ইন্টারফেস করে।

বৈশিষ্ট্য এবং বিশেষ উল্লেখ

অপারেটিং ভোল্টেজ পরিসীমা: +4.0 থেকে +5.5V

প্রস্তাবিত অপারেটিং ভোল্টেজ: +5V

সর্বাধিক সরবরাহ ভোল্টেজ: 6V

সর্বাধিক বর্তমান প্রতিটি সেগমেন্ট পিনের মাধ্যমে আঁকা অনুমোদিত: 100mA

সর্বাধিক বর্তমান প্রতিটি ডিজিট গ্রাউন্ড পিনের মাধ্যমে অনুমোদিত: 500mA

কম শক্তি খরচ

ডেটা-টু-সেগমেন্ট বিলম্বের সময়: 2.2mSec

অপারেটিং তাপমাত্রা: 0 ° C থেকে +70 ° C

সংগ্রহস্থল তাপমাত্রা: -65 C থেকে +150 C

ধাপ 4: সার্কিট

সার্কিট
সার্কিট
সার্কিট
সার্কিট

সার্কিটটি বেশ সহজ এবং পুরুষ থেকে মহিলা জাম্পার তার ব্যবহার করে তৈরি করা যায়। শুধু পিনআউট অনুসরণ করুন এবং সার্কিট তৈরি করুন। যদি আপনি ম্যাট্রিক্সের জন্য স্থায়ী আবেদন করেন তবে আপনি পরে এটি একটি পিসিবিতে একত্রিত করতে পারেন।

পিন কনফিগারেশন নিম্নরূপ:

  • Vcc থেকে Arduino এর 5V পিন।
  • Arndino এর Gnd থেকে Gnd পিন।
  • DIN থেকে Arduino এর ডিজিটাল পিন 12।
  • Arduino এর সিএস থেকে ডিজিটাল পিন 11
  • আরডুইনো এর ডিজিটাল পিন 10 এ CLK।

ধাপ 5: কোড

এখানে এই নির্দেশযোগ্য আমি আপনাকে দুটি ভিন্ন কোড প্রদান করব। কেউ ম্যাট্রিক্সে কিছু ইংরেজি বর্ণমালা এবং হাসি তৈরি করবে। অন্যটি এক একটি করে সমস্ত 64 টি LEDs আলোকিত করবে। এটি কাজ করতে আপনাকে অবশ্যই lledcontrol লাইব্রেরি ব্যবহার করতে হবে।

এটি ইংরেজি বর্ণমালা এবং হাসির কোড

#অন্তর্ভুক্ত DIN = 12; int CS = 11; int CLK = 10; বাইট ই [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; বাইট d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; বাইট ইউ [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}; বাইট গুলি [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); অকার্যকর সেটআপ () {lc.shutdown (0, false); // MAX72XX স্টার্টআপে পাওয়ার-সেভিং মোডে রয়েছে lc.setIntensity (0, 15); // সর্বাধিক মান উজ্জ্বলতা সেট করুন lc.clearDisplay (0); // এবং display} 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 (গুলি); বিলম্ব (1000); printByte (বিন্দু); বিলম্ব (1000); printByte (c); বিলম্ব (1000); printByte (ও); বিলম্ব (1000); printByte (মি); বিলম্ব (1000); } অকার্যকর printByte (বাইট অক্ষর ) {int i = 0; জন্য (i = 0; i <8; i ++) {lc.setRow (0, i, character ); }}

এবং সমস্ত 64 LEDs পরীক্ষার কোড

// আমাদের সবসময় লাইব্রেরি অন্তর্ভুক্ত করতে হবে#অন্তর্ভুক্ত "LedControl.h"

/*

এখন কাজ করার জন্য আমাদের একটি LedControl প্রয়োজন। ***** এই পিন নাম্বারগুলো সম্ভবত আপনার হার্ডওয়্যারের সাথে কাজ করবে না ***** পিন 12 DataIn পিন 10 এর সাথে সংযুক্ত আছে CLK পিন 11 এর সাথে সংযুক্ত আছে LOAD এর সাথে আমাদের একটি মাত্র MAX72XX আছে। */ LedControl lc = LedControl (12, 11, 10, 1);

/ * আমরা সবসময় ডিসপ্লের আপডেটের মাঝে একটু অপেক্ষা করি */

স্বাক্ষরবিহীন দীর্ঘ বিলম্বের সময় = 100;

অকার্যকর সেটআপ() {

/ * MAX72XX প্রারম্ভে পাওয়ার-সেভিং মোডে আছে, আমাদের একটি ওয়েকআপ কল করতে হবে */ lc.shutdown (0, false); / * একটি মাঝারি মানের উজ্জ্বলতা সেট করুন */ lc.setIntensity (0, 8); / * এবং ডিসপ্লে সাফ করুন */ lc.clearDisplay (0); }

/*

এই পদ্ধতি ম্যাট্রিক্সে একের পর এক "Arduino" শব্দের জন্য অক্ষর প্রদর্শন করবে। (সম্পূর্ণ অক্ষর দেখতে আপনার কমপক্ষে 5x7 এলইডি প্রয়োজন) বাইট r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; বাইট d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; বাইট ইউ [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); বিলম্ব (বিলম্বের সময়); }

/*

এই ফাংশনটি পরপর কয়েকটি এলইডি জ্বালায়। প্যাটার্নটি প্রতিটি সারিতে পুনরাবৃত্তি করা হবে। প্যাটার্নটি সারি-সংখ্যার সাথে জ্বলজ্বল করবে। সারি নম্বর 4 (সূচক == 3) 4 বার জ্বলবে ইত্যাদি। lc.setRow (0, সারি, B10100000); বিলম্ব (বিলম্বের সময়); lc.setRow (0, সারি, (বাইট) 0); জন্য (int i = 0; i

/*

এই ফাংশনটি একটি কলামে কিছু এলইডি জ্বালায়। প্রতিটি কলামে প্যাটার্নটি পুনরাবৃত্তি করা হবে। কলাম-নম্বর সহ প্যাটার্নটি ঝলকানি দেবে। কলাম নম্বর 4 (সূচী == 3) 4 বার জ্বলবে ইত্যাদি। lc.setCalumn (0, col, B10100000); বিলম্ব (বিলম্বের সময়); lc.setCalumn (0, col, (byte) 0); জন্য (int i = 0; i

/*

এই ফাংশনটি ম্যাট্রিক্সের প্রতিটি এলইডি আলোকিত করবে। নেতৃত্ব সারি-সংখ্যা সহ ঝলক দেবে। সারি নম্বর 4 (সূচক == 3) 4 বার জ্বলবে ইত্যাদি। বিলম্ব (বিলম্বের সময়); lc.setLed (0, সারি, col, সত্য); বিলম্ব (বিলম্বের সময়); জন্য (int i = 0; i

অকার্যকর লুপ () {

লিখুন ArduinoOnMatrix (); সারি (); কলাম(); একক (); }

ধাপ 6: আউটপুট

Image
Image
আউটপুট
আউটপুট
আউটপুট
আউটপুট
আউটপুট
আউটপুট

সম্পূর্ণ ভিডিওটি এখানে দেখুন: -MAX7219 8x8 LED ম্যাট্রিক্স সমাবেশ এবং ARDUINO ব্যবহার করে পরীক্ষা

আচ্ছা এই সমস্ত কঠোর পরিশ্রম, আপনি যখন ফলাফলটি দেখবেন তখন অবশ্যই ভাল ফল দেবে। এটা জরুরী !!

আমার ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুন:-সৃজনশীল উপাদান

প্রস্তাবিত: