جدول المحتويات:

شاشة 5V LCD مع Arduino due 3.3V I2C: 5 خطوات
شاشة 5V LCD مع Arduino due 3.3V I2C: 5 خطوات

فيديو: شاشة 5V LCD مع Arduino due 3.3V I2C: 5 خطوات

فيديو: شاشة 5V LCD مع Arduino due 3.3V I2C: 5 خطوات
فيديو: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, شهر نوفمبر
Anonim
شاشة ال سي دي 5 فولت مع اردوينو ديو 3.3 فولت I2C
شاشة ال سي دي 5 فولت مع اردوينو ديو 3.3 فولت I2C

يهدف هذا المنشور إلى شرح طريقة أسهل لاستخدام Arduino Due (أو لوحة 3.3 فولت أخرى) مع شاشة LCD 16x2 الشائعة مع وحدة محول I2C.

المشكلة الأولية هي أن شاشة LCD تحتاج إلى 5 فولت حتى تعمل الإضاءة الخلفية بشكل صحيح ، ولكن يجب أن تعمل دبابيس SCL و SDA عند 3.3 فولت للتواصل مع Arduino Due دون التسبب في أي ضرر. لحل هذه المشكلة ، وجدت خيارين:

الحل الأكثر ذكرًا هو استخدام محول المستوى المنطقي ثنائي الاتجاه ، والذي يحل المشكلة بالفعل. ولكنه يضيف أيضًا مكونًا آخر إلى قائمتك وتوصيلات أسلاك إضافية على دائرتك

الطريقة الأخرى التي وجدتها هي ببساطة إزالة مقاومين سحب في "حقيبة محول I2C" من شاشة LCD. إلى جانب كونها أسهل بكثير ، فإن لها مزايا أخرى موضحة في المقارنة في النهاية. هذه الطريقة هي المحور الرئيسي لهذا المنشور

اللوازم

اردوينو ديو

شاشة LCD 16x2 مع وحدة محول I2C

لحام حديد

مضخة لحام أو فتيل لحام

ملاقيط

الخطوة الأولى: أصل الحل

لم اخترع الحل من قبلي ، لقد رأيت اقتراحًا وشرحًا جيدًا على منتدى Arduino في الرابط أدناه ، والذي سأعيد إنتاجه في هذا المنشور.

forum.arduino.cc/index.php؟topic=553725.0

إجابة من: david_prentice

لم أتمكن من العثور على أي برنامج تعليمي كامل على الإنترنت ، ولأنها مشكلة شائعة جدًا ، فأنا أحاول تقديم الحل هنا بالتفصيل ، وأشهد أنه يعمل بالفعل ، وأضيف معلومات قد تخفف من بعض الشكوك حول نتائجه.

الخطوة الثانية: الشرح

الأجهزة

لكي يعمل اتصال I2C ، فإنه يتطلب مقاومات سحب متصلة بدبابيس SDA و SCL. ذلك لأن الأجهزة تقوم فقط بتحويل هذه المسامير إلى مستوى منخفض أثناء الاتصال. لتمثيل HIGH ، يجب فقط عدم إرسال LOW ، وبفضل عمليات السحب ، فإنه ينتقل إلى HIGH. (سيكون هذا الفهم مهمًا جدًا لاحقًا)

تحتوي شاشة LCD "حقيبة ظهر I2C" على اثنين من مقاومات السحب 4K7 التي تخدم متطلبات I2C. ولكن نظرًا لأنها متصلة بـ Vcc ، إذا كنت تستخدم 5 فولت ، فسوف يسحبون SDA و SCL إلى 5 فولت.

إذا نظرت إلى ورقة البيانات ، يمكنك أن ترى أنه ، على عكس اللوحات الأخرى ، فإن Due لديها بالفعل مقاومات سحب 1K5 مدمجة على دبابيس SDA و SCL الرئيسية الخاصة بها ، والتي تسحبها إلى 3.3 فولت.

الاختبارات

  • شاشة LCD -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

إذا قمت للتو بتوصيل شاشة LCD على Due (باتباع الأسلاك أعلاه) ، فإن عمليات السحب 1k5 (أو 1k0) المتصلة بـ 3.3 فولت وشاشات LCD 4K7 المتصلة بـ 5 فولت ستؤدي إلى خطوط I2C خاملة عند 3.7 فولت (3.6 فولت) مع 1 ك 0). هذا ليس جيدًا ، نظرًا لأن ورقة البيانات المستحقة تنص على حد أقصى للجهد يبلغ 3.6 فولت لخطوط الإدخال / الإخراج الخاصة بها.

من خلال اختبار هذا السيناريو ، باستخدام شاشة LCD فقط ، حصلت على 3 ، 56 فولت. بإضافة وحدة EEPROM إلى نفس SDA و SCL ، ارتفعت إلى 3.606 فولت. في كلتا الحالتين ، كان كل شيء يعمل بشكل طبيعي ، ولكن تلك بعيدة عن الجهد المثالي مع الأخذ بعين الاعتبار الحد الأقصى 3.6 فولت المنصوص عليه.

لذا ، نعم ، هناك احتمال أن تعمل تمامًا مثلما فعلت مع عدم إجراء أي تعديل. لكن مستوى الجهد لا يزال بعيدًا عن المثالية ، وقد يؤدي بعض التناقض في السحب المستحق أو شاشة LCD إلى تجاوز الحد الأقصى 3.6 فولت. (من المستحسن أن تختبر على الأقل قبل الاختبار بعناية باستخدام مقياس جهد 20K أو 100K ما هو أدنى مقاومة بين 5 V و SCL / SDA قبل أن يصلوا إلى 3.6 V ، على الرغم من أن بقية المحلول أكثر أمانًا وربما أسهل)

حل

الحل المقدم هو ببساطة إزالة مقاومات السحب من حقيبة الظهر LCD ، والتي تحاول سحب الخط حتى 5 فولت ، وبعد ذلك ، ستبقى فقط مقاومات السحب المدمجة ، مما يؤدي إلى سحب خطوط SCL و SDA إلى 3.3 فولت. عملت بشكل مثالي ، مع الحفاظ على المسامير الخاملة عند حوالي 3.262 فولت!

تظل الاتصالات كما هي:

  • شاشة LCD -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

إذا كنت تتساءل عما إذا كانت شاشة LCD لن تسحب الخط إلى 5 فولت لتمثل قيمة عالية عند الاتصال ، فتذكر أنه على I2C ، تسحب الأجهزة فقط الخطوط المنخفضة ، حيث يتم تمثيل الإشارة العالية عند عدم التداخل ، والتي ستكون 3.3 فولت من سحب على متن السفينة ديو.

أيضًا ، يعد 3.3 فولت كافيًا لحقيبة الظهر I2C لاعتبارها إشارة عالية.

الخطوة 3: تحديد وإزالة المقاومات

تحديد وإزالة المقاومات
تحديد وإزالة المقاومات
تحديد وإزالة المقاومات
تحديد وإزالة المقاومات

تظهر الصورة أعلاه باللون الأحمر مقاومات السحب التي وجدتها في الوحدة الخاصة بي.

تحديد

نظرًا لأن حقيبة محول LCD I2C قد تختلف ، فقد لا تكون المقاومات في نفس التكوين. لتحديد مقاومات السحب ، يمكنك استخدام مقياس متعدد مع اختبار الاستمرارية. يجب أن يكون لكل مقاوم سحب طرف واحد متصل بمسمار SCL أو SDA والطرف الآخر بـ Vcc.

في حالتي ، كان هناك ثلاثة من مقاومات 4K7 (472 في كود SMD) على السبورة. اثنان منهم فقط استوفيا المتطلبات المذكورة أعلاه ، مشيرين إلى أن هذه هي عمليات السحب التي كنا نبحث عنها!

لمزيد من الاحتياطات (إذا لم تكن 4K7 لسبب ما) ، قمت أيضًا باختبار المقاومات الأخرى وأكدت أن أيا منها لا يفي بالمتطلبات الخاصة بالسحب.

يزيل

الآن ، كل ما عليك فعله هو إزالةهم! من الأسهل إذا كان لديك مضخة لحام أو فتيل لحام وملاقط للمساعدة.

الخطوة 4: مقارنة بين الحلول

محول المستوى المنطقي ثنائي الاتجاه (ذ

الايجابيات:

لا تتطلب أي معدات لحام أو قدرة

سلبيات:

إعلانات المزيد من الكابلات وشركة ذات مسؤولية محدودة إلى قائمة مكونات القائمة الخاصة بك

اتصالات ميسيه مع المكونات الإضافية

أغلى قليلا

قم بإلغاء تثبيت مقاومات سحب شاشات الكريستال السائل

الايجابيات:

نتيجة نهائية أنظف

ربما يمكنك القيام بذلك على الفور ، دون الحاجة إلى انتظار شركة ذات مسؤولية محدودة

جيد بشكل خاص إذا كنت ترغب في تقليل تنوع المكونات وتعقيد التجميع في مشروع معقد أو تريد تكرارها

سلبيات:

يغير دائرة LCD (إذا كنت تريدها "جاهزة للاستخدام" مع Uno ، مع وجود سحب لأعلى 4K7 بالفعل ، يمكنك التراجع عن التغييرات بإعادة لحامها)

الخطوة 5: الاعتبارات النهائية

آمل أن يلقي هذا البرنامج التعليمي بعض الضوء على مشكلة التوافق هذه وبعض الحلول الممكنة لها.

إذا كان لديك أي أفكار تحسين أو تفسيرات أفضل أو حلول جديدة أو وجدت أي خطأ في المنشور ، فيرجى إخباري في التعليقات!:)

موصى به: