
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36

I2C অ্যাডাপ্টার মডিউল সহ জনপ্রিয় LCD 16x2 ডিসপ্লের সাথে Arduino Due (বা অন্যান্য 3.3V বোর্ড) ব্যবহারের সহজ উপায় ব্যাখ্যা করার জন্য এই পোস্টের লক্ষ্য।
প্রাথমিক সমস্যা হল যে LCD এর ব্যাকলাইট সঠিকভাবে কাজ করার জন্য 5V প্রয়োজন, কিন্তু এসসিএল এবং এসডিএ পিনগুলি 3.3V এ কাজ করা উচিত যাতে কোন ক্ষতি না করেই Arduino কারণে যোগাযোগ করা যায়। এটি সমাধান করার জন্য, আমি দুটি বিকল্প খুঁজে পেয়েছি:
সবচেয়ে উল্লেখিত সমাধান হল দ্বি-নির্দেশমূলক লজিক লেভেল কনভার্টার ব্যবহার করা, যা প্রকৃতপক্ষে সমস্যার সমাধান করে। কিন্তু এটি আপনার তালিকায় আরেকটি উপাদান এবং আপনার সার্কিটে অতিরিক্ত তারের সংযোগ যোগ করে।
অন্য যেভাবে আমি খুঁজে পেয়েছি তা হল LCD থেকে "I2C অ্যাডাপ্টারের ব্যাকপ্যাক" এ 2 টি পুলআপ প্রতিরোধককে সরিয়ে দেওয়া। অনেক সহজ হওয়ার পাশাপাশি, এটির অন্যান্য সুবিধা রয়েছে যা শেষে তুলনাতে ব্যাখ্যা করা হয়েছে। এই পদ্ধতিটি এই পোস্টের মূল ফোকাস।
সরবরাহ
Arduino ডিউ
I2C অ্যাডাপ্টার মডিউল সহ LCD 16x2 ডিসপ্লে
তাতাল
সোল্ডারিং পাম্প বা সোল্ডারিং বেত
টুইজার
ধাপ 1: সমাধানের উৎপত্তি
সমাধানটি আমার দ্বারা উদ্ভাবিত হয়নি, আমি নীচের লিঙ্কে Arduino ফোরামে একটি সুন্দর পরামর্শ এবং ব্যাখ্যা দেখেছি, যা আমি এই পোস্টে পুনরুত্পাদন করব।
forum.arduino.cc/index.php?topic=553725.0
থেকে উত্তর: ডেভিড_প্রেন্টিস
আমি ইন্টারনেটে কোন সম্পূর্ণ টিউটোরিয়াল খুঁজে পাইনি এবং যেহেতু এটি একটি খুব সাধারণ সমস্যা, তাই আমি এখানে সমাধানটি বিস্তারিতভাবে উপস্থাপন করার চেষ্টা করছি, সাক্ষী যে এটি আসলে কাজ করে, এবং এমন তথ্য যোগ করুন যা এর ফলাফল সম্পর্কে কিছু সংশয় দূর করতে পারে।
পদক্ষেপ 2: ব্যাখ্যা
ডিভাইস
I2C যোগাযোগ কাজ করার জন্য, এটি SDA এবং SCL পিনের সাথে সংযুক্ত পুলআপ প্রতিরোধক প্রয়োজন। কারণ যোগাযোগের সময় ডিভাইসগুলি কেবল এই পিনগুলি কম ঘুরিয়ে দেয়। একটি উচ্চ প্রতিনিধিত্ব করার জন্য, এটি শুধুমাত্র একটি কম পাঠাতে হবে না, এবং pullups এটি উচ্চ যায়। (এই বোঝাপড়া পরে বেশ গুরুত্বপূর্ণ হবে)
LCD "I2C ব্যাকপ্যাক" এর দুটি 4K7 পুল-আপ প্রতিরোধক রয়েছে যা I2C এর প্রয়োজনীয়তা পূরণ করে। কিন্তু যেহেতু তারা Vcc এর সাথে সংযুক্ত, আপনি যদি 5 V ব্যবহার করেন, তাহলে তারা SDA এবং SC কে 5 V তে টেনে আনবে।
আপনি যদি ডেটশীটটি দেখেন, আপনি দেখতে পাচ্ছেন যে, অন্যান্য বোর্ডের মতো নয়, ডিউ এর ইতিমধ্যেই তার মূল এসডিএ, এসসিএল পিনগুলিতে 1K5 পুল-আপ প্রতিরোধক রয়েছে, যা তাদের 3.3 V তে টেনে নিয়ে যায়।
পরীক্ষা
- ডিসপ্লে এলসিডি -> আরডুইনো
- Gnd -> Gnd
- Vcc -> 5V
- এসডিএ -> এসডিএ
- এসসিএল -> এসসিএল
যদি আপনি শুধু এলসিডি ডিউতে সংযুক্ত করেন (উপরের ওয়্যারিং অনুসরণ করে), 1k5 (বা 1k0) ডিউ পুলআপগুলি 3.3V এর সাথে সংযুক্ত এবং 4K7 LCD পুলআপগুলি 5 V এর সাথে সংযুক্ত হলে 3.7 V (3.6 V) এ নিষ্ক্রিয় I2C লাইন হবে 1k0 সহ)। এটি ভাল নয়, যেহেতু ডিউ ডেটশীট তার I/O লাইনের জন্য সর্বোচ্চ 3.6 V এর ভোল্টেজ নির্ধারণ করে।
এই দৃশ্যকল্পটি পরীক্ষা করে, শুধুমাত্র LCD দিয়ে, আমি 3, 56 V পেয়েছি। একই SDA এবং SCL এ একটি EEPROM মডিউল যোগ করে, এটি 3.606 V পর্যন্ত গিয়েছে। উভয় ক্ষেত্রেই সবকিছু স্বাভাবিকভাবে কাজ করেছে, কিন্তু সেগুলি আদর্শ ভোল্টেজ থেকে অনেক দূরে মাত্রা 3.6 V নির্ধারিত সর্বোচ্চ।
তাই হ্যাঁ, একটি সুযোগ আছে যে এটি আমার মতো কাজ করবে যখন কোন পরিবর্তন না করে। কিন্তু ভোল্টেজের মাত্রা এখনও আদর্শ থেকে অনেক দূরে এবং ডিউ বা এলসিডি পুল -আপে কিছু অসঙ্গতির কারণে এটি 3.6 V সীমার উপরে যেতে পারে। (কমপক্ষে একটি 20K বা 100K পোটেন্টিওমিটার দিয়ে সাবধানে পরীক্ষা করার পরামর্শ দেওয়া হবে যা 5 V এবং SCL/SDA পিনের মধ্যে সর্বনিম্ন প্রতিরোধের 3.6 V হওয়ার আগে, যদিও বাকি সমাধানটি অনেক নিরাপদ এবং সম্ভবত সহজ)
সমাধান
উপস্থাপিত সমাধানটি হল কেবল LCD ব্যাকপ্যাক থেকে পুল-আপ প্রতিরোধকগুলি সরিয়ে ফেলা, যা 5 V পর্যন্ত লাইনটি টেনে নেওয়ার চেষ্টা করে। তারপর, কেবলমাত্র অনবোর্ডে পুল-আপ প্রতিরোধক থাকবে, এসসিএল এবং এসডিএ লাইনগুলি 3.3V এ টেনে আনবে । এটি নিখুঁতভাবে কাজ করে, প্রায় 3.262 V এ নিষ্ক্রিয় পিনগুলি বজায় রাখে!
সংযোগগুলি একই থাকে:
- এলসিডি ডিসপ্লে -> আরডুইনো
- Gnd -> Gnd
- Vcc -> 5V
- এসডিএ -> এসডিএ
- এসসিএল -> এসসিএল
যদি আপনি আশ্চর্য হন যে LCD যোগাযোগের সময় একটি উচ্চ প্রতিনিধিত্ব করার জন্য 5 V তে লাইনটি টানবে না, মনে রাখবেন যে I2C- এ ডিভাইসগুলি কেবল নিম্ন লাইনগুলি টানবে, হস্তক্ষেপ না করার সময় উচ্চ সংকেতটি প্রতিনিধিত্ব করবে, যা থেকে 3.3 V হবে ডু এর অনবোর্ড পুল-আপ।
এছাড়াও, I2C ব্যাকপ্যাককে একটি উচ্চ সংকেত হিসাবে বিবেচনা করার জন্য 3.3 V যথেষ্ট।
ধাপ 3: প্রতিরোধক সনাক্ত করুন এবং সরান


উপরের ছবিটি আমার মডিউলে পাওয়া পুলআপ প্রতিরোধক লাল দেখায়।
চিহ্নিত করুন
LCD I2C অ্যাডাপ্টারের ব্যাকপ্যাক পরিবর্তিত হতে পারে, প্রতিরোধক একই কনফিগারেশনে নাও থাকতে পারে। পুলআপ প্রতিরোধক সনাক্ত করতে, আপনি একটি ধারাবাহিকতা পরীক্ষা সহ একটি মাল্টিমিটার ব্যবহার করতে পারেন। প্রতিটি পুল-আপ প্রতিরোধকের একটি প্রান্ত এসসিএল বা এসডিএ পিনের সাথে এবং অন্য প্রান্তটি ভিসিসির সাথে সংযুক্ত হওয়া উচিত।
আমার ক্ষেত্রে, বোর্ডে 4K7 (SMD কোডে 472) এর তিনটি ছিল। তাদের মধ্যে মাত্র দুজন উপরের প্রয়োজনীয়তা পূরণ করেছে, এইগুলিকে নির্দেশ করে যেগুলি আমরা খুঁজছিলাম!
অতিরিক্ত সতর্কতার জন্য (যদি কিছু কারণে তারা 4K7 না হয়), আমি অন্যান্য প্রতিরোধকদেরও পরীক্ষা করেছিলাম এবং নিশ্চিত করেছিলাম যে তাদের কেউই পুল-আপ হওয়ার প্রয়োজনীয়তা পূরণ করেনি।
অপসারণ
এখন, আপনাকে যা করতে হবে তা হ'ল তাদের বর্জন করা! যদি আপনার কাছে সোল্ডারিং পাম্প বা সোল্ডারিং উইক এবং টুইজার থাকে তবে এটি সহজ।
ধাপ 4: সমাধানগুলির মধ্যে তুলনা
দ্বি-নির্দেশমূলক লজিক লেভেল কনভার্টার (এলএলসি)
পেশাদার:
কোন সোল্ডারিং সরঞ্জাম বা ক্ষমতা প্রয়োজন হয় না
কনস:
আপনার তালিকার উপাদান তালিকায় আরো কেবল এবং এলএলসি বিজ্ঞাপন দিন
অতিরিক্ত উপাদানগুলির সাথে মেসিয়ার সংযোগ
একটু বেশি ব্যয়বহুল
এলসিডি টান-আপ প্রতিরোধক Desolder
পেশাদার:
ক্লিনার চূড়ান্ত ফলাফল।
আপনি সম্ভবত এটি এখনই করতে পারেন, LLC এর জন্য অপেক্ষা করতে হবে না।
বিশেষ করে ভাল যদি আপনি একটি জটিল প্রকল্পের উপাদানগুলির বিভিন্নতা এবং সমাবেশের জটিলতা কমাতে চান অথবা যে আপনি প্রতিলিপি করতে চান।
কনস:
এলসিডি সার্কিট পরিবর্তন করে (যদি আপনি ইউনোর সাথে "ব্যবহার করার জন্য প্রস্তুত" চান, ইতিমধ্যে 4K7 পুলআপ রয়েছে, আপনি তাদের পুনরায় বিক্রয়ের পরিবর্তনগুলি পূর্বাবস্থায় ফেরাতে পারেন)
ধাপ 5: চূড়ান্ত বিবেচনা
আমি আশা করি এই টিউটোরিয়ালটি এই সামঞ্জস্যের সমস্যা এবং এর কিছু সম্ভাব্য সমাধানের উপর কিছু আলোকপাত করবে।
যদি আপনার কোন উন্নতির ধারণা, ভাল ব্যাখ্যা, নতুন সমাধান, বা পোস্টে কোন ত্রুটি পাওয়া যায়, দয়া করে আমাকে মন্তব্যগুলিতে বলুন!:)
প্রস্তাবিত:
Arduino এর সাথে 20x4 I2C ক্যারেক্টার এলসিডি ডিসপ্লে কিভাবে ব্যবহার করবেন: 6 টি ধাপ

Arduino এর সাথে 20x4 I2C ক্যারেক্টার এলসিডি ডিসপ্লে কিভাবে ব্যবহার করবেন: এই সাধারণ টিউটোরিয়ালে আমরা শিখব কিভাবে Arduino Uno এর সাথে 20x4 I2C ক্যারেক্টার এলসিডি ডিসপ্লে ব্যবহার করতে হয় একটি সাধারণ টেক্সট " হ্যালো ওয়ার্ল্ড। ভিডিওটি দেখুন
আরডুইনো এলসিডি ডিসপ্লে প্রিন্টিং: 4 টি ধাপ

আরডুইনো এলসিডি ডিসপ্লে প্রিন্টিং: আরডুইনোর জন্য সহজ এলসিডি রাইটিং কিভাবে করবেন এলসিডি লেখার জন্য এই এলসিডি প্রোগ্রামটি খুবই গুরুত্বপূর্ণ। এই একই সংযোগগুলি অনেক পরিমাপে তার পরিমাপ প্রদর্শন করতে ব্যবহার করা যেতে পারে
এলসিডি আক্রমণকারী: 16x2 এলসিডি ক্যারেক্টার ডিসপ্লেতে একটি স্পেস ইনভেডার্স গেমের মতো: 7 টি ধাপ

এলসিডি ইনভেডার্স: 16x2 এলসিডি ক্যারেক্টার ডিসপ্লেতে একটি স্পেস ইনভেডার্স গেমের মতো: একটি কিংবদন্তী "স্পেস ইনভেডার্স" গেম চালু করার দরকার নেই। এই প্রকল্পের সবচেয়ে আকর্ষণীয় বৈশিষ্ট্য হল এটি গ্রাফিক্যাল আউটপুটের জন্য পাঠ্য প্রদর্শন ব্যবহার করে। এটি 8 টি কাস্টম অক্ষর প্রয়োগ করে অর্জন করা হয়। আপনি সম্পূর্ণ Arduino ডাউনলোড করতে পারেন
এলসিডি স্টুডিওতে একটি কাস্টম ডিসপ্লে তৈরি করুন (জি 15 কীবোর্ড এবং এলসিডি স্ক্রিনের জন্য)।: 7 টি ধাপ

এলসিডি স্টুডিওতে একটি কাস্টম ডিসপ্লে তৈরি করুন (জি 15 কীবোর্ড এবং এলসিডি স্ক্রিনগুলির জন্য): ঠিক আছে যদি আপনি কেবল আপনার জি 15 কীবোর্ড পেয়ে থাকেন এবং এটির সাথে আসা মৌলিক ডিসপ্লেগুলি নিয়ে অত্যন্ত অসন্তুষ্ট হন তবে আমি আপনাকে এলসিডি স্টুডিও ব্যবহারের মূল বিষয়গুলি নিয়ে যাব। আপনার নিজের তৈরি করতে এই উদাহরণটি এমন একটি ডিসপ্লে তৈরি করবে যা শুধুমাত্র বেস দেখায়
এলসিডি স্মার্টির সাথে নেটওয়ার্কযুক্ত এলসিডি ব্যাকপ্যাক: 6 টি ধাপ

এলসিডি স্মার্টির সাথে নেটওয়ার্কযুক্ত এলসিডি ব্যাকপ্যাক: অক্ষর এলসিডি স্ক্রিন যা তথ্য স্ক্রোল করে একটি জনপ্রিয় কেস মোড। এগুলি সাধারণত একটি সমান্তরাল পোর্ট, সিরিয়াল পোর্ট ব্যাকপ্যাক বা ইউএসবি ব্যাকপ্যাক (আরও) এর মাধ্যমে নিয়ন্ত্রিত হয়। এই নির্দেশযোগ্য আমাদের ওপেন সোর্স ইথারনেট নেটওয়ার্ক LCD ব্যাকপ্যাক প্রদর্শন করে। এলসি