SPI ডিসপ্লের ব্যবহার
একটা প্রোজেক্টের জন্য ডিসপ্লে অনেক ভূমিকা পালন করে থাকে। বিভিন্ন ডাটা দেখতে ব্যবহার করা হয়ে থাকে এই ডিসপ্লে। হোক ইউনিভার্সিটি প্রোজেক্ট কিংবা ইন্ডাস্ট্রিয়াল প্রোজেক্ট, সবাই চেষ্টা করেন মাইক্রোকন্ট্রোলারের অল্প সংখ্যক পিন ব্যবহার করে প্রোজেক্ট সম্পন্ন করতে। অনেকের শুরুটা হয়ে থাকে 16×2 LCD Display দিয়ে। এই ডিসপ্লের জন্য কমপক্ষে Arduino এর ৬টি পিন ব্যবহার করতে হয়। তাই আমাদের আজকের টিউটোরিয়ালে দেখাবো কিভাবে ৬ এর কম সংখ্যক পিন ব্যবহার করে ডিসপ্লেতে ডাটা দেখানো সম্ভব। তার জন্য রয়েছে SPI LCD Module. মাত্র ৩টি পিন ব্যবহার করে LCD তে ডাটা দেখানো যাবে। এতে রয়েছে মোট ৬টি পিন। ৩টি পিন সংযোগ হবে Arduino এর ডিজিটাল পিনে। এরপর VCC ও GND সংযোগ হবে Arduino এর 5V ও GND এর সাথে। SPI LCD Module এর বিশেষ বৈশিষ্ট্য এর BL = Backlight পিন। এই পিনে High (5V) সিগন্যাল দিলে Backlight ON হবে, Low (0V) দিলে Backlight OFF হবে। BL পিনের জন্য Arduino এর একটি ডিজিটাল পিন ব্যবহার করতে হবে। অন্যদিকে রয়েছে স্লাইড সুইচ, এটিকে ON-OFF করলেও Backlight ON-OFF হবে।
পিন ডায়াগ্রামঃ
কন্ট্রাস্ট এডজাস্টঃ ডানপাশের যে ভেরিয়েবল রেজিস্টর রয়েছে, এটি দ্বারা LCD এর কন্ট্রাস্ট হ্রাস-বৃদ্ধি করা হয়ে থাকে। পাওয়ার দেওয়ার পর একবার সঠিক কন্ট্রাস্ট সেট করে নিতে হবে
ব্যাকলাইট অন-অফঃ এটি একটি স্লাইড সুইচ। এই সুইচ দ্বারা LCD এর ব্যাকলাইট ON-OFF করতে হবে। লক্ষণীয় বিষয় হলো, যখন LCD Backlight মাইক্রোকন্ট্রলার দ্বারা নিয়ন্ত্রণ করবো তখন সুইচটি অবশ্যই OFF করে রাখতে হবে।
BL: এই পিনকে High (5V) ভোল্টেজ সাপ্লাই দিলে LCD Backlight LED জ্বলে উঠবে। Low (0V) দিলে অফ হবে।
প্রয়োজনীয় কম্পোনেন্টঃ
ডিসপ্লের সাথে যে সকল কম্পোনেন্টের প্রয়োজন হবে, তার তালিকা নিচে প্রদান করা হলো।
ক্রমিক নং | কম্পোনেন্টের নাম | মডেল | পরিমাণ | লিংক |
১ | SPI LCD Module 16X2 | MOD-00068 | ১টি | কম্পোনেন্ট লিংক |
২ | Arduino Uno R3 (China) | ARD-00028 | ১টি | কম্পোনেন্ট লিংক |
৩ | Male To Female Jumper Wire – Single | C&C-00071 | ১টি | কম্পোনেন্ট লিংক |
সার্কিট কানেকশনঃ
সার্কিট কানেকশন খুব ভালো করে দেখে দিতে হবে। অনেক সময় ছোট্ট ভুলের কারণে কম্পোনেন্টের ত্রুটি দেখা দেয়।
ডেমো কোডঃ
#include <LiquidCrystal_SR.h> LiquidCrystal_SR lcd(12, 13, 8); //DATA CLOCK LATCH int backlight = 7; void setup() { // Begin setup pinMode(backlight, OUTPUT); lcd.begin(16, 2); // set up the LCD's number of columns and rows: lcd.clear(); // clear the screen lcd.setCursor(0, 0); // put cursor at colon 0 and row 0 lcd.print("SPI LCD Module "); // print a text lcd.setCursor(0, 1); // put cursor at colon 0 and row 1 lcd.print(" techshopbd "); // print a tex // LCD Backlight Control for (int i=0; i<3; i++) { digitalWrite(backlight, HIGH); // LCD Backlight ON delay(1000); digitalWrite(backlight, LOW); // LCD Backlight OFF delay(1000); } digitalWrite(backlight, HIGH); // LCD Backlight ON } void loop() { }
লাইব্রেরীঃ
কোড আপলোড দেওয়ার পূর্বে LiquidCrystal_SR লাইব্রেরী যুক্ত করে নিতে হবে। অন্যথা কোড আপলোড হবেনা।
আউটপুটঃ
কোড সঠিকভাবে আপলোড হলে নিচের চিত্রের মত করে আউটপুট লক্ষ করবো।
সতর্কতাঃ
১। ৫ ভোল্টের অধিক ভোল্টেজ ডিসপ্লেতে দেওয়া যাবে না।
২। পাওয়ার দেওয়ার পূর্বে অবশ্যই সার্কিট কানেকশন ভালো করে দেখে নিতে হবে।
৩। BL পিন ব্যবহার করলে, স্লাইড সুইচত ON রাখা যাবে না।
৪। ত্রুটিযুক্ত জাম্পার ওয়্যার ব্যবহার হতে বিরত থাকতে হবে।
Eita ki EGS002 Pure Sine wave Module er sathe kaj korbe?
EGS002 Pure Sine Wave Module এর সাথে SPI ডিসপ্লেটি ইন্টারফেস করা যাবে না।