جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
هدفنا الرئيسي هنا هو إظهار تشغيل وحدة i2c التسلسلية لشاشة LCD 2x16 أو 20x4. باستخدام هذه الوحدة ، يمكننا التحكم في شاشات العرض المذكورة أعلاه أثناء استخدام دبابيس فقط (SDA و SCL). هذا يجعل الاتصال بسيطًا للغاية ويحرر العديد من كائنات GPI الأخرى لوحدة التحكم الدقيقة لدينا.
دعنا نعرض العملية على كل من UNO و ESP8266 Arduino. تحقق من ذلك!
الخطوة 1: Arduino Uno
الخطوة 2: WiFi ESP8266 NodeMcu ESP-12E
الخطوة 3: شاشة عرض LCD التسلسلية مقاس 16 × 2
الخطوة 4: الوحدة التسلسلية I2c
في هذا الجزء ، نعرض المحول الذي تم شراؤه بشكل منفصل. قمنا بلحام الشاشة الموازية في الخلف. من خلال دبابيس i2c ، ستتواصل الشاشة بعد ذلك مباشرة مع Arduino. لذلك ، من خلال متحكم دقيق ، سيقوم Arduino بإدارة جميع الأوامر على الشاشة ، مما يسهل الاتصال والبرمجة.
الخطوة 5: الوحدة التسلسلية I2c متصلة بشاشة LCD
الخطوة 6: التركيب باستخدام Arduino
الخطوة 7: التركيب باستخدام ESP8266
الخطوة 8: المكتبة
أضف مكتبة "LiquidCrystal_I2C" للاتصال بشاشة LCD.
قم بالوصول إلى الرابط وقم بتنزيل المكتبة.
قم بفك ضغط الملف ولصقه في مجلد مكتبات Arduino IDE.
C: / ملفات البرنامج (x86) / Arduino / المكتبات
الخطوة 9: كود المصدر
نبدأ بتعريف المكتبات والثوابت التي سنستخدمها مع الكود الخاص بنا.
# تضمين // responsável pela comunicação com a interface i2c
# تضمين // Responsável pela comunicação com o display LCD // Inicializa o display no endereço 0x27 // os demais parâmetros، são implários para o módulo convertar com o LCD // porém podemos utilizar os pinos normalmente sem interferência // parâmetro: POSITIVE> > Backligh LIGADO | سلبي>> Backlight desligado LiquidCrystal_I2C lcd (0x27 ، 2 ، 1 ، 0 ، 4 ، 5 ، 6 ، 7 ، 3 ، إيجابي) ؛
اقامة
هنا ، سنقوم فقط بتهيئة كائننا للتواصل مع الشاشة.
الإعداد باطل()
{// inicializa o display (16 colunas x 2 linhas) lcd.begin (16، 2)؛ // ou 20، 4 se for o display 20x4}
حلقة
سيقوم برنامجنا بجعل الشاشة تومض كل ثانية. هذا برنامج بسيط يتضمن بالفعل كل ما نحتاجه للتواصل مع الشاشة.
قم بتشغيل / إيقاف الإضاءة الخلفية ، ضع المؤشر على الكتابة.
حلقة فارغة()
{// acende o backlight do LCD lcd.setBacklight (HIGH) ؛ // posiciona o cursor para escrita //.setCursor(coluna، linha) lcd.setCursor (0، 0)؛ lcd.print ("FERNANDOK. COM") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("ACESSE !!!") ؛ تأخير (1000) ؛ // interalo de 1s // desliga o backlight do LCD lcd.setBacklight (LOW) ؛ تأخير (1000) ؛ // interalo de 1s}