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

شاشة LCD بتقنية 3 أسلاك HD44780 بأقل من دولار واحد: 5 خطوات
شاشة LCD بتقنية 3 أسلاك HD44780 بأقل من دولار واحد: 5 خطوات

فيديو: شاشة LCD بتقنية 3 أسلاك HD44780 بأقل من دولار واحد: 5 خطوات

فيديو: شاشة LCD بتقنية 3 أسلاك HD44780 بأقل من دولار واحد: 5 خطوات
فيديو: How To Make a DCMotor #SpeedControl using #Arduino, #LM298 Driver and Push buttons on #PWM technique 2024, يوليو
Anonim
شاشة LCD HD44780 بثلاثة أسلاك بسعر أقل من دولار واحد
شاشة LCD HD44780 بثلاثة أسلاك بسعر أقل من دولار واحد

في هذا الدليل ، سنتعلم كيف يمكننا توصيل شاشة LCD استنادًا إلى مجموعة شرائح HD44780 بحافلة SPI وقيادتها بثلاثة أسلاك فقط بأقل من دولار واحد. على الرغم من أنني سأركز على شاشة العرض الأبجدية الرقمية HD44780 في هذا البرنامج التعليمي ، فإن نفس المبدأ سيعمل إلى حد كبير مع أي شاشة LCD أخرى تستخدم ناقل بيانات متوازي 8 بت ، ويمكن تكييفها بسهولة شديدة لتناسب شاشات العرض مع حافلات بيانات 16 بت. عادة ما تكون شاشات العرض الأبجدية الرقمية القائمة على HD44780 (والمتوافقة) متوفرة في 16 × 2 (سطرين يتكونان من 16 حرفًا) و 20 × 4 تكوينات ، ولكن يمكن العثور عليها في العديد من الأشكال الأخرى. قد تكون الشاشة الأكثر تعقيدًا هي شاشة 40 × 4 ، وهذا النوع من العرض خاص لأنه يحتوي على جهازي تحكم HD44780 ، أحدهما للصف الثاني العلوي والآخر للصفين السفليين. تحتوي بعض شاشات LCD الرسومية على جهازي تحكم أيضًا. تعد شاشات LCD عالية الدقة HD44780 رائعة ورخيصة جدًا ويمكن قراءتها ويسهل التعامل معها. ولكن لديهم أيضًا بعض العيوب ، فهذه الشاشات تستهلك الكثير من دبابيس الإدخال / الإخراج عند الاتصال بـ Arduino. في المشاريع البسيطة ، هذا ليس مصدر قلق ، ولكن عندما تصبح المشاريع كبيرة ، مع الكثير من IO ، أو عندما تكون هناك حاجة إلى دبابيس معينة لأشياء مثل القراءة التناظرية أو PWM ، فإن حقيقة أن شاشات LCD هذه تتطلب 6 دبابيس على الأقل يمكن أن تصبح مشكلة. لكن يمكننا حل هذه المشكلة بطريقة رخيصة ومثيرة للاهتمام.

الخطوة 1: الحصول على المكونات

لقد استخدمت TaydaElectronics لمعظم المكونات التي استخدمتها في هذا المشروع. يمكنك الحصول على هذه الأجزاء على موقع ebay أيضًا ، ولكن لسهولة الاستخدام ، سأربطك بـ Tayda. قائمة التسوق 2 - حزمة 74HC595 DIP161 - رأس ذكر عام - 2 دبابيس. هذا ليس مطلوبًا ، لقد استخدمت هذا كوسيلة لتعطيل الإضاءة الخلفية بشكل دائم.3 - مكثف سيراميك - السعة 0.1 درجة فهرنهايت ؛ الجهد 50V1 - مكثف كهربائيا - السعة 10 درجة فهرنهايت ؛ الجهد 35V1 - مكثف السيراميك - السعة 220pF ؛ الجهد 50V1 - NPN-Transistor - الجزء # PN2222A * 1 - 1k Ω Resistor1 - مقياس الجهد التشذيب - أقصى مقاومة 5kΩ1 - 470 المقاوم * مع ترانزستور NPN ، ستظل الإضاءة الخلفية مطفأة حتى يتم تشغيلها بواسطة البرنامج. إذا كنت تريد تشغيل الإضاءة الخلفية بشكل افتراضي ، فاستخدم ترانزستور من نوع PNP. ومع ذلك ، يجب إجراء تغييرات في رمز المكتبة المقدمة. المجموع الفرعي لهذه القائمة هو 0.744 دولار. رأس الدبوس غير مطلوب أيضًا ، لذا يمكنك توفير 15 سنتًا هناك وسيكون الإجمالي الفرعي 0.6 دولارًا.

الخطوة 2: تعرف على أجهزتك # 1

تعرف على أجهزتك # 1
تعرف على أجهزتك # 1

هنا هو دبوس قياسي من HD44780 LCD ، وهو أيضًا مشابه جدًا لبعض شاشات LCD الرسومية أيضًا. يمكن أن يعمل HD44780 في وضعين: 1. وضع 4 بت ، حيث يتكون كل بايت يتم إرساله إلى شاشة LCD من جزأين 4 بت. 2. وضع 8 بت ، والذي سنركز عليه. تحتوي شاشة LCD على 16 دبوسًا في المجموع ، و 3 دبابيس تحكم و 8 دبابيس بيانات: RS - تتحكم في ما إذا كنا نريد إرسال أمر أو بيانات إلى شاشة LCD. حيث تعني كلمة "مرتفع" البيانات (حرف) وتعني كلمة "منخفضة" بايت الأمر. R / W - تتيح لك وحدة التحكم HD44780 القراءة من ذاكرة الوصول العشوائي الخاصة بها. عندما يكون هذا الدبوس "مرتفعًا" يمكننا قراءة البيانات من دبابيس البيانات الخاصة به. عندما تكون "منخفضة" يمكننا كتابة البيانات على شاشة LCD. على الرغم من أن خيار القراءة من شاشة LCD يمكن أن يكون مفيدًا في بعض الحالات ، إلا أننا لن نتجاوزه في هذا البرنامج التعليمي ، وسنقوم ببساطة بتثبيت هذا الدبوس للتأكد من أنه دائمًا في وضع الكتابة. E - E هو دبوس `` التمكين '' ، يتم تبديل هذا الدبوس "مرتفع" ثم "منخفض" لكتابة البيانات إلى ذاكرة الوصول العشوائي الخاصة به وعرضها في النهاية على الشاشة. DB0-7 - هذه هي دبابيس البيانات. في وضع 4 بت ، نستخدم فقط 4 بتات عالية DB4-DB7 ، وفي وضع 8 بت يتم استخدامها جميعًا. VSS - هذا هو الدبوس الأرضي. VCC - هذا دبوس الطاقة ، شاشة LCD تعمل من مصدر طاقة 5 فولت ، يمكننا بسهولة تزويده بالطاقة من دبوس Arduino's + 5v. Vo - هذا هو الدبوس الذي يسمح لك بضبط مستوى التباين للشاشة ، ويتطلب مقياس جهد ، وعادة ما يتم استخدام وعاء 5K أوم. مصدر الطاقة للإضاءة الخلفية. بعض شاشات LCD لا تأتي بإضاءة خلفية ، وتحتوي على 14 سنًا فقط. في معظم الحالات ، يتطلب هذا الدبوس أيضًا اتصال +5 فولت. LED- - هذا هو الأساس للإضاءة الخلفية. ** من المهم التحقق من ورقة بيانات شاشات العرض أو فحص PCB للتحقق من وجود مقاوم للإضاءة الخلفية ، وستقوم معظم شاشات LCD ببنائها -في هذه الحالة ، كل ما عليك فعله هو تطبيق الطاقة على LED + والأرضي على LED-. ولكن في حالة عدم احتواء شاشة LCD الخاصة بك على مقاوم مدمج للإضاءة الخلفية ، فمن المهم أن تضيف مقاومًا ، وإلا فإن الإضاءة الخلفية ستستهلك قدرًا كبيرًا من الطاقة وستحترق في النهاية. في معظم الحالات ، تكون طريقة توصيل شاشة LCD هذه بـ Arduino هي استخدامها في وضع 4 بت وتأريض دبوس R / W. بهذه الطريقة نستخدم دبابيس RS و E و DB4-DB7. التشغيل في وضع 4 بت له عيب صغير آخر حيث يستغرق وقتًا طويلاً لكتابة البيانات على الشاشة ضعف الوقت الذي يستغرقه في تكوين 8 بت. تبلغ مدة "ضبط" شاشة LCD 37 ميكروثانية ، وهذا يعني أنه يجب عليك الانتظار 37 ميكروثانية قبل إرسال الأمر التالي أو بايت البيانات إلى شاشة LCD. نظرًا لأنه في وضع 4 بت ، يتعين علينا إرسال البيانات مرتين لكل بايت ، فإن إجمالي الوقت المستغرق لكتابة بايت واحد يصل إلى 74 ميكروثانية. لا يزال هذا سريعًا بدرجة كافية ، لكنني أردت أن يحقق تصميمي أفضل النتائج الممكنة. يكمن حل مشكلتنا في عدد الدبابيس المستخدمة في محول من مسلسل إلى متوازي …

الخطوة 3: تعرف على أجهزتك # 2

تعرف على أجهزتك # 2
تعرف على أجهزتك # 2

ما سنفعله هو بناء مهايئ يأخذ نوعًا تسلسليًا من الاتصالات القادمة من Arduino ويحول البيانات إلى إخراج مواز يمكن تغذيته على شاشة LCD الخاصة بنا. يأتي في شريحة 74HC595. هذا سجل نوبات رخيص وسهل التشغيل. ما تقوم به في جوهرها هو أن تأخذ الساعة وإشارات البيانات التي تستخدمها لملء مخزن مؤقت داخلي 8 بت مع 8 بتات الأخيرة التي تم تسجيلها. بمجرد أن يتم إحضار دبوس 'Latch' (ST_CP) إلى "مرتفع" ، فإنه ينقل هذه البتات إلى مخرجاته الثمانية. يتميز 595 بميزة رائعة للغاية ، فهو يحتوي على دبوس إخراج بيانات تسلسلي (Q7 ') ، ويمكن استخدام هذا الدبوس في سلسلة ديزي 2 أو أكثر من 595 معًا لتشكيل محولات Serial to Parallel التي يبلغ عرضها 16 بت أو أكثر. لهذا المشروع سنحتاج 2 من هذه الرقائق. يمكن أيضًا تعديل المخطط للعمل مع 595 واحدًا في وضع 4 بت ، لكن هذا لن يتم تغطيته بواسطة هذا البرنامج التعليمي.

الخطوة 4: توصيل الأسلاك بالكامل

توصيل كل شيء
توصيل كل شيء

الآن بعد أن عرفنا كيف تعمل أجهزتنا ، يمكننا توصيلها بالكامل. في المخطط ، نرى 2595 شريحة ديزي مرتبطة ببعضها البعض لتشكيل خرج موازٍ 16 بت. الشريحة السفلية هي في الواقع الشريحة الرئيسية ، والجزء العلوي منها مقيد بالسلاسل. ما نراه هنا هو أن الجزء السفلي 595 يقود دبابيس بيانات شاشة LCD بتكوين 8 بت ، وتتحكم الشريحة العلوية في إشارة RS والإضاءة الخلفية عن طريق تشغيل الترانزستور أو إيقاف تشغيله. تذكر * ملاحظة حول الإضاءة الخلفية لشاشات الكريستال السائل على صفحة تعرف على جهازك رقم 1 ، في حالة عدم احتواء شاشة LCD على مقاوم للإضاءة الخلفية ، لا تنس إضافة واحد في دائرتك. في حالتي ، أتيت بالفعل بشاشات LCD بمقاوم مدمج ، لذلك تخطيت هذه الخطوة. يتم تطبيق التباين من خلال وعاء 5K أوم ، ويذهب دبوس واحد إلى GND والثاني يذهب إلى VCC والممسحة إلى دبوس Vo على شاشة LCD. المكثفات المستخدمة على شاشات LCD وخطوط 595 VCC هي مكثفات فصل ، فهي موجودة للتخلص من التداخل. إنها ليست ضرورية إذا كنت تعمل على لوح تجارب ، ولكن يجب استخدامها في حالة إنشاء نسختك الخاصة من هذه الدائرة لاستخدامها خارج "ظروف المختبر". ينشئ R5 و C9 في هذا الترتيب المحدد جدًا تأخير RC ، مما يضمن أن البيانات الموجودة في مخرجات 595 لديها وقت للاستقرار قبل تعيين دبوس التمكين على شاشة LCD على "مرتفع" ويقرأ البيانات. Q7 'من الجزء السفلي 595 يدخل في إدخال البيانات التسلسلية لـ 595 في الأعلى ، وهذا يخلق سلسلة ديزي من 595 ثانية وبالتالي واجهة 16 بت. يعد توصيل الأسلاك إلى Arduino أمرًا سهلاً. نستخدم تكوينًا مكونًا من 3 أسلاك ، باستخدام دبابيس SPI الخاصة بـ Arduino. هذا يسمح بنقل البيانات بسرعة كبيرة ، وعادة ما يستغرق إرسال 2 بايت إلى شاشة LCD حوالي 8 ميكروثانية. هذا سريع جدًا ، وهو في الواقع أسرع بكثير من الوقت الذي تستغرقه شاشة LCD لمعالجة البيانات ، وبالتالي يلزم تأخير 30 ميكروثانية بين كل عملية كتابة. تتمثل إحدى الفوائد الكبيرة جدًا لاستخدام SPI في مشاركة الدبابيس D11 و D13 مع أجهزة SPI الأخرى. هذا يعني أنه إذا كان لديك بالفعل مكون آخر يستخدم SPI ، مثل مقياس التسارع ، فسيستخدم هذا الحل دبوسًا إضافيًا واحدًا فقط لإشارة التمكين. في الصفحة التالية سنرى النتيجة. لقد قمت ببناء حقيبة ظهر على لوحة بيرفبورد وهي تعمل بشكل جيد للغاية بالنسبة لي حتى الآن.

الخطوة 5: النتيجة + المكتبة

النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة
النتيجة + المكتبة

"الصورة تساوي ألف كلمة" ، أنا أتفق مع هذا البيان ، لذا إليك بعض الصور للنتيجة النهائية لهذا المشروع. هذه صور للمنتج المكتمل ، عرض Fritzing PCB هو تخطيط لوحة الأداء الذي استخدمته لبناء حقيبة الظهر الخاصة بي. قد تجده مفيدًا إذا كنت ترغب في بناء ما يناسبك ، لقد أحببته كثيرًا لدرجة أنني صممت ثنائي الفينيل متعدد الكلور باستخدام DipTrace وطلبت مجموعة من 10 ثنائي الفينيل متعدد الكلور. سأحتاج إلى وحدتين أو ثلاث وحدات لنفسي ولكن سأجعل الباقي متاحًا بسعر رمزي عند استلامها. لذا إذا كان أي شخص مهتم ، يرجى إعلامي. * تحرير: مركبات ثنائي الفينيل متعدد الكلور هنا ، وهي تعمل. إليك معرض الصور الكامل لهذا المشروع ، بما في ذلك مركبات ثنائي الفينيل متعدد الكلور الفعلية. https://imgur.com/a/mUkpw#0 بالطبع لم أنس أهم شيء ، مكتبة لاستخدام هذه الدائرة معها. إنه متوافق مع مكتبة LiquidCrystal المضمنة في Arduino IDE ، بحيث يمكنك بسهولة استبدال الإعلانات الموجودة في الجزء العلوي من المخطط الخاص بك وليس عليك تغيير أي شيء آخر في الرسم التخطيطي الخاص بك. يوجد أيضًا مثال للرسم يوضح كيفية عمل كل وظيفة في المكتبة ، لذا تحقق من ذلك.

موصى به: