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

LCD COG لجهاز Arduino Nano: 3 خطوات
LCD COG لجهاز Arduino Nano: 3 خطوات

فيديو: LCD COG لجهاز Arduino Nano: 3 خطوات

فيديو: LCD COG لجهاز Arduino Nano: 3 خطوات
فيديو: Tiny PC Person 2024, يوليو
Anonim
LCD COG لاردوينو نانو
LCD COG لاردوينو نانو

يصف Instructable كيفية استخدام COG LCD مع Arduino Nano.

تعد شاشات COG LCD رخيصة الثمن ولكنها أصعب قليلاً في الواجهة. (يرمز COG إلى "Chip On Glass"). يحتوي الجهاز الذي أستخدمه على شريحة برنامج تشغيل UC1701. يتطلب فقط 4 دبابيس من Arduino: SPI-clock و SPI-data و chip-select و command / data.

يتم التحكم في UC1701 بواسطة ناقل SPI ويعمل عند 3.3 فولت.

هنا أنا أوصف كيفية استخدامه مع Arduino Nano. يجب أن تعمل أيضًا مع Arduino Mini أو Uno - سأجربها قريبًا.

هذا هو أول مشروع لي في Arduino ولم أكتب C منذ عقود ، لذا إذا ارتكبت أي أخطاء واضحة ، فيرجى إبلاغي بذلك.

الخطوة 1: بناء الأجهزة

بناء الأجهزة
بناء الأجهزة
بناء الأجهزة
بناء الأجهزة
بناء الأجهزة
بناء الأجهزة

قم بشراء شاشة COG LCD تحتوي على شريحة UC1701. يجب أن يستخدم ناقل SPI بدلاً من واجهة متوازية. سيحتوي على حوالي 14 دبوسًا سيتم تسميتها بأسماء مثل تلك المدرجة أدناه. (لا تريد واجهة متوازية بها الكثير من المسامير المسمى D0 و D1 و D2 …)

الذي اشتريته هو: https://www.ebay.co.uk/itm/132138390168 أو يمكنك البحث في eBay عن "12864 LCD COG".

اختر واحدة ذات ذيل عريض إلى حد ما مع دبابيس متباعدة عند 1.27 مم - سيكون من الصعب لحام المسامير الدقيقة. تأكد من احتوائه على شريحة UC1701. لاحظ كيف في الصورة السادسة على صفحة ebay ، تقول "الموصل: COG / UC1701".

الشاشة شفافة ومن الصعب معرفة أيهما هو الأمامي والخلفي. دراسة صوري بعناية. لاحظ مكان الدبابيس 1 و 14 - لقد تم تمييزهما على الذيل.

من السهل جدًا لحام الذيل المرن ولكنه يتطلب محولًا حتى تتمكن من توصيله بلوح التجارب. اشتريت: https://www.ebay.co.uk/itm/132166865767 أو يمكنك البحث في eBay عن "Adapter Smd SSOP28 DIP28".

يأخذ المحول شريحة SOP ذات 28 سنًا على جانب واحد أو شريحة SSOP ذات 28 سنًا على الجانب الآخر. تحتوي شريحة SOP على تباعد بين المسمار يبلغ 0.05 بوصة (1.27 مم) وهو نفس الجزء الخلفي من شاشة LCD.

ستحتاج أيضًا إلى بعض دبابيس الرأس. عندما أشتري Arduino أو وحدة أخرى ، فإنها تأتي مع دبابيس رأس أكثر مما هو مطلوب ، لذا فمن المحتمل أن يكون لديك بالفعل بعض. خلاف ذلك ، ابحث في eBay عن "دبابيس رأس 2.54 مم".

جندى 14 من دبابيس الرأس على المحول. لا تدفعهم طوال الطريق - سيكون أجمل إذا كان الجزء الخلفي من المحول مسطحًا. ضعه بشكل مسطح على مقعدك حتى لا يتم دفع المسامير بعيدًا في الثقوب. تأكد من وجود المسامير على جانب SOP من اللوحة (أي الشريحة الأكبر).

توجد حشوات الذيل في نوع من النافذة. كلا الجانبين من القصدير مع جندى. قم بقص بطانات المحول. أمسك ذيل المحول في مكانه ثم المس كل وسادة بمكواة اللحام (ستحتاج إلى طرف رفيع إلى حد ما).

اربط بعض الخيوط من خلال الفتحات الموجودة في المحول لتكون بمثابة تخفيف الضغط. (لقد استخدمت "سلك محول").

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

الخطوة 2: الاتصال بـ Arduino

الاتصال بأردوينو
الاتصال بأردوينو
الاتصال بأردوينو
الاتصال بأردوينو

يشرح هذا القسم كيفية الاتصال بـ Arduino Nano. سيكون مشابهًا جدًا لميني أو أونو لكنني لم أجربه بعد.

ادرس مخطط الدائرة.

يعمل Arduino Nano المتصل بمنفذ USB على 5 فولت. تعمل شاشة LCD عند 3.3 فولت. لذلك تحتاج إلى تشغيل شاشة LCD من دبوس 3V3 في Nano ولتقليل الجهد الكهربائي لكل دبوس تحكم من 5 فولت إلى 3.3 فولت.

دبوس شاشة LCD هو:

  • 1 سي إس
  • 2 RST
  • 3 قرص مضغوط
  • 4
  • 5 CLK
  • 6 SDA
  • 7 3V3
  • 8 0V Gnd
  • 9 VB0 +
  • 10 VB0-
  • 11
  • 12
  • 13
  • 14

CS هو Chip-Select. يتم سحبها إلى مستوى منخفض لتحديد (تمكين) شريحة UC1701. (قد يُطلق على CS اسم CS0 أو En أو ما شابه ذلك.)

تم إعادة تعيين RST. يتم سحبها إلى مستوى منخفض لإعادة ضبط الشريحة. (قد يسمى RST إعادة تعيين.)

القرص المضغوط هو أمر / بيانات. يتم سحبها إلى مستوى منخفض عند إرسال أوامر إلى الشريحة عبر SPI. إنه مرتفع عند إرسال البيانات. (قد يسمى القرص المضغوط A0.)

CLK و SDA هما دبابيس ناقل SPI. (قد يُطلق على SDA اسم SPI-Data. وقد يكون CLK هو SCL أو SPI-Clock.)

يتم استخدام VB0 + و VB0- بواسطة مضخة الشحن الداخلية للموديل UC1701. تولد مضخة الشحن الفولتية الفردية التي تحتاجها شاشة LCD. قم بتوصيل مكثف 100n بين VB0 + و VB0-. توصي وثائق UC1701 بـ 2 فائق التوهج لكنني لم أتمكن من رؤية اختلاف مع شاشة LCD المعينة هذه.

إذا كانت شاشة LCD لديك تحتوي على دبابيس VB1 + و VB1 ، فقم أيضًا بتوصيل مكثف 100n بينهما. (إذا كانت شاشة LCD الخاصة بك تحتوي على دبوس VLCD ، فيمكنك محاولة توصيل مكثف 100n بين VLCD و Gnd. لم يحدث فرق مع شاشة LCD الخاصة بي.)

قم بتوصيل شاشة LCD بـ Nano كما يلي:

  • 1 CS = D10 *
  • 2 RST = D6 *
  • 3 قرص مضغوط = D7 *
  • 5 CLK = D13 *
  • 6 SDA = D11 *
  • 7 3V3 = 3V3
  • 8 0V = Gnd

(تعني "*" استخدام مقسم محتمل لتقليل الجهد. إذا كان Arduino يعمل على 3V3 من مصدر مستقل ، فلن تحتاج إلى المقاومات.)

3.3 فولت يتم إخراجها بواسطة Nano ويمكن أن توفر تيارًا كافيًا لشاشة LCD. (الشاشة ترسم حوالي 250uA.)

يتم إخراج 5 فولت أيضًا بواسطة Nano ويمكن استخدامه لتشغيل الإضاءة الخلفية. حدد التيار في الإضاءة الخلفية بمقاوم 100 أوم.

إذا كنت تعاني من نقص في الدبابيس على Nano ، فيمكنك توصيل RST بـ 3V3 - ثم يمكنك استخدام D6 لشيء آخر. يمكن إعادة تعيين U1701 في البرنامج عن طريق أمر موجود في SPI. لم أواجه أي مشكلة في ذلك مطلقًا ، ولكن إذا كنت تستخدم دائرتك الخاصة في بيئة صاخبة ، فقد يكون من الأفضل استخدام إعادة تعيين الأجهزة.

الخطوة 3: البرمجيات

برمجة
برمجة

من الناحية النظرية ، يمكنك قيادة UC1701 من مكتبة U8g2 (أو Ucglib أو المكتبات الأخرى المتاحة). لقد كافحت لعدة أيام للحصول عليها للعمل وفشلت. مكتبة U8g2 هي وحش لأنها تستطيع تشغيل مجموعة كبيرة ومتنوعة من الرقائق ومن الصعب جدًا اتباع الكود. لذلك استسلمت وكتبت مكتبتي الصغيرة. يشغل مساحة أقل بكثير في Arduino (حوالي 3400 بايت بالإضافة إلى الخطوط).

يمكنك تنزيل مكتبتي من هنا (زر التنزيل في هذه الصفحة). يتم تضمين عينة رسم ودليل المستخدم. تصف صفحة الويب https://www.arduino.cc/en/Guide/Libraries كيفية استيراد مكتبة ؛ انتقل إلى قسم "استيراد مكتبة بتنسيق.zip".

قم بتهيئة شاشة LCD باستخدام

UC1701Begin () ،

يمكن أن يأخذ UC1701Begin معلمات لتغيير المسامير أو لتجاهل دبوس RST. تستخدم المكتبة SPI للأجهزة فقط (لا يتم توفير واجهة SPI للبرنامج). يمكن قلب الشاشة في محوري x و y. هذا مفيد إذا كنت تريد تركيب شاشة LCD في اتجاه مختلف.

تم تكرار العديد من الإجراءات من مكتبة U8g2:

  • ارسم خطا
  • DrawPixel
  • ارسم الخط
  • DrawVLine
  • DrawBox
  • DrawFrame
  • رسم دائرة
  • DrawDisc
  • رسم ممتلئ القطع
  • DrawEllipse
  • رسم مثلث
  • UC1701SetCursor
  • UC1701

تختلف بعض الإجراءات قليلاً:

  • DrawChar باطل (uint8_t c، word Font) ؛
  • باطل DrawString (char * s ، word Font) ؛
  • باطل DrawInt (int i ، word Font) ؛

يتم تمرير إجراءات رسم السلسلة إلى فهرس الخط. يتم الإعلان عن الخطوط في ذاكرة فلاش Arduino بحيث لا تشغل ذاكرة SRAM الثمينة. يتم توفير ثلاثة خطوط (صغيرة ومتوسطة وكبيرة). وهي متصلة فقط بذاكرة فلاش وتشغلها إذا كنت تستخدمها (حوالي 500 إلى 2000 بايت لكل منها).

يتم التعامل مع "اللون" بشكل مختلف عن مكتبة U8g2. عندما يتم مسح شاشة LCD ، فإنها تحتوي على خلفية مظلمة. إذا كانت MakeMark (متغير عام) صحيحة ، فسيتم الرسم باللون الأبيض. إذا كانت MakeMark خاطئة ، فسيتم الرسم في الظلام.

بعض الإجراءات خاصة بـ UC1701:

يتم رسم SetInverted باللون الأسود على الأبيض بدلاً من الأبيض على الأسود.

باطل SetInverted (bool inv) ؛

يتم ضبط سطوع وتباين UC1701 من خلال:

  • SetContrast باطلة (قيمة uint8_t) ؛ // المقترح هو 14
  • SetResistor باطلة (قيمة uint8_t) ؛ // المقترح هو 7

إنهم يعملون معًا بطريقة غير مرضية إلى حد ما.

يقوم SetEnabled بإيقاف تشغيل شاشة LCD:

SetEnabled (bool en) باطلة ؛

الشاشة تأخذ 4uA عند النوم. يجب عليك أيضًا إيقاف تشغيل الإضاءة الخلفية - قم بإخراجها من دبوس Nano. بعد إعادة التمكين ، سيتم إعادة تعيين UC1701 ؛ يتم مسح الشاشة وستتم إعادة ضبط التباين والمقاوم إلى قيمهما الافتراضية.

لذلك ، في الختام ، فإن شاشات COG رخيصة وذات حجم مناسب. من السهل توصيلها بأردوينو.

موصى به: