পাঠ ২০/৩১: LCD1602-এ ভোল্টেজ প্রদর্শন
এই প্রকল্পটি একটি Arduino এবং I2C ইন্টারফেস সহ একটি LCD1602 ডিসপ্লে ব্যবহার করে কীভাবে একটি ডিজিটাল ভোল্টমিটার তৈরি করতে হয় তা প্রদর্শন করে। একটি পটেনশিওমিটার থেকে অ্যানালগ ভোল্টেজ পড়ে এবং এটি স্ক্রিনে প্রদর্শন করে, আপনি অ্যানালগ-টু-ডিজিটাল রূপান্তর, I2C যোগাযোগ এবং LCD নিয়ন্ত্রণের প্রয়োজনীয় দক্ষতা শিখবেন।
এই প্রকল্পটি অনেক ব্যবহারিক প্রয়োগের জন্য একটি দুর্দান্ত সোপান। এখানে কিছু ধারণা দেওয়া হল যা আপনি তৈরি করতে পারেন:
- আপনার প্রকল্পগুলির জন্য একটি পোর্টেবল ব্যাটারি ভোল্টেজ মনিটর তৈরি করা।
- ভিজ্যুয়াল ভোল্টেজ রিডআউট সহ একটি সাধারণ পাওয়ার সাপ্লাই তৈরি করা।
- একটি সোলার প্যানেল বা অন্যান্য পরিবর্তনশীল ভোল্টেজ উৎসের আউটপুট পর্যবেক্ষণ করা।
- যেকোনো অ্যানালগ সেন্সরের মান, যেমন একটি লাইট-ডিপেন্ডেন্ট রেজিস্টর (LDR), একটি পাঠযোগ্য সংখ্যা হিসাবে প্রদর্শন করা।
এই গাইডের শেষে, আপনি কীভাবে উপাদানগুলি সংযোগ করতে হয়, প্রয়োজনীয় লাইব্রেরিগুলি কনফিগার করতে হয় এবং আপনার নিজস্ব ভোল্টেজ ডিসপ্লে তৈরি করার জন্য কোড লিখতে হয় সে সম্পর্কে একটি স্পষ্ট ধারণা পাবেন।
হার্ডওয়্যার উপাদানসমূহ
এই প্রকল্পটি তৈরি করতে, আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে। কোর্সটি SunFounder 3-ইন-1 Arduino কিটের উপর ভিত্তি করে তৈরি, যার মধ্যে এই সমস্ত অংশ অন্তর্ভুক্ত রয়েছে।
- Arduino বোর্ড (যেমন, Uno)
- I2C মডিউল সহ LCD1602 ডিসপ্লে
- পটেনশিওমিটার (10kΩ সুপারিশকৃত)
- জাম্পার তার
- ব্রেডবোর্ড
LCD1602 এবং I2C মডিউল বোঝা
LCD1602 হল একটি জনপ্রিয় আলফানিউমেরিক ডিসপ্লে যার 16টি কলাম এবং 2টি সারি রয়েছে। একটি স্ট্যান্ডার্ড প্যারালাল LCD নিয়ন্ত্রণ করতে অনেক ডিজিটাল পিনের প্রয়োজন হবে। তবে, এই ডিসপ্লেটির সাথে এর পিছনে একটি ডেডিকেটেড I2C মডিউল সংযুক্ত থাকে (ভিডিওতে 01:30 এ)। এই মডিউলটি ওয়্যারিংকে নাটকীয়ভাবে সরল করে, সংযোগটি মাত্র চারটি তারে কমিয়ে দেয়: VCC, GND, SDA এবং SCL। এটি সম্ভব কারণ I2C মডিউলটি একটি সেতু হিসাবে কাজ করে, সহজ I2C সিরিয়াল সংকেতকে LCD-এর প্রয়োজনীয় প্যারালাল সংকেতে অনুবাদ করে।
এই প্রকল্পটি I2C ইন্টারফেস ব্যবহার করে, যা একটি যোগাযোগ প্রোটোকল যা আপনার Arduino-কে মাত্র দুটি তার ব্যবহার করে একাধিক ডিভাইসের সাথে কথা বলতে দেয়। এটি অনেক ধরণের সেন্সর এবং ডিসপ্লে সংযোগের জন্য একটি মৌলিক দক্ষতা।
ওয়্যারিং গাইড
Arduino-এর সাথে LCD এবং পটেনশিওমিটার সংযোগ করা সহজ। I2C মডিউলটির পাওয়ার এবং দুটি যোগাযোগ লাইন প্রয়োজন। পটেনশিওমিটারটি একটি পরিবর্তনশীল ভোল্টেজ ডিভাইডার হিসাবে কাজ করে, যা আপনাকে এর ওয়াইপার পিনে ভোল্টেজ সামঞ্জস্য করতে দেয়।
এখানে বিস্তারিত ওয়্যারিং সেটআপ দেওয়া হল:
- LCD I2C মডিউল থেকে Arduino:
- GND থেকে Arduino GND (ভিডিওতে 05:38 এ)।
- VCC থেকে Arduino 5V (ভিডিওতে 05:47 এ)।
- SDA থেকে Arduino A4 (ভিডিওতে 05:47 এ)।
- SCL থেকে Arduino A5 (ভিডিওতে 05:57 এ)।
- পটেনশিওমিটার থেকে Arduino:
- বাম পিন থেকে Arduino 5V (ভিডিওতে 33:39 এ)।
- মাঝের পিন (ওয়াইপার) থেকে Arduino A0 (ভিডিওতে 33:43 এ)।
- ডান পিন থেকে Arduino GND (ভিডিওতে 33:43 এ)।
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা
এই প্রকল্পের জন্য I2C-এর মাধ্যমে LCD নিয়ন্ত্রণ করতে একটি বাহ্যিক লাইব্রেরি প্রয়োজন। ভিডিওতে ব্যবহৃত লাইব্রেরিটি হল "Arduino Liquid Crystal I2C" লাইব্রেরি। আপনি এটি Robojax রিসোর্স পৃষ্ঠা বা GitHub থেকে প্রদত্ত লিঙ্ক থেকে ডাউনলোড করতে পারেন (ভিডিওতে 06:16 এ)।
এটি ইনস্টল করতে, লাইব্রেরিটি একটি ZIP ফাইল হিসাবে ডাউনলোড করুন। তারপর, আপনার Arduino IDE-তে, Sketch > Include Library > Add .ZIP Library... এ যান এবং ডাউনলোড করা ফাইলটি নির্বাচন করুন (ভিডিওতে 06:41 এ)।
আপনার LCD-এর I2C ঠিকানা খুঁজে বের করা
মূল কোড আপলোড করার আগে, আপনার নির্দিষ্ট LCD মডিউলের I2C ঠিকানা নির্ধারণ করা অত্যন্ত গুরুত্বপূর্ণ। প্রস্তুতকারকের উপর নির্ভর করে এই ঠিকানাটি পরিবর্তিত হতে পারে। ভিডিওটি এটি খুঁজে পেতে একটি I2C স্ক্যানার ব্যবহার করার পদ্ধতি প্রদর্শন করে (ভিডিওতে 08:11 এ)।
আপনি File > Examples > Wire > i2c_scanner এ গিয়ে এই স্ক্যানারটি খুঁজে পেতে পারেন। LCD সংযুক্ত অবস্থায় এই কোডটি আপনার Arduino-তে আপলোড করুন এবং সিরিয়াল মনিটর খুলুন। এটি ঠিকানাটি প্রদর্শন করবে, যা প্রায়শই 0x27 বা 0x3F হয়। আপনার মূল কোডে এই ঠিকানাটি ব্যবহার করতে হবে।
কোড ব্যাখ্যা
এই প্রকল্পের কোডটি একটি অ্যানালগ মান পড়া এবং প্রদর্শনের জন্য ফর্ম্যাট করার উপর দৃষ্টি নিবদ্ধ করে। আসুন মূল, ব্যবহারকারী-কনফিগারযোগ্য অংশগুলি ভেঙে দেখি।
1. লাইব্রেরি অন্তর্ভুক্তি এবং LCD অবজেক্ট
এই বিভাগটি প্রয়োজনীয় লাইব্রেরিগুলি অন্তর্ভুক্ত করে এবং আপনার LCD-এর জন্য একটি অবজেক্ট তৈরি করে। এখানে সবচেয়ে গুরুত্বপূর্ণ অংশ হল I2C ঠিকানা, যা আপনাকে অবশ্যই পরিবর্তন করে আগের ধাপে পাওয়া ঠিকানার সাথে মেলাতে হবে।
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// 16 বা 20 অক্ষর এবং 2 বা 4 লাইনের ডিসপ্লের জন্য LCD ঠিকানা 0x27 সেট করুন
LiquidCrystal_I2C lcd(0x27, 16, 2);#include <Wire.h>: এই লাইব্রেরিটি Arduino-তে অন্তর্নির্মিত এবং I2C যোগাযোগের জন্য প্রয়োজনীয়।#include <LiquidCrystal_I2C.h>: এটি আমাদের এইমাত্র ইনস্টল করা লাইব্রেরিটি অন্তর্ভুক্ত করে, যা LCD নিয়ন্ত্রণের জন্য ফাংশন সরবরাহ করে।LiquidCrystal_I2C lcd(0x27, 16, 2);: এই লাইনটিlcdনামে একটি অবজেক্ট তৈরি করে। প্রথম প্যারামিটার,0x27, হল I2C ঠিকানা যা আপনি আগে খুঁজে পেয়েছিলেন। দ্বিতীয় এবং তৃতীয় প্যারামিটার LCD-এর মাত্রা নির্ধারণ করে: 16 কলাম এবং 2 সারি। যদি আপনার ঠিকানা ভিন্ন হয় তবে আপনাকে0x27আপনার নির্দিষ্ট ঠিকানায় পরিবর্তন করতে হবে।
2. সেটআপ এবং লুপ ফাংশন
setup() ফাংশনটি LCD আরম্ভ করে এবং এর ব্যাকলাইট চালু করে। loop() ফাংশনে ভোল্টেজ পড়া এবং প্রদর্শনের মূল লজিক রয়েছে।
void setup()
{
lcd.begin();
lcd.backlight();
}
void loop()
{
int potValue = analogRead(A0);
float voltage = potValue * (5.0 / 1023.0);
// ... (LCD ডিসপ্লে কোড)
delay(1000);
}
lcd.begin(): এটি LCD ইন্টারফেস আরম্ভ করে এবং ব্যবহারের জন্য প্রস্তুত করে।lcd.backlight(): এটি ডিসপ্লের ব্যাকলাইট চালু করে, যা পাঠ্য দৃশ্যমান করে।int potValue = analogRead(A0);: এটি পিন A0 থেকে কাঁচা অ্যানালগ মান পড়ে, যা পটেনশিওমিটারের উইপারের সাথে সংযুক্ত। মানটি 0 থেকে 1023 এর মধ্যে একটি পূর্ণসংখ্যা হবে, যা 0V থেকে 5V ভোল্টেজ প্রতিনিধিত্ব করে।float voltage = potValue * (5.0 / 1023.0);: এটি গুরুত্বপূর্ণ রূপান্তর ধাপ। এটি কাঁচা ADC মানকে প্রকৃত ভোল্টেজ রিডিংয়ে রূপান্তর করে। সূত্রটি রেফারেন্স ভোল্টেজের (5.0V) সাথে সর্বোচ্চ ADC মানের (1023) অনুপাত দ্বারা কাঁচা মানকে গুণ করে। এটি প্রয়োজনীয় কারণ ADC সরাসরি ভোল্টেজ পড়ে না; এটি একটি আনুপাতিক সংখ্যা পড়ে।
3. ভোল্টেজ প্রদর্শন
কোডটি তারপর স্ক্রিন পরিষ্কার করে এবং দ্বিতীয় লাইনের একটি নির্দিষ্ট অবস্থানে ভোল্টেজ মান প্রিন্ট করে।
lcd.clear();
lcd.print("LCD1602 Tutorial");
lcd.setCursor (0,1); // ২য় লাইনের শুরুতে যান
lcd.print("Voltage:");
lcd.setCursor (9,1); // লাইন 2 অক্ষর 9 এ সেট করুন
lcd.print(voltage);
lcd.setCursor (13,1); // লাইন 2 অক্ষর 14 এ সেট করুন
lcd.print("V");
lcd.clear(): স্ক্রিন থেকে পূর্ববর্তী যেকোনো পাঠ্য পরিষ্কার করে।lcd.print("LCD1602 Tutorial"): প্রথম লাইনে শিরোনাম প্রিন্ট করে।lcd.setCursor (0,1): কার্সরকে দ্বিতীয় লাইনের শুরুতে সেট করে। প্রথম প্যারামিটার হল কলাম (0-15), এবং দ্বিতীয়টি হল সারি (0 প্রথম লাইনের জন্য, 1 দ্বিতীয়টির জন্য)।lcd.print(voltage): গণনা করা ভোল্টেজ মান প্রিন্ট করে।floatভেরিয়েবলটি ডিফল্টভাবে দুই দশমিক স্থান সহ প্রিন্ট হবে।lcd.setCursor (13,1): সংখ্যার ঠিক পরে "V" অক্ষরটি অবস্থান করতে দ্বিতীয় লাইনের কলাম 13 এ কার্সর সরায়।
লাইভ প্রকল্প প্রদর্শন
একবার আপনি কোড আপলোড করলে, LCD প্রথম লাইনে "LCD1602 Tutorial" প্রদর্শন করবে। দ্বিতীয় লাইনে, এটি "Voltage:" এবং তারপর বর্তমান ভোল্টেজ রিডিং দেখাবে। আপনি পটেনশিওমিটারের নব ঘোরানোর সাথে সাথে প্রদর্শিত ভোল্টেজটি রিয়েল-টাইমে পরিবর্তিত হবে, প্রায় 0.00V থেকে 5.00V পর্যন্ত (ভিডিওতে 35:25 এ)।
এই প্রকল্পটি একটি নিখুঁত উদাহরণ যে কীভাবে একটি কাঁচা অ্যানালগ সংকেত নিয়ে এটিকে একটি স্পষ্ট, মানব-পাঠযোগ্য মানে রূপান্তর করা যায়। আপনি এখানে যে দক্ষতাগুলি শিখেছেন তা ভবিষ্যতে আপনি ব্যবহার করতে পারেন এমন যেকোনো অন্যান্য অ্যানালগ সেন্সরে সরাসরি প্রয়োগ করা যেতে পারে।
ভিডিওটি অন্যান্য সম্পর্কিত বিষয়ও কভার করে, যেমন পাঠ্য প্রদর্শন, স্ক্রলিং এবং LCD-তে কাস্টম অক্ষর তৈরি করা।
এই ভিডিও থেকে সম্পর্কিত প্রকল্প
- পাঠ 20/31: Arduino দিয়ে LCD1602 ব্যবহার করে পাঠ্য প্রদর্শন | Robojax
- পাঠ 20/31: LCD স্ক্রিনে DHT11 থেকে তাপমাত্রা এবং আর্দ্রতা প্রদর্শন
অধ্যায়
- [00:00] LCD1602 এর ভূমিকা এবং প্রকল্পের ওভারভিউ
- [01:30] LCD1602 হার্ডওয়্যার এবং I2C মডিউল ব্যাখ্যা
- [04:06] জাম্পার দিয়ে I2C ঠিকানা সেট করা
- [05:28] LCD1602 এর জন্য ওয়্যারিং ডায়াগ্রাম
- [07:31] মৌলিক পাঠ্য প্রদর্শনের জন্য কোড ব্যাখ্যা
- [11:10] ব্লিংকিং কার্সর উদাহরণ প্রদর্শন
- [13:46] কাস্টম অক্ষর তৈরি এবং ব্যবহার
- [18:51] সিরিয়াল ডিসপ্লে উদাহরণ ব্যবহার
- [23:16] LCD-তে পাঠ্য স্ক্রলিং
- [26:13] DHT11 থেকে তাপমাত্রা এবং আর্দ্রতা প্রদর্শন
- [33:00] পটেনশিওমিটার থেকে ভোল্টেজ পড়া এবং প্রদর্শন
- [35:56] আল্ট্রাসোনিক সেন্সর থেকে দূরত্ব প্রদর্শন
This code has not been parsed yet. Please return to the admin panel to parse it.
আপনাকে যা প্রয়োজন হতে পারে
-
অ্যামাজনSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
অ্যামাজন
-
অ্যামাজন
-
অ্যামাজন
-
অ্যামাজন
সম্পদ ও রেফারেন্সসমূহ
-
ডকুমেন্টেশনDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
বাহ্যিকPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
ফাইলসমূহ📁
আর্ডুইনো লাইব্রেরি (জিপ)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
ব্যবহারকারীর ম্যানুয়াল
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB