আসসালামু আলাইকুম!
আরডুইনো উনো ব্যবহার করে কিভাবে MAX7219 IC এর সাহায্যে LED DOT Matrix ক্ষেত্র তৈরি করা যায় সেটা শিখব। এই প্রজেক্টটির মাধ্যমে LED ব্যবহার করে খুব কম রেজোলিউশনের ইমেজ বানানো যায়। আর এটি তৈরি করা অনেক সহজ এবং মজার। Arduino UNO ব্যবহার করে একসাথে অনেকগুলো LED কন্ট্রোল করার একটি বেসিক প্রজেক্ট হিসেবে কাজ করে এটি।
স্টেপ বাই স্টেপ আমরা শিখব কিভাবে করা যায়।
স্টেপ ১ঃ টুলস এবং কম্পোনেন্টস
এই প্রজেক্টটি তৈরি করতে যেসব এলিমেন্টস প্রয়োজন তা নিম্নে দেয়া হলোঃ
- Arduino Uno
- 8*8 LED Matrix with MAX7219
- Jumper
- 5V Power Supply
- Arduino IDE
উক্ত এলিমেন্টস দিয়ে সহজেই প্রজেক্টটি তৈরি করা যাবে।
স্টেপ ২ঃ সার্কিট কানেকশন
এখানে MAX7219 ব্যবহার করা হচ্ছে যা একটি Driver IC এবং SPI যোগাযোগের মাধ্যমে কাজ করে। একটি 8*8 ম্যাট্রিক্সে মোট 64 টি পিন থাকে যদি সমস্ত ক্যাথোড একত্রে যুক্ত থাকে। আর Arduino তে মাত্র 14 টি ডিজিটাল পিন থাকে যা 64 টি LED কে যথেষ্ট কারেন্ট দিতে সক্ষম নয়, তাই MAX7219 ব্যবহার করা হয় যা মাত্র 5 টি Arduino পিন ব্যবহার করে LED গুলো কন্ট্রোল করতে পারে।
সার্কিট কানেকশন খুব সহজ, এখানে সোল্ডারিং করার প্রয়োজন নেই।
MAX7219 এ 5 টি পিন থাকে। – CLK, CS, DIN, GND, VCC
এই পিন গুলো Arduino এর যেসব পিন এর সাথে সংযুক্ত থাকবে তা নিম্নে দেয়া হলঃ
- MAX7219 VCC — Arduino Pin 5V
- MAX7219 GND — Arduino Pin GND
- MAX7219 DIN — Arduino Pin 12
- MAX7219 CS — Arduino Pin 11
- MAX7219 CLK — Arduino Pin 10
Arduino তে এক্সটার্নাল 5V পাওয়ার সাপ্লাই দিতে হবে যা LED ম্যাট্রিক্সের VCC তে পাওয়ার প্রদান করবে। Arduino এর প্রতিটি পিন সর্বোচ্চ 40mA কারেন্ট সরবরাহ করতে সক্ষম, এবং 5V রেগুলেটর সর্বোচ্চ 200mA কারেন্ট সরবরাহ করতে সক্ষম। LED ম্যাট্রিক্সের জন্য বেশি কারেন্ট প্রয়োজন হয়।
স্টেপ ৩ঃ কোড
এখানে কোড দেওয়া হলো, যা LED ম্যাট্রিক্সে একটি স্মাইলি জেনারেট করবে। কোডটি সহজ এবং আপনি কোডের মধ্যে LED এর প্যাটার্ন পরিবর্তন করতে পারবেন।
#include <LedControl.h>
int DIN = 12;
int CS = 11;
int CLK = 10;
LedControl lc=LedControl(DIN,CLK,CS,0);
void setup() {
lc.shutdown(0,false); //The MAX72XX is in power-saving mode on startup
lc.setIntensity(0,15); // Set the brightness to maximum value
lc.clearDisplay(0); // and clear the display
}
}
void loop() {
byte smile[8] = {0x3C,0x42,0xA5,0x81,0xA5,0x5A,0x3C,0x00,};
printByte(smile);
delay(1000);
}
void printByte(byte character []) {
int i = 0;
for(i=0;i<8;i++)
{
lc.setRow(0,i,character[i]);
}
}
স্টেপ ৪ঃ লাইব্রেরি সেটআপ
কোডিং এর জন্য Arduino IDE সফটওয়্যার প্রয়োজন হবে।
Arduino IDE ডাউনলোড এবং সেটআপের পর LedControl Matrix Library প্রয়োজন, যা আপনি নিচের লিঙ্ক থেকে ডাউনলোড করতে পারবেন।
LedControl Matrix Library ডাউনলোড করতে:
LedControl Library Download
Library ইনস্টল করার প্রক্রিয়া:
- Arduino IDE সফটওয়্যার ওপেন করুন ।
- “Sketch” মেনু থেকে “Include Library” সিলেক্ট করুন।
- “Manage Libraries…” ক্লিক করুন।
- “Library Manager” এর ভিতরে “LedControl” সার্চ করুন।
- তারপর “Install” বাটনটিতে ক্লিক করুন।
এবার আপনি এই লাইব্রেরি ব্যবহার করে আপনার কোড চালাতে প্রস্তুত!
স্টেপ ৫ঃ প্যাটার্ন জেনারেশন
প্যাটার্ন তৈরি করতে আপনাকে Pixel to Matrix Converter প্রয়োজন। এই কনভার্টার ফাইলটি নিচে সংযুক্ত করা হয়েছে, আপনি এটি ডাউনলোড করে ব্যবহার করতে পারবেন।
Pixel to Matrix Converter ডাউনলোড করুন:
Pixel to Matrix Converter
কিভাবে প্যাটার্ন তৈরি করবেন:
- কনভার্টার টুলটি ডাউনলোড করুন এবং ওপেন করুন।
- টুলে আপনার প্রয়োজনীয় পিক্সেল প্যাটার্ন ডিজাইন করুন।
- ডিজাইন করার পর, টুলটি একটি hex array স্ট্রিং জেনারেট করবে।
- সেই hex স্ট্রিংটি কপি করুন এবং এটি sample code-এর মধ্যে পেস্ট করুন (যেমন আগের কোডে দেখানো হয়েছে)।