Arduino basic-7-LCD | আরডুইনো বেসিক ৭-এলসিডি
ইতোমধ্যে এভিআর সিরিজের এলসিডি অধ্যায়ে এলসিডি সম্পর্কে বেসিক আলোচনা করা হয়েছে। মিটার জাতীয় প্রজেক্টের ডিসপ্লে হিসেবে এলসিডি বহুল প্রচলিত। বাসাবাড়ির বৈদ্যুতিক মিটারে, মোটর সাইকেলের স্পিডোমিটারে অহরহ আমরা এলসিডি দেখতে পাই। আরডুইনো আইডিইতে এলসিডির জন্য একটি লাইব্রেরি আছে যার নাম Liquidcrystal.h. এই লাইব্রেরি 16×2, 20×4,8×2 সব আকারের এলসিডিই সাপোর্ট করে। এই টিউটোরিয়ালে আমরা দেখবো কিভাবে আরডুইনো উনোর সাথে একটি 20×4 এলসিডি কানেক্ট করা যায়।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রডাক্ট লিংক |
Arduino Uno-R3(China) | 1 | এখানে ক্লিক করুন |
Breadboard | 1 | এখানে ক্লিক করুন |
LCD display 20×4 | 1 | এখানে ক্লিক করুন |
Variable resistor- 103 | 1 | এখানে ক্লিক করুন |
Male to male jumpers | 15 | এখানে ক্লিক করুন |
Male connector single row | 1 | এখানে ক্লিক করুন |
Soldering iron | 1 | এখানে ক্লিক করুন |
Solder lead(mini) | 1 | এখানে ক্লিক করুন |
সার্কিটঃ প্রথমে এলসিডির সাথে মেল কানেকটরটির ১৬ পিন সল্ডার করুন। আরডুইনো ও এলসিডির মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।
Arduino UNO-R3 | LCD |
VCC | VCC,A,Variable resistor’s 1 pin |
GND | GND,K, RW, Variable resistor’s another pin |
V0, 3rd pin of Variable resistor. | |
RS | 12 |
E | 11 |
D4 | 5 |
D5 | 4 |
D6 | 3 |
D7 | 2 |
কোডঃ
#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() ফাংশনটি দ্বারা আরডুইনো রিসেট হবার পর থেকে কত মিলিসেকেন্ড সময় পার হয়েছে তা দেখা যায়। মিলি সেকেন্ডকে ১০০০ দিয়ে ভাগ করলে আমরা সেকেন্ড পাব। এলসিডির সর্বশেষ রো তে সময়টি সেকেন্ডে দেখানো হয়েছে।