Search Code

ESP32 টিউটোরিয়াল ১১/৫৫ - ESP32 এর সাথে LCD1602 LCD2004 ব্যবহার - SunFounder এর ESP32 IoT লার্নিং কিট

ESP32 টিউটোরিয়াল ১১/৫৫ - ESP32 এর সাথে LCD1602 LCD2004 ব্যবহার - SunFounder এর ESP32 IoT লার্নিং কিট

এই টিউটোরিয়ালে, আমরা ESP32 মাইক্রোকন্ট্রোলারের সাথে LCD1602 এবং LCD2004 কীভাবে ব্যবহার করতে হয় তা অন্বেষণ করব। এই LCD স্ক্রিনগুলো আমাদেরকে টেক্সট এবং অন্যান্য তথ্য কার্যকরভাবে প্রদর্শন করতে দেয়, যা আমাদের প্রকল্পগুলোকে ভিজ্যুয়াল ফিডব্যাক দিয়ে উন্নত করে। আমরা কনট্রাস্ট কীভাবে সামঞ্জস্য করতে হয় তাও শিখব যাতে পাঠযোগ্যতা নিশ্চিত হয়।

ESP32, যা SunFounder ESP32 IoT লার্নিং কিটের অংশ, এতে বিল্ট-ইন Wi-Fi এবং ব্লুটুথ ক্ষমতা রয়েছে, যা এটিকে বিভিন্ন IoT অ্যাপ্লিকেশনের জন্য একটি শক্তিশালী টুল করে তোলে। LCD-কে ESP32-এর সাথে সংযুক্ত করে, আমরা সহজেই আমাদের কোড থেকে বার্তা বা ডেটা আউটপুট প্রদর্শন করতে পারি, যা আমাদের প্রকল্পগুলোকে আরও ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী-বান্ধব করে তোলে (ভিডিওতে 00:30-এ)।

হার্ডওয়্যার ব্যাখ্যা

আমরা যে প্রধান উপাদানগুলো ব্যবহার করব তার মধ্যে রয়েছে ESP32 মাইক্রোকন্ট্রোলার এবং LCD1602 বা LCD2004 ডিসপ্লে মডিউল। ESP32 আমাদের প্রকল্পের মস্তিষ্ক হিসেবে কাজ করবে, ইনপুট প্রসেস করবে এবং আউটপুট নিয়ন্ত্রণ করবে, যার মধ্যে LCD ডিসপ্লেও রয়েছে।

LCD মডিউলটি I2C-এর মাধ্যমে যোগাযোগ করে, যা শুধুমাত্র দুটি ডেটা পিন (SDA এবং SCL) ব্যবহার করে যোগাযোগের জন্য ওয়্যারিং সহজ করে, সাথে পাওয়ার এবং গ্রাউন্ড সংযোগ থাকে। এই সেটআপটি একাধিক পিন সংযোগের জটিলতা উল্লেখযোগ্যভাবে হ্রাস করে, যা একটি পরিষ্কার এবং আরও পরিচালনাযোগ্য সার্কিট তৈরি করতে দেয়।

ডেটাশিট বিবরণ

প্রস্তুতকারক SunFounder
পার্ট নম্বর LCD1602
লজিক/আইও ভোল্টেজ 5 V
সাপ্লাই ভোল্টেজ 5 V
ডিসপ্লে সাইজ 16 x 2 অক্ষর
ব্যাকলাইট হ্যাঁ
ইন্টারফেস I2C
মাত্রা 80 x 36 মিমি
নোট / ভেরিয়েন্ট সাধারণত I2C ঠিকানা 0x27-এর সাথে ব্যবহৃত হয়

 

  • ক্ষতি রোধ করতে সঠিক ভোল্টেজ সাপ্লাই (5 V) নিশ্চিত করুন।
  • I2C লাইনে হস্তক্ষেপ কমাতে ছোট তার ব্যবহার করুন।
  • সর্বোত্তম কনট্রাস্ট দৃশ্যমানতার জন্য পটেনশিওমিটার সামঞ্জস্য করুন।
  • ডিসপ্লে শুরু না হলে I2C ঠিকানা পরীক্ষা করুন (সাধারণ ঠিকানা: 0x27, 0x3F)।
  • ওভারল্যাপ এড়াতে বার্তা আপডেট করার আগে ডিসপ্লে পরিষ্কার করুন।

ওয়্যারিং নির্দেশাবলী

ESP32-11_LCD-ওয়্যারিং-স্কিম্যাটিক
ESP32-11_LCD-wiring

LCD1602-কে ESP32-এর সাথে ওয়্যার করতে, প্রথমে LCD-এর গ্রাউন্ড পিনটি ESP32-এর গ্রাউন্ড পিনের সাথে সংযুক্ত করুন। তারপর, LCD-এর VCC পিনটি ESP32-এর 5V আউটপুটের সাথে সংযুক্ত করুন। I2C যোগাযোগের জন্য, LCD-এর SDA পিনটি ESP32-এর পিন 21-এর সাথে সংযুক্ত করুন এবং LCD-এর SCL পিনটি ESP32-এর পিন 22-এর সাথে সংযুক্ত করুন। কোনো যোগাযোগ সমস্যা এড়াতে সংযোগগুলো নিরাপদ কিনা তা নিশ্চিত করুন।

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে ESP32 3.3V লজিক লেভেলে কাজ করে, তবে LCD1602 সঠিক অপারেশনের জন্য 5V প্রয়োজন। তাই, LCD-এর ক্ষতি এড়াতে সঠিক ভোল্টেজ সাপ্লাই ব্যবহার করছেন কিনা তা নিশ্চিত করুন। আপনি যদি ভিন্ন LCD সাইজ ব্যবহার করেন, তাহলে I2C ঠিকানা এবং স্পেসিফিকেশন অনুযায়ী ওয়্যারিং সামঞ্জস্য করুন।

কোড উদাহরণ ও ওয়াকথ্রু

কোডে, আমরা I2C যোগাযোগ এবং LCD-এর জন্য প্রয়োজনীয় লাইব্রেরিগুলো অন্তর্ভুক্ত করে শুরু করি। আমরা I2C ঠিকানা 0x27 ব্যবহার করে LCD-এর একটি ইনস্ট্যান্স তৈরি করি এবং উল্লেখ করি যে এতে 16টি কলাম এবং 2টি সারি রয়েছে।

#include  
#include 

LiquidCrystal_I2C lcd(0x27,16,2);  // 16 অক্ষর এবং 2 লাইন ডিসপ্লের জন্য LCD ঠিকানা 0x27 সেট করুন

এই সেটআপটি আমাদের সহজেই LCD নিয়ন্ত্রণ করতে দেয়। setup() ফাংশনে, আমরা LCD শুরু করি এবং ব্যাকলাইট চালু করি, তারপর একটি স্বাগত বার্তা প্রিন্ট করি।

void setup()
{
  lcd.init(); // LCD শুরু করুন 
  lcd.backlight(); // LCD ব্যাকলাইট চালু করে।
  lcd.print("Hello, world!");   // LCD-এ একটি বার্তা প্রিন্ট করুন।
  delay(3000);
}

loop() ফাংশনে, আমরা ডিসপ্লে পরিষ্কার করে, কার্সর অবস্থান সেট করে এবং বর্তমান গণনা মান প্রিন্ট করে ক্রমাগত আপডেট করি। এটি প্রদর্শন করে যে LCD কীভাবে গতিশীলভাবে পরিবর্তনশীল তথ্য দেখাতে পারে।

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // কার্সর অবস্থান প্রথম সারি এবং প্রথম কলামে সেট করে (0, 0)।
  lcd.print("COUNT: ");
  lcd.print(count); // গণনা ভেরিয়েবলের বর্তমান মান প্রিন্ট করে।
  delay(1000);
  count++; // কাউন্টার 1 দ্বারা বৃদ্ধি করে। 
}

সম্পূর্ণ কোডটি নিবন্ধের নীচে লোড হবে, যেখানে আপনি সম্পূর্ণ বাস্তবায়ন এবং আপনার প্রকল্পের জন্য যোগ করা যেকোনো অতিরিক্ত কার্যকারিতা দেখতে পাবেন।

প্রদর্শন / কী আশা করবেন

সবকিছু সংযুক্ত হয়ে গেলে এবং কোড আপলোড করা হলে, LCD-তে "Hello, world!" 3 সেকেন্ডের জন্য প্রদর্শিত হওয়া উচিত, তারপর একটি কাউন্টার শুরু হবে যা প্রতি সেকেন্ডে বৃদ্ধি পাবে। আপনি পটেনশিওমিটার ব্যবহার করে কনট্রাস্ট সামঞ্জস্য করতে পারেন যাতে টেক্সটটি সহজে পড়া যায় (ভিডিওতে 08:45-এ)।

যদি কোনো সমস্যা হয়, তাহলে ওয়্যারিং সংযোগগুলো পরীক্ষা করুন এবং সঠিক I2C ঠিকানা ব্যবহার করা হচ্ছে কিনা তা নিশ্চিত করুন। একটি সাধারণ ভুল হল LCD-এর I2C ঠিকানা কোডে সেট করা ঠিকানার সাথে মেলানো না, যা ডিসপ্লেকে সঠিকভাবে কাজ করতে বাধা দিতে পারে।

ভিডিও টাইমস্ট্যাম্প

  • 00:00 শুরু
  • 1:47 LCD-এর পরিচিতি
  • 3:26 ডকুমেন্টেশন পেজ
  • 5:06 ESP32-এর সাথে LCD কীভাবে ওয়্যার করবেন
  • 9:07 Arduino-তে ESP32 বোর্ড এবং COMP পোর্ট নির্বাচন
  • 8:51 LCD লাইব্রেরি ইনস্টল করা
  • 10:06 LCD-এর জন্য I2C ঠিকানা খুঁজে বের করা
  • 14:00 Arduino কোড ব্যাখ্যা
  • 17:50 প্রদর্শন
  • 20:54 ESP32-এর সাথে LCD2004 ব্যবহার
  • 22:58 সবুজ LCD1602 নীলের চেয়ে ভালো

ছবি

ESP32_11-5-l2C.MOV_snapshot_00.02.763
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
ভাষা: C++
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//SDA->21,SCL->22 
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

int count = 0;

void setup()
{
  lcd.init();// initialize the lcd 
  lcd.backlight(); // Turns on the LCD backlight.
  lcd.print("Hello, world!");   // Print a message to the LCD.
  delay(3000);
}

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Prints the current value of the count variable.
  delay(1000);
  count++; // Increments the counter by 1. 
}

সম্পদ ও রেফারেন্সসমূহ

ফাইলসমূহ📁

কোনো ফাইল উপলব্ধ নেই।