সুচিপত্র:

HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড বাস পাইরেটের জন্য: 9 টি ধাপ
HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড বাস পাইরেটের জন্য: 9 টি ধাপ

ভিডিও: HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড বাস পাইরেটের জন্য: 9 টি ধাপ

ভিডিও: HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড বাস পাইরেটের জন্য: 9 টি ধাপ
ভিডিও: #5 I2C লিকুইড ক্রিস্টাল ডিসপ্লে || ESP8266 FLPROG মই যুক্তি 2024, নভেম্বর
Anonim
বাস জলদস্যুদের জন্য HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড
বাস জলদস্যুদের জন্য HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড
বাস পাইরেটের জন্য HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড
বাস পাইরেটের জন্য HD44780 LCD থেকে I2C অ্যাডাপ্টার বোর্ড

HD44780 চিপসেটের উপর ভিত্তি করে সস্তা অক্ষরের এলসিডিগুলি বিভিন্ন আকারে আসে: 2x16, 4x20 ইত্যাদি। এই ডিসপ্লের দুটি স্ট্যান্ডার্ড ইন্টারফেস মোড, 4bit এবং 8bit সমান্তরাল। 8bit এর মোট 11 টি ডাটা লাইন প্রয়োজন, 4bit এর জন্য 7 (শুধুমাত্র লেখার জন্য 6) প্রয়োজন। কিছু এলসিডি একটি অতিরিক্ত সিরিয়াল ডেটা মোড সমর্থন করে, যেমন ভিএফডি I হ্যাক এ ডে এ আচ্ছাদিত। বাস পাইরেটে মাত্র 5 5 ভোল্ট সহনশীল I/O পিন আছে, তাই আমরা LCD নিয়ন্ত্রণ করার জন্য পর্যাপ্ত পিন সহ একটি ছোট অ্যাডাপ্টার বোর্ড তৈরি করেছি। বাস পাইরেট তার এলসিডি ইন্টারফেস লাইব্রেরির মাধ্যমে অ্যাডাপ্টার বোর্ড নিয়ন্ত্রণ করে। আমি Seeed স্টুডিও দ্বারা উত্পাদিত PCBs, কিট, অথবা একত্রিত কিটগুলি প্রায় 15 ডলারে পেতে পারি, বিশ্বব্যাপী শিপিং সহ, এখানে আরো কিছু। ব্লগ

ধাপ 1: হার্ডওয়্যার

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

এই নিবন্ধে আমরা HD44780- ভিত্তিক LCD গুলির জন্য একটি I2C অ্যাডাপ্টার বোর্ডের রূপরেখা দিয়েছি। আমরা এটি একটি বাস পাইরেট সার্বজনীন সিরিয়াল ইন্টারফেস দিয়ে প্রদর্শন করি। I2C- ভিত্তিক HD44780 ইন্টারফেস লাইব্রেরির জন্য বাস পাইরেট সোর্স কোড হল পাবলিক ডোমেইন, তাই এটি আপনার নিজের প্রকল্পের সাথে মানিয়ে নিতে বিনামূল্যে। হার্ডওয়্যারফুল সাইজ সার্কিট ইমেজ [PNG]। সার্কিট এবং পিসিবি কেডসফট agগলের বিনামূল্যে সংস্করণ দিয়ে ডিজাইন করা হয়েছিল। ডিজাইনের ফাইল বাস পাইরেট এসভিএন থেকে ডাউনলোড করা যাবে। অ্যাডাপ্টার বোর্ড ব্যবহার করার আগে, অ্যাডাপ্টার পিনআউটের বিপরীতে আপনার এলসিডির জন্য ডেটশীট যাচাই করতে ভুলবেন না। সব এলসিডি এক নয়। PCF8574 I/O সম্প্রসারণকারী IC এটি একটি সহজ 8 I/O সম্প্রসারণকারী চিপ যা দুই-তারের I2C ইন্টারফেসের মাধ্যমে নিয়ন্ত্রিত হয়। I2C ইন্টারফেস শিরোনাম JP1 থেকে অ্যাক্সেসযোগ্য। PCF8574 2.5 থেকে 5 ভোল্ট পর্যন্ত কাজ করে। I/O পিনগুলি সাপ্লাই ভোল্টেজে কাজ করে, তাই আমরা যদি এটিকে 5 ভোল্ট খাওয়াই তবে এটি 5 ভোল্টে এলসিডি ইন্টারফেস করে। C1 (0.1uF) বিদ্যুৎ সরবরাহের ওঠানামা থেকে IC কে decouples করে। PCF8574 এর একটি পিন বর্তমান সীমাবদ্ধ প্রতিরোধক R2 (1000 ohms) এর মাধ্যমে 3mm LED (LED1) নিয়ন্ত্রণ করে। এলইডি লাইট বাস পাইরেট এবং অ্যাডাপ্টারের মধ্যে সফল যোগাযোগ নির্দেশ করে। PCF8574 এলইডি চালানোর জন্য পর্যাপ্ত কারেন্ট উৎস করতে পারে না, তাই আমরা 5 ভোল্ট সাপ্লাই থেকে এলইডি কে বিদ্যুৎ দিই এবং স্থল পরিবর্তন করি। এলসিডি অ্যাডাপ্টার বোর্ড 4 বিট প্যারালাল ইন্টারফেস মোডে HD44780- ভিত্তিক ক্যারেক্টার এলসিডির সাথে যোগাযোগ করে। 4 বিট ইন্টারফেস পিন - RS, RW, EN, এবং D4 -D7 - PCF8574 I/O পিনের সাতটির সাথে সংযুক্ত। আমরা একটি এলসিডির সাথে অ্যাডাপ্টার সংযোগ করতে 0.1 "পুরুষ পিন হেডার ব্যবহার করতে পছন্দ করি, আপনি দ্রুত পরীক্ষার জন্য পর্যাপ্ত যোগাযোগ তৈরি করতে পিনগুলির বিরুদ্ধে এলসিডি ঝুঁকতে পারেন। এলসিডি হেডার আমরা ব্যাকলাইট পিনগুলিকে সংযুক্ত করিনি কারণ অনেকগুলি ভিন্ন ব্যাকলাইট স্টাইল আছে। একটি LED ব্যাকলাইটের জন্য পাওয়ার প্রদান করলে একটি স্ক্রিন ক্ষতিগ্রস্ত হতে পারে যার জন্য একটি নেগেটিভ ভোল্টেজ সাপ্লাই প্রয়োজন। হেডার জেপি 2। আমরা বাস পাইরেটের পুল-আপ প্রতিরোধকগুলিকে সংযুক্ত করার জন্য একটি দ্বিতীয় পাওয়ার সাপ্লাই পিন প্রদান করেছি। একটি একক পার্শ্বযুক্ত, একটি একক জাম্পার তারের সাথে সমস্ত ছিদ্র নকশা (লাল রঙে দেখানো হয়েছে)। আমরা বিশ্বব্যাপী শিপিং সহ প্রায় 15 ডলারে সিড স্টুডিও দ্বারা উত্পাদিত পিসিবি, কিট বা অ্যাসেম্বল্ড কিটগুলি পেতে পারি। সব তম রুক্ষ-গর্ত) C10.1uF/10volts+R110000 (10K) ohm single turn trimmer/potentiometer, 6mmR21000 (1K) ohm resistor, 1/4 wattLED13mm (T1) LED, redJP1+JP20.1 "male header, 5 pinsIC1PCF8574N, 8bit I2C I/O সম্প্রসারণকারী DIP16ICS116 পিন DIP সকেট IC1I এর জন্য কিছু ফরম্যাটিং উপাদান এবং এইচটিএমএল টেবিল একটি নির্দেশযোগ্যতে অন্তর্ভুক্ত করা যায়নি, আপনি মূল পোস্টটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে।

ধাপ 2: সংযোগ

সংযোগ
সংযোগ

ডিভাইস: HD44780 অক্ষর LCD. Bus: 4bit সমান্তরাল, PCF8574 I2C অ্যাডাপ্টার বোর্ডের সঙ্গে। পাওয়ার প্রয়োজনীয়তা: 5volts. রেফারেন্স: উদাহরণ ডেটশীট [PDF], HD44780 কমান্ড রেফারেন্স, HD44780 LCD uber-site। এই বিক্ষোভের জন্য সম্পূর্ণ বাস পাইরেট সেশন লগ বাস পাইরেট সার্বজনীন সিরিয়াল ইন্টারফেসের এলসিডি লাইব্রেরির জন্য অ্যাডাপ্টার ডিজাইন করেছে, কিন্তু এটি I2C প্রোটোকল বলতে পারে এমন যেকোনো কিছু নিয়ে কাজ করবে। একটি উদাহরণ I2C-> HD44780 বাস্তবায়নের জন্য বাস পাইরেট সোর্স কোডটি দেখুন। টেবিলে PCF8574 IC- এর কাঁচা সংযোগগুলিও দেখানো হয় যদি আপনি অ্যাডাপ্টার বোর্ড ছাড়া অনুসরণ করে থাকেন। অ্যাডাপ্টার এবং বাস পাইরেটের মধ্যে I2C সংযোগের জন্য 2 থেকে 10K এর মধ্যে পুল-আপ প্রতিরোধক প্রয়োজন। এখানে পুল-আপের সাথে মিশ্র ভোল্টেজ ইন্টারফেসিং, এবং বাস পাইরেট অন-বোর্ড পুল-আপ প্রতিরোধক সম্পর্কে আরও তথ্য আছে আমি একটি নির্দেশনায় কিছু ফরম্যাটিং উপাদান এবং এইচটিএমএল টেবিল অন্তর্ভুক্ত করতে পারিনি, আপনি মূল পোস্টটি দেখতে পারেন বিপজ্জনক প্রোটোটাইপ ব্লগে ।

ধাপ 3: ধাপ 1. সেটআপ লাইব্রেরি

ধাপ 1. সেটআপ লাইব্রেরি
ধাপ 1. সেটআপ লাইব্রেরি

ইন্টারফেসিং আমরা অ্যাডাপ্টারের নকশা এবং কিভাবে এটি বাস পাইরেটের সাথে সংযুক্ত করব তা কভার করেছি, এখন অবশেষে এলসিডিতে কিছু লেখার সময় এসেছে। HiZ> m <<11 <<1 <<ওয়াট <

p <<2 <<v <<< ভোল্টেজ রিপোর্ট পান ভোল্টেজ মনিটর: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<বাস পাইরেট টার্মিনালে 'm' টিপুন এবং LCD লাইব্রেরি নির্বাচন করুন। বর্তমানে এটি শুধুমাত্র এই প্রবন্ধের প্রথমার্ধে বর্ণিত PFC8574 অ্যাডাপ্টার ব্যবহার করে HD44780 অক্ষরের LCD সমর্থন করে (বিকল্প 1)। বিদ্যুৎ সরবরাহ (বড় 'W') এবং পুল-আপ প্রতিরোধক (মেনু 'p') সক্ষম করুন। ভোল্টেজ মনিটর (মেনু 'v') পরীক্ষা করুন এবং নিশ্চিত করুন যে পুল-আপ ভোল্টেজ (Vpullup) প্রায় 5 ভোল্ট পড়ে।

ধাপ 4: ধাপ 2. পুনরায় সেট করুন এবং আরম্ভ করুন

ধাপ 2. পুনরায় সেট করুন এবং আরম্ভ করুন
ধাপ 2. পুনরায় সেট করুন এবং আরম্ভ করুন
ধাপ 2. পুনরায় সেট করুন এবং আরম্ভ করুন
ধাপ 2. পুনরায় সেট করুন এবং আরম্ভ করুন

এই টেবিলে HD44780 LCD নিয়ন্ত্রণকারী একক-বাইট কমান্ডের রূপরেখা দেওয়া হয়েছে, এখানে একটি বিস্তারিত রেফারেন্স রয়েছে। এই কমান্ডগুলি বাস পাইরেট কমান্ড লাইন থেকে প্রবেশ করা যেতে পারে, কিন্তু সময় বাঁচানোর জন্য আমরা তাদের অধিকাংশের জন্য ম্যাক্রো তৈরি করেছি। এলসিডি> (0) <<< ম্যাক্রো মেনু দেখান 0। <LCD2 পুনরায় সেট করুন LCD শুরু করুন <<< LCD3 পুনরায় সেট করুন এবং আরম্ভ করুন LCD সাফ করুন <<< LCD পরিষ্কার করুন, কার্সারটি 04 তে ফেরত দিন।ম্যাক্রো 0 যেকোন বাস পাইরেট মোডের জন্য ম্যাক্রো মেনু প্রদর্শন করে। 1 <<< একক লাইন প্রদর্শন 2। একাধিক <<2 'রিসেট <<< ম্যাক্রো 2 একটি রিসেট ক্রম INIT << অন্তর্ভুক্ত করেপ্রারম্ভিক এলসিডি ম্যাক্রো (2) 4 বিট ইন্টারফেস মোডের জন্য স্ক্রিন কনফিগার করে, কার্সার প্রদর্শন সক্ষম করে এবং কয়েকটি অন্যান্য সহায়ক বিকল্প সেট করে। ডিসপ্লে লাইনের সংখ্যা কনফিগার করুন, সিঙ্গেল লাইন ডিসপ্লের জন্য 1 বা অন্য সব ডিসপ্লের জন্য 2 বেছে নিন। প্রারম্ভিকতার পরে, পর্দায় কোণায় দৃশ্যমান একটি কার্সার সহ পরিষ্কার হওয়া উচিত। যদি এটি কাজ না করে, I2C সংযোগ, পুল-আপ প্রতিরোধক, এবং বিদ্যুৎ সরবরাহ পরীক্ষা করুন, তারপর আবার চেষ্টা করুন 4 বিট বা 8 বিট ইন্টারফেস মোডের জন্য আরম্ভ করার আগে এইচডি 44780 এলসিডি একটি বিশেষ সংকেত ক্রম দিয়ে পুনরায় সেট করা প্রয়োজন। ম্যাক্রো 1 এই ক্রম তৈরি করে। ম্যাক্রো 2 রিসেট ক্রম অন্তর্ভুক্ত করে, তাই ম্যাক্রো 2 এর আগে ম্যাক্রো 1 ব্যবহার করার প্রয়োজন নেই।

ধাপ 5: ধাপ 3. পরীক্ষার অক্ষর লিখুন

ধাপ 3. পরীক্ষার অক্ষর লিখুন
ধাপ 3. পরীক্ষার অক্ষর লিখুন
ধাপ 3. পরীক্ষার অক্ষর লিখুন
ধাপ 3. পরীক্ষার অক্ষর লিখুন

LCD> (6:80) <<লেখার সংখ্যা ম্যাক্রো LCD কে 0 এবং 9 এর মধ্যে পরীক্ষার নম্বর দিয়ে পূরণ করে। লক্ষ্য করুন যে কার্সারটি প্রথম 0 0 এর অধীনে শেষ হয়। এলসিডি> (7:80) <<লেখার অক্ষর ম্যাক্রো LCD কে ASCII অক্ষর দিয়ে পূরণ করে, কোলনের পরে পরিমাণ লিখুন। লক্ষ্য করুন যে মুষ্টি রেখাটি তৃতীয়, তৃতীয়টি দ্বিতীয় এবং দ্বিতীয়টি শেষের দিকে চলছে। অক্ষরগুলি ধারাবাহিক নয় কারণ অক্ষর এলসিডিগুলি এক লাইন থেকে পরের দিকে মোড়ানো হয় না। আমরা এই বিষয়ে একটু পরে কথা বলব।

ধাপ 6: ধাপ 4. সাফ এলসিডি

ধাপ 4. সাফ এলসিডি
ধাপ 4. সাফ এলসিডি

LCD> (3) <<স্পষ্ট LCD ম্যাক্রো HD44780 কমান্ড পাঠায় যা স্ক্রিন মুছে দেয় এবং কার্সারটিকে প্রথম অবস্থানে ফিরিয়ে দেয়। ইন্টারফেসকে কমান্ড মোডে ([) সেট করতে '[0b1' 'লিখুন এবং ম্যাক্রো ছাড়াই HD44780 ক্লিয়ার স্ক্রিন কমান্ড (0b00000001) পাঠান।]

ধাপ 7: ধাপ 5. টাইপ টেক্সট

ধাপ 5. টাইপ টেক্সট
ধাপ 5. টাইপ টেক্সট
ধাপ 5. পাঠ্য টাইপ করুন
ধাপ 5. পাঠ্য টাইপ করুন

LCD> (8) <<< ব্যবহারকারী পাঠ্য সন্নিবেশ কর্সার অবস্থানে সন্নিবেশ করতে পাঠ্য লিখুন। HD44780 LCD ডেমো <<ধাপ 4 এ এলসিডি সাফ করার পরে, কার্সারটি প্রথম ব্লকে অবস্থিত। আমরা এটিকে ম্যাক্রো (4: 0) দিয়েও সেট করতে পারি, যা কার্সারটিকে প্রথম অক্ষরে নিয়ে যায়। কার্সার ম্যাক্রোতে পাঠ্য লিখুন ইনপুট চাওয়া হয়, এবং তারপর যখন আপনি এন্টার চাপুন তখন এলসিডিতে কপি করে। এলসিডি> (4: 0x40) <& lt

LCD> (8) <<< পাঠ্য সন্নিবেশ কর্সার অবস্থানে সন্নিবেশ করতে পাঠ্য লিখুন। বাস পাইরেট v2go <<দ্বিতীয় লাইনে লেখা একটু বেশি জটিল, এটি আসলে 4x20 LCD তে 64 অক্ষর দিয়ে শুরু হয়। আপনি যদি লাইন 1 (অক্ষর 20) এর শেষ থেকে লেখা চালিয়ে যান তবে আপনি তৃতীয় লাইনটির শুরুতে শেষ করবেন! এই পৃষ্ঠায় বেশিরভাগ অক্ষরের এলসিডি মাপের মেমরি মানচিত্রের একটি চমৎকার সংগ্রহ রয়েছে প্রথমত, আমরা দ্বিতীয় লাইনে কার্সারটি স্থাপন করি (4: 0x40)। এর পরে, 'ইনসার্ট টেক্সট' ম্যাক্রো আমাদের ইনপুট ধরে এবং এটি LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< একাধিক ম্যাক্রো সিনট্যাক্স কার্সার পজিশনে textোকানোর জন্য টেক্সট লিখুন। ফার্মওয়্যার v2.0+ <<< আমরা কার্সার অবস্থানে সন্নিবেশ করানোর জন্য এই লেখা লিখুন। বিপজ্জনক প্রোটোটাইপ <<বাস পাইরেট একই লাইনে একাধিক ম্যাক্রো গ্রহণ করে, তাই পুরো স্ক্রিনটি একবারে লেখা যায়। আমরা সিনট্যাক্সের একক লাইন দিয়ে শেষ দুটি লাইন লিখেছিলাম আমরা '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) ব্যবহার করতে পারি (8) 'এলসিডি সাফ করতে এবং একটি একক সিনট্যাক্স এন্ট্রি সহ চারটি লাইন লিখতে।

ধাপ 8: ধাপ 6. LCD থেকে পড়া

ধাপ 6. LCD থেকে পড়া
ধাপ 6. LCD থেকে পড়া

বাস পাইরেট এবং এলসিডি অ্যাডাপ্টার বোর্ড এলসিডি থেকে পড়তে পারে। আমরা পর্দায় আমাদের লেখা লেখাটি পড়ব (DDRAM), কিন্তু আপনি সঠিক ঠিকানা সেট করে সেটিংস এবং কাস্টম ক্যারেক্টার র্যাম (CGRAM) পড়তে পারেন। এলসিডি '] HD44780 RS LOW, কমান্ড মোড <<< সিলেক্ট পিন lowCMD লিখুন: 0x80 <<প্রথমে, আমরা বাস পাইরেটকে LCD কমান্ড রেজিস্টারে ([) ডেটা পাঠাতে বলি। পরবর্তী, আমরা DDRAM (xxxxxxx = 0000000) এর শুরুতে পিডি পয়েন্টার সেট করতে সেট DDRAM অ্যাড্রেস কমান্ড (0b1xxxxxxx) ব্যবহার করি। [LCD>] rrrrrrr <<< ডাটা মেমরি পড়ুন pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> পরিশেষে, বাস পাইরেটকে ডাটা মেমরি (]) থেকে পড়তে বলুন, এবং তারপর কয়েক বাইট (rrrrrrr) পড়ুন। আমরা "HD44780" পেয়েছি, 5 ম ধাপে স্ক্রিনে আমরা যে লেখাটি লিখেছিলাম আপনার সাতটি বাইট পড়ার জন্য শর্টকাট r: 7 ব্যবহার করতে সক্ষম হওয়া উচিত, কিন্তু এটি বর্তমান ফার্মওয়্যারে কাজ করছে না - আমরা এর আগে এটি ঠিক করব পরবর্তী প্রকাশ।

ধাপ 9: আরো কিছু করা

আরো করছেন
আরো করছেন

ধাপের একটি সাধারণ বিবরণ দাও HD44780 অক্ষর এলসিডি অ্যাডাপ্টার বাস পাইরেটের জন্য একটি সহজ সহায়ক। এটি একটি দ্রুত পরীক্ষা, বা আরো উন্নত যুক্তি বিকাশের জন্য ব্যবহার করা যেতে পারে। LCDs ছাড়াও, আটটি 2.5 ভোল্ট -5 ভোল্ট I/O পিন অন্যান্য উচ্চ পিন-কাউন্ট বাস পাইরেট অ্যাপ্লিকেশনের জন্য উপযোগী হতে পারে। আমাদের PCBs, কিট থাকতে পারে, অথবা Seeed স্টুডিও দ্বারা উত্পাদিত কিটগুলি প্রায় 15 ডলারে, বিশ্বব্যাপী শিপিং সহ, আরো এখানে।

প্রস্তাবিত: