جدول المحتويات:
- الخطوة 1: توصيل الأسلاك MCP23008
- الخطوة 2: بناء مجلس
- الخطوة 3: استخدام وحدة المكتبة
- الخطوة الرابعة: برنامج Kitt Car
- الخطوة 5: 7 الجزء LED
- الخطوة السادسة: الخاتمة
فيديو: NODEMCU LUA ESP8266 مع MCP23008 8 Bit Port Expander IC: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
MCP23008 عبارة عن أداة توسيع I / O ذات 8 بت مع واجهة تسلسلية وتعمل بين 1.8 و 5.5 فولت ، لذا فهي مثالية لشرائح ESP8266 و Arduino و Raspberry Pi و PIC Chips والمزيد.
إذا كنت قد رأيت Instructable الآخر الخاص بي على MCP23017 ، فقد تتساءل عن سبب قيامي أيضًا بعمل واحد من أجل MCP23008 ، لأنه في الحقيقة إصدار أصغر من نفس الشيء.
الأسباب هي أن سجلاتها مختلفة في الاسم والرقم وأود أن أوضح كيفية استخدام وحدة مكتبة جاهزة. ليس كل شخص ماهرًا عند استخدام NodeMCU lua ، لذلك أود أن أوضح هذا الجانب من البرمجة وكذلك كيفية استخدام MCP23008.
المكتبة والبرامج متوفرة في github.com.
تتوفر ورقة البيانات الخاصة بـ MCP23008 من Microchip.
الخطوة 1: توصيل الأسلاك MCP23008
يتميز MCP23008 IC بتصميم بسيط وبناء لوحة سهلة للغاية. يمكنك أيضًا إعداد الدائرة على لوح الخبز.
تثبيت اتصالات على لوحي
- دبوس 18 (VDD) إلى 3v3
- دبوس 9 (VSS) إلى GND
- دبوس 7 (NC) إلى GND (غير ضروري)
- دبوس 1 (SCL) إلى ESP GPIO2
- دبوس 2 (SDA) إلى ESP GPIO0
- دبوس 5 (A0) إلى GND
- دبوس 4 (A1) إلى GND
- دبوس 3 (A2) إلى GND
- دبوس 6 (إعادة تعيين) إلى 3v3
قم بتوصيل المسامير لتتم قراءتها على Gnd على المنفذ A (دبابيس 10-17)
ملاحظة: هنا جميع دبابيس العنوان متصلة بـ Gnd لاستخدام MCP23008 على العنوان 0x20 في ناقل عنوان I2C.
إذا كنت تستخدم العنوان 0x21 ، فسيتم توصيل A0 بـ 3.3 فولت ، مع توصيل A1 و A2 بـ Gnd.
وبالمثل ، إذا كنت تستخدم العنوان 0x22 ، فسيتعين توصيل A1 بـ 3.3 فولت مع توصيل A0 و A2 بـ Gnd.
إلخ…
الخطوة 2: بناء مجلس
لقد استخدمت لوح شريط Vero مقاس 25 مم × 64 مم (9 صفوف × 25 فتحة) لبناء لوحي. إنه ضيق بعض الشيء ، ولكن نظرًا لأن معظم المسامير التي تحتاجها موجودة على جانبي IC ، فهي مناسبة لما يجب عليها القيام به.
لقد استخدمت 8 دبابيس و 8 مآخذ توصيل للمنفذ A حتى أتمكن من توصيل الوحدات النمطية المختلفة بالإضافة إلى الأسلاك الأخرى لمشاريع مختلفة. لقد أضفت دبابيس Gnd و 3.3V إضافية حيث أجد أن هناك دائمًا نقصًا في هذه عند توصيل الوحدات معًا.
الخطوة 3: استخدام وحدة المكتبة
تحتوي وحدات المكتبة عادةً على مجموعة مختارة من الإجراءات الفرعية والوظائف والمتغيرات التي يمكن الوصول إليها بواسطة برنامج آخر. البرنامج نفسه لا يعمل ، ولكن يمكن الوصول إلى وظائفه عن طريق البرنامج المتصل. هذا يعني أنه يمكنك الحصول على إجراءاتك الفرعية داخل المكتبة واستدعائها متى احتجت إليها ، وإجراء برنامج اتصال صغير. يصبح الأمر أكثر قيمة إذا كان لديك العديد من البرامج المختلفة التي تستخدم نفس الإجراءات الفرعية ، فلن تحتاج إلى تضمين الإجراءات الفرعية في كل برنامج.
ملاحظة: يحتاج برنامج mcp23008.lua إلى التحميل في ذاكرة ESP8266 مثل البرامج الأخرى.
لقد قمت بتضمين برامج github.com هنا بالإضافة إلى برنامج بسيط (test.lua) لإظهار أن المكتبة تعمل.
هناك طريقتان على الأقل لتضمين المكتبة في برنامجك.
تتطلب ("mcp23008")
mcp23008.begin (0x0، gpio2، gpio0، i2c. SLOW)
أو
mcp = يتطلب ("mcp23008")
mcp.begin (0x0، gpio2، gpio0، i2c. SLOW)
كلا الأمرين أعلاه يفعل نفس الشيء ، لكن الطريقة الثانية تسمح لك باستخدام المتغير الخاص بك بدلاً من اسم البرنامج.
الخطوة الرابعة: برنامج Kitt Car
لقد قمت بتضمين برنامج KittCar23008.lua و KittLib.lua الذي يستخدم المكتبة لإظهار الاختلافات في كيفية كتابة البرامج بهذه الطريقة. كلا البرنامجين يفعلون نفس الشيء.
يتوفر قابس 8 LED من Ebay كمجموعة ويعرف بـ 8 قنوات متدفقة للمياه LED DIY Kit ، 99p من الصين. عليك لحامها بنفسك.
ملاحظة: إذا كانت لديك مشكلة في محاولة تشغيل برنامج KittLib.lua ، فحاول توصيل دبوس RESET MCP23008 بـ Gnd للحظات. أعلم أن هذا سيعطي دائرة قصر مباشرة (لأنه متصل بـ 3.3 فولت) وعليك إعادة ضبط كل شيء آخر. إنه يعمل أيضًا عن طريق الاتصال بـ Gnd من خلال مقاوم 10 أوم ، ربما تكون طريقة أفضل للقيام بذلك.
لقد وجدت أيضًا أن KittLib.lua سيعمل بدون مشاكل بعد إجراء test.lua (لا تسألني لماذا؟)
لقد جربت طرقًا مختلفة لحل مشكلة برنامج KittLib.lua ، لكن حتى الآن لا يمكنني العثور على أي سبب منطقي لسبب تعطلها. هل لدى أي شخص أي أفكار؟
لم أكتب كل هذه البرامج بنفسي ، لذلك لا أستطيع أن أقول سبب وجود مشكلة ، على الرغم من أنه بعد النظر في الترميز ، لا يبدو أن هناك أي خطأ واضح.
الخطوة 5: 7 الجزء LED
كما هو الحال مع برنامج KittCar.lua أعلاه ، فقد قمت بتضمين برنامج مستقل ومعتمد على المكتبة لتشغيل شاشة LED ذات 7 أجزاء.
مرة أخرى ، يقوم كلا البرنامجين بنفس الشيء ، لكن يوضحان كيفية استخدام وحدة مكتبة إما كتبها بنفسك أو كتبها شخص آخر.
الخطوة السادسة: الخاتمة
لقد حاولت توضيح كيفية استخدام وحدات التعليمات البرمجية داخل بيئة Lua ، وتطبيقها على IC محدد في نفس الوقت.
على الرغم من أنني واجهت مشكلة في القيام بذلك ، أعتقد أن هناك ما يكفي لإظهار كيفية عمل هذه الوحدات بالإضافة إلى إظهار تطبيق واقعي.
موصى به:
NODEMCU LUA ESP8266 الاتصال بقاعدة بيانات MySQL: 6 خطوات
NODEMCU LUA ESP8266 الاتصال بقاعدة بيانات MySQL: هذا التوجيه ليس لأصحاب القلوب الضعيفة لأنه يستخدم XAMPP (Apache و MySQL & amp؛ PHP) و HTML وبالطبع LUA. إذا كنت واثقًا من معالجة هذه المشكلات ، فاستمر في القراءة! أنا أستخدم XAMPP حيث يمكن إعداده على محرك أقراص محمول أو محرك أقراص ثابتة لديك ويتم تكوينه
NODEMCU Lua ESP8266 مع ساعة الوقت الحقيقي (RTC) و EEPROM: 7 خطوات
NODEMCU Lua ESP8266 مع ساعة الوقت الحقيقي (RTC) و EEPROM: يعد الحصول على الوقت الصحيح أمرًا ضروريًا إذا كنت تريد الاحتفاظ بسجل بيانات. هناك طرق مختلفة للحصول على الوقت من مصادر على الإنترنت. قد تسأل لماذا لا تستخدم ESP8266 لتوفير الوقت لك؟ حسنًا ، يمكنك ذلك ، فلديه RTC داخلي خاص به (الوقت الحقيقي
وميض LED باستخدام البرنامج التعليمي ESP8266 NodeMCU Lua WiFi: 6 خطوات
Blink LED باستخدام ESP8266 NodeMCU Lua WiFi Tutorial: DESCRIPTIONNodeMCU هي منصة إنترنت الأشياء مفتوحة المصدر. يتضمن البرنامج الثابت الذي يعمل على ESP8266 WiFi SoC من Espressif ، والأجهزة التي تعتمد على وحدة ESP-12. المصطلح & quot؛ NodeMcu & quot؛ بشكل افتراضي يشير إلى برنامج الأفلام بدلاً من
كيفية التحكم في LED باستخدام ESP8266 NodemCU Lua WiFi من موقع الويب: 7 خطوات
كيفية التحكم في LED باستخدام ESP8266 NodemCU Lua WiFi من موقع الويب: سيعلمك هذا البرنامج التعليمي بعض الأساسيات حول استخدام ESP8266 NodemCU Lua WiFi للتحكم في LED من الويب. قبل أن تبدأ ، تأكد من حصولك على جميع المواد المطلوبة: ESP8266 NodeMCU Lua WiFi LED Breadboard Jumper (إذا لزم الأمر)
NODEMCU LUA ESP8266 مع MCP23017 16 Bit Port Expander IC: 6 خطوات (بالصور)
NODEMCU LUA ESP8266 مع MCP23017 16 Bit Port Expander IC: MCP23017 هو IC سهل نسبيًا لصنع لوحة لأنه يحتوي على المنفذين A و B على جانبي الشريحة والدبابيس بترتيب تسلسلي. وبالمثل ، فإن ناقل عنوان I2C هو جميعًا معًا أيضًا. هناك 2 دبابيس على هذا IC غير مستخدمين لأنه