ESEN গ্রাহকদের অ্যাপ্লিকেশনের জন্য স্ট্যান্ডার্ড ক্যারেক্টার LCD মডিউলের বিস্তৃত পরিসর অফার করে। আপনি ন্যূনতম সংখ্যক কন্ট্রোল পিনের সাথে প্রদর্শন অর্জন করতে পারেন, এটি MCU নির্বাচন করা সহজ করে তোলে।
বাজারে সাধারণ অক্ষর LCD মডিউলগুলি চিত্র 1 হিসাবে I2C ইন্টারফেসকে সমর্থন করার জন্য একটি স্থানান্তর বোর্ড যুক্ত করবে, যা LCM পুরুত্ব বৃদ্ধি, উত্পাদনে আরও প্রক্রিয়া এবং নিম্ন ফলন হারের দিকে পরিচালিত করে।
| চিত্র 1:বাজারে সাধারণ চরিত্র LCD মডিউল যা I2C সমর্থন করার জন্য একটি স্থানান্তর বোর্ড যুক্ত করে। | চিত্র 2: ESEN এর 1602 ক্যারেক্টার লিকুইড ক্রিস্টাল মডিউল। এটি I2C এবং SPI ইন্টারফেস সমর্থন করে এবং অতিরিক্ত ট্রান্সমিশন বোর্ডের প্রয়োজন হয় না। |
আপনি একটি রিলে বোর্ড যোগ করতে হবে না. শুধু Arduino Uno ডেভেলপমেন্ট বোর্ড সংযোগ করুন, এবং আপনি সরাসরি বিভিন্ন যোগাযোগ ইন্টারফেস ব্যবহার করে অক্ষর LCD মডিউল নিয়ন্ত্রণ করতে পারেন।
LCM এর পিন সংজ্ঞায়িত করুন
টেবিল 1:LCM পিন সংজ্ঞায়িত করুন
| পিন নম্বর | প্রতীক | বর্ণনা |
|---|---|---|
| নং 1 | বনাম | স্থল |
| নং 2 | ভিডিডি | যুক্তির জন্য পাওয়ার সাপ্লাই |
| নং 3 | V0 | বৈসাদৃশ্য সমন্বয় |
| নং 4 | আরএস | কমান্ড/ডেটা নির্বাচন |
| নং 5 | আরডব্লিউ | শুধুমাত্র ইন্টারফেস 6800 8/4bit এর জন্য সিলেক্ট সিগন্যাল পড়ুন/লিখুন |
| নং 6 | ই | শুধুমাত্র ইন্টারফেস 6800 8/4bit এর জন্য সংকেত সক্ষম করুন |
| নং 7 | DB0/SA0 | শুধুমাত্র 6800 8bit ইন্টারফেসের জন্য ডেটা বাস লাইন 0 I2C ইন্টারফেসের জন্য SA0 ঠিকানা সেটিং লাইন |
| নং 8 | DB1/SA1 | শুধুমাত্র 6800 8bit ইন্টারফেসের জন্য ডেটা বাস লাইন 1 I2C ইন্টারফেসের জন্য SA1 ঠিকানা সেটিং লাইন |
| নং 9 | DB2 | শুধুমাত্র 6800 8bit ইন্টারফেসের জন্য ডেটা বাস লাইন 2 |
| নং 10 | DB3 | শুধুমাত্র 6800 8bit ইন্টারফেসের জন্য ডেটা বাস লাইন 3 |
| নং 11 | DB4 | শুধুমাত্র 6800 8/4bit ইন্টারফেসের জন্য ডেটা বাস লাইন 4 |
| নং 12 | DB5/CSB/CSB | শুধুমাত্র 6800 8/4bit ইন্টারফেসের জন্য ডেটা বাস লাইন 5 CSB I2C এবং SPI ইন্টারফেসের জন্য নির্বাচন লাইন সক্ষম করে |
| নং 13 | DB6/SDA/SCLK | শুধুমাত্র 6800 8/4bit ইন্টারফেসের জন্য ডেটা বাস লাইন 6 I2C ইন্টারফেসের জন্য SDA ডেটা লাইন SP ইন্টারফেসের জন্য SCLK সময় |
| নং 14 | DB7/SCL/SID | শুধুমাত্র 6800 8/4bit ইন্টারফেসের জন্য ডেটা বাস লাইন 7 I2C ইন্টারফেসের জন্য SCL টাইমিং লাইন SPI ইন্টারফেসের জন্য SID ডেটা লাইন |
| নং 15 | A+ | B/L+ এর জন্য পাওয়ার সাপ্লাই |
| নং 16 | কে- | B/L এর জন্য পাওয়ার সাপ্লাই - |
উপরের সারণীতে V0 সম্পর্কে, একটি 20k ওহম পরিবর্তনশীল রোধ অক্ষরের বৈসাদৃশ্য সামঞ্জস্য করতে ব্যবহৃত হয়। যদি পাঠ্যটি অদৃশ্য হয় বা এটি পরীক্ষার সময় ব্যাকগ্রাউন্ড ইমেজ প্রদর্শন করতে থাকে, তাহলে অনুগ্রহ করে বৈসাদৃশ্য সামঞ্জস্য করতে এই পরিবর্তনশীল প্রতিরোধকটি চালু করুন।
V0 ভেরিয়েবল রোধের সংযোগ পদ্ধতি চিত্র 3-তে দেখানো হয়েছে:
| চিত্র 3:V0 পরিবর্তনশীল প্রতিরোধক সংযোগ পদ্ধতি |
কিভাবে LCM এবং উন্নয়ন বোর্ড Arduino Uno সংযোগ করবেন
চারটি LCM কমিউনিকেশন ইন্টারফেস (I2C, SPI, 6800 8bit/4bit) এর সাথে Arduino Uno এর সংযোগের পদ্ধতিগুলি চিত্র 4-এ দেখানো হয়েছে। ব্যবহারকারীরা লক্ষ্য করতে পারেন যে I2C এবং SPI ইন্টারফেসে শুধুমাত্র ক্যারেক্টার LCD মডিউলগুলি নিয়ন্ত্রণ করার জন্য অল্প সংখ্যক GPIO পিনের প্রয়োজন।
I2C ইন্টারফেসের জন্য, যেহেতু Arduino Uno I2C পিনের ভিতরে পুল-আপ প্রতিরোধক প্রদান করে, তাই SDA এবং SCL পিনের সাথে সংযুক্ত কোনো অতিরিক্ত পুল-আপ প্রতিরোধক নেই। যদি প্রোগ্রামে অভ্যন্তরীণ পুল-আপ প্রতিরোধক অক্ষম থাকে, তাহলে একটি বহিরাগত পুল-আপ প্রতিরোধক অবশ্যই সংযুক্ত থাকতে হবে।
| (ক)I2C ইন্টারফেস সংযোগ | (খ)SPI ইন্টারফেস সংযোগ |
| (গ)6800-4বিট ইন্টারফেস সংযোগ | (ঘ)6800-8 বিট ইন্টারফেস সংযোগ |
| চিত্র 4:আরডুইনো ইউনোতে 4টি LCM যোগাযোগ ইন্টারফেসের সংযোগ পদ্ধতি। | |
LCM কমান্ড
প্রতিটি যোগাযোগ ইন্টারফেস LCM এর সম্পূর্ণ কমান্ড সেট ব্যবহার করতে পারে না; SPI ইন্টারফেসের সাথে, কোন RW কন্ট্রোল লাইন এবং MISO পিন নেই, তাই, রিড কমান্ড সমর্থিত নয়। লেখার জন্য, আরএস কন্ট্রোল লাইনের মাধ্যমে কমান্ড ডেটা লিখতে হবে নাকি ডেটা প্রদর্শন করতে হবে তা নির্ধারণ করতে।
I2C ইন্টারফেসে, কোন RW কন্ট্রোল লাইন নেই তাই রিড কমান্ডের জন্য কোন সমর্থন নেই। কমান্ড ডেটা বা ডিসপ্লে ডেটা লেখার আগে, কমান্ড কন্ট্রোল কোড (A0=0) বা ডেটা কন্ট্রোল কোড (A0=1) পাঠাতে হবে তা নির্ধারণ করতে যে পাঠানো হবে পরবর্তী বাইটটি কমান্ড ডেটা নাকি প্রদর্শন ডেটা।
SPI এবং I2C ইন্টারফেস টাইমিং
চিত্র 5 এবং চিত্র 6-এ দুটি টাইমিং ডায়াগ্রাম দেখানো হয়েছে। এটি SPI ইন্টারফেসের মাধ্যমে LCM নিয়ন্ত্রণ করার টাইমিং ডায়াগ্রাম। ব্যবহারকারীরা লক্ষ্য করতে পারেন যে LCM একটি SPI ব্যবহার করে যা একটি সাধারণ MCU দ্বারা প্রদত্ত সাধারণ SPI ইন্টারফেস নয়, এটির জন্য একটি অতিরিক্ত RS সংকেত লাইন প্রয়োজন তা নির্ধারণ করতে যে বর্তমান বাইট পাঠানো হচ্ছে একটি কমান্ড কিনা? বা ডেটা? ক্লক লাইন (SCLK) নিম্ন স্তরে থাকলে ডেটা লাইনের (SID) বিট ডেটা (BIT7~BIT0) পরিবর্তিত হয়। ক্লক লাইন (SCLK) উচ্চ স্তরের (BIT7~BIT0) হলে বিট (BIT7~BIT0) ডেটা ক্যাপচার করা হয়।
| চিত্র 5:SPI লেখার আদেশের সময় |
| চিত্র 6:SPI লেখার ডেটার সময় |
চিত্র 7 এবং 8 I2C ইন্টারফেসের মাধ্যমে LCM নিয়ন্ত্রণ করার সময় চিত্র দেখায়। চিপ সিলেক্ট বার (CSB) ব্যতীত, পাঠকরা লক্ষ্য করতে পারেন যে I2C ইন্টারফেস কন্ট্রোল একটি কমান্ড ডেটা বা ডিসপ্লে ডেটা লিখতে প্রতিবার তিনটি বাইট পাঠাতে হয়। তাদের মধ্যে, দ্বিতীয় বাইটের A0 বিট নির্ধারণ করবে তৃতীয় বাইটটি কমান্ড ডেটা না ডিসপ্লে ডেটা।
| চিত্র 7:I2C কমান্ড লেখার সময় |
| চিত্র 8:তথ্য লেখার I2C সময় |
কোড
প্রোগ্রাম সেটিংস পরিবর্তন করে LCM কম্পাইল এবং সরাসরি ব্যবহার করা যেতে পারে।
ধাপ1: LCM-এর একটি লাইনে সর্বাধিক সংখ্যক অক্ষর সেট করুন।
উদাহরণস্বরূপ, নিম্নলিখিতটি সর্বাধিক 16টি অক্ষর থাকতে একটি একক লাইন সেট করে।
![]()
ধাপ 2: LCM-এ সর্বোচ্চ সংখ্যক লাইন সেট করুন।
উদাহরণস্বরূপ, নিম্নলিখিতটি LCM-কে 2 লাইনে সেট করে।
![]()
ধাপ 3: LCM ইন্টারফেস সেট করুন।
উদাহরণস্বরূপ, নিম্নলিখিত সেট I2C ইন্টারফেস.
![]()
ধাপ 4: প্রোগ্রামটি কম্পাইল করুন এবং Arduino Uno ডেভেলপমেন্ট বোর্ডে আপলোড করুন।
চিত্র 9 তিনটি LCM এর পর্দার একটি পরিকল্পিত চিত্র দেখায়।
যখন ডিসপ্লে কন্ট্রাস্ট হালকা বা গাঢ় হয়, তখন V0 পিনের ভেরিয়েবল রেজিস্টরকে একটি উপযুক্ত কনট্রাস্টে সামঞ্জস্য করা যেতে পারে, যেমনটি চিত্র 10 এ দেখানো হয়েছে।
| (a) হালকা বৈসাদৃশ্য শুধুমাত্র হালকা অক্ষর দেখা যায়। | (b) উপযুক্ত বৈসাদৃশ্য | (c) গাঢ় বৈসাদৃশ্য প্রতিটি চরিত্রের একটি সুস্পষ্ট ছায়া আছে। |
|---|---|---|
| চিত্র 9:তিনটি LCM এর পর্দার একটি পরিকল্পিত চিত্র | ||
![]()
চিত্র 10:V0 পিন সামঞ্জস্যযোগ্য
আপনি সম্পূর্ণ ডেমো কোড চাহিদা থাকলে, আমাদের সাথে যোগাযোগ করুন.
ব্যক্তি যোগাযোগ: Mr. james
টেল: 13924613564
ফ্যাক্স: 86-0755-3693-4482