کوڈ تلاش کریں

ESP32 ٹیوٹوریل 11/55 - ESP32 کے ساتھ LCD1602 LCD2004 استعمال کرنا - سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 11/55 - ESP32 کے ساتھ LCD1602 LCD2004 استعمال کرنا - سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

اس ٹیوٹوریل میں، ہم ESP32 مائیکروکنٹرولر کے ساتھ LCD1602 اور LCD2004 استعمال کرنے کا طریقہ سیکھیں گے۔ یہ LCD اسکرینیں ہمیں متن اور دیگر معلومات کو مؤثر طریقے سے ظاہر کرنے کی اجازت دیتی ہیں، جس سے ہمارے پروجیکٹس میں بصری فیڈ بیک شامل ہوتا ہے۔ ہم کنٹراسٹ کو ایڈجسٹ کرنے کا طریقہ بھی سیکھیں گے تاکہ پڑھنے میں آسانی ہو۔

ESP32، جو SunFounder ESP32 IoT لرننگ کٹ کا حصہ ہے، میں بلٹ ان Wi-Fi اور Bluetooth صلاحیتیں ہیں، جو اسے مختلف 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);  // LCD ایڈریس 0x27 سیٹ کریں 16 حروف اور 2 لائن ڈسپلے کے لیے

یہ سیٹ اپ ہمیں 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 LCD کو ESP32 کے ساتھ وائر کرنے کا طریقہ
  • 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. 
}

وسائل اور حوالہ جات

فائلیں📁

کوئی فائلیں دستیاب نہیں ہیں۔