আরডুইনো বেসিক ৭-এলসিডি

ইতোমধ্যে এভিআর সিরিজের এলসিডি অধ্যায়ে এলসিডি সম্পর্কে বেসিক আলোচনা করা হয়েছে। মিটার জাতীয় প্রজেক্টের ডিসপ্লে হিসেবে এলসিডি বহুল প্রচলিত। বাসাবাড়ির বৈদ্যুতিক মিটারে, মোটর সাইকেলের স্পিডোমিটারে অহরহ আমরা এলসিডি দেখতে পাই। আরডুইনো আইডিইতে এলসিডির জন্য একটি লাইব্রেরি আছে যার নাম Liquidcrystal.h. এই লাইব্রেরি 16×2, 20×4,8×2 সব আকারের এলসিডিই সাপোর্ট করে। এই টিউটোরিয়ালে আমরা দেখবো কিভাবে আরডুইনো উনোর সাথে একটি 20×4 এলসিডি কানেক্ট করা যায়।

প্রয়োজনীয় যন্ত্রপাতিপরিমাণপ্রডাক্ট লিংক
Arduino Uno-R3(China)1http://bit.ly/2KhV84M
Breadboard1http://bit.ly/2IjyUPg
LCD display 20×41http://bit.ly/2LLRT6P
Variable resistor- 1031http://bit.ly/2IefR9e
Male to male jumpers15http://bit.ly/2IkA1hy
Male connector single row1http://bit.ly/2IiEYa5
Soldering iron1http://bit.ly/2tpXpF3
Solder lead(mini)1http://bit.ly/2DQTczw

সার্কিটঃ প্রথমে এলসিডির সাথে মেল কানেকটরটির ১৬ পিন সল্ডার করুন। আরডুইনো ও এলসিডির মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।

Arduino UNO-R3LCD
VCCVCC,A,Variable resistor’s 1 pin
GNDGND,K, RW, Variable resistor’s another pin
V0, 3rd pin of Variable resistor.
RS12
E11
D45
D54
D63
D72

কোডঃ

#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 4);
  // Print a message to the LCD.
  lcd.print("Arduino basic-7 LCD");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  lcd.print("This is a 20x4 LCD");
  lcd.setCursor(0, 2);
  lcd.print("Board: Arduino Uno");
  lcd.setCursor(0, 3);
  lcd.print("Time=");
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

লাইব্রেরি ও ফাংশন পরিচিতঃ

প্রোগ্রামের শুরুতে LiquidCrystal.h লাইব্রেরিটি ইনক্লুড করা হয়েছে। LiquidCrystal ক্লাসের জন্য lcd নামক একটি অবজেক্ট ক্রিয়েট করা হয়েছে। lcd.begin () ফাংশনটি এলসিডি ইনিশিয়ালাইজ করে। আমাদের ব্যবহৃত এলসিডির কলাম ও রো সংখ্যা যথাক্রমে ২০টি এবং ৪ টি হওয়ায় lcd.begin(20,4) লেখা হয়েছে। lcd.setCursor() ফাংশনটি দিয়ে এলসিডির কার্সরের অবস্থান নির্ধারণ করা হয়। এবং lcd.print() ফাংশনের মাধ্যমে এলসিডিতে যেকোনো শব্দ, বাক্য বা সংখ্যা লেখা হয়। যেমনঃ আমাদের প্রোগ্রামের দুটি লাইন আছে এমন-

lcd.setCursor(0, 1);

lcd.print("This is a 20x4 LCD");

তাই, আমাদের এলসিডিতে শূন্য নম্বর কলাম এবং ১ নম্বর রো তে ” This is a 20×4 LCD” বাক্যটি দেখা গেছে।

millis() ফাংশনটি দ্বারা আরডুইনো রিসেট হবার পর থেকে কত মিলিসেকেন্ড সময় পার হয়েছে তা দেখা যায়। মিলি সেকেন্ডকে ১০০০ দিয়ে ভাগ করলে আমরা সেকেন্ড পাব। এলসিডির সর্বশেষ রো তে সময়টি সেকেন্ডে দেখানো হয়েছে।

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.