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

ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15: 4 خطوات
ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15: 4 خطوات

فيديو: ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15: 4 خطوات

فيديو: ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15: 4 خطوات
فيديو: 3-позиционный интеллектуальный переключатель с активацией движения - Etekcity 2024, شهر نوفمبر
Anonim
ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15
ESP8266 باستخدام دبابيس GPIO0 / GPIO2 / GPIO15

التحديث الأول من يوليو 2018 - تمت إضافة ملاحظة حول إعادة البرمجة عندما يكون GPIO0 ناتجًا

هذه ملاحظة قصيرة جدًا حول كيفية استخدام دبابيس GPIO0 / GPIO2 و GPIO15 على الوحدة النمطية ESP8266.

تحديث: تحقق أيضًا من كيفية استخدام دبابيس ESP8266-01

مقدمة

ESP8266 عبارة عن شريحة منخفضة التكلفة تدعم تقنية wifi. يأتي في مجموعة متنوعة من أنواع الوحدات ويمكن برمجته بعدة طرق. تتيح جميع الوحدات الوصول إلى GPIO0 و GPIO2. تتيح معظم الوحدات ، بخلاف ESP8266-01 ، إمكانية الوصول إلى GPIO15. تتحكم GPIO في كيفية بدء تشغيل الوحدة ، وبالتالي تتطلب معالجة خاصة إذا كان سيتم استخدامها على الإطلاق. يتطلب GPIO6-GPIO11 أيضًا معاملة خاصة كما هو موضح أدناه.

الخطوة 1: فلاش دبابيس GPIO - GPIO6 إلى GPIO11

تحتوي معظم لوحات ESP8266 على شريحة فلاش متصلة ببعض أو كل GPIO6-GPIO11. تستخدم معظم البرامج ذاكرة فلاش ، بالإضافة إلى ذاكرة الوصول العشوائي ، لذلك ما لم تتأكد على وجه التحديد من أن الكود الخاص بك يعمل فقط من ذاكرة الوصول العشوائي ، فلا يمكنك استخدام هذه الدبابيس لأغراض أخرى.

يعتمد العدد الدقيق للدبابيس المستخدمة في النطاق من GPIO6 إلى GPIO11 على نوع أجهزة الفلاش المستخدمة في الوحدة الخاصة بك. يستخدم Quad IO 4 خطوط للبيانات (إجمالي 6 دبابيس) بما يصل إلى 4 أضعاف السرعة القياسية. يستخدم الإدخال / الإخراج المزدوج سطرين للبيانات (إجمالي 4 دبابيس) يستخدم المعيار خطًا واحدًا للبيانات (إجمالي 3 دبابيس).

ما لم تكن تعرف بالضبط ما تتطلبه اللوحة الخاصة بك ، فمن الأفضل تجاهل GPIO6 إلى GPIO11 وعدم الرجوع إليها من التعليمات البرمجية الخاصة بك.

الخطوة 2: دبابيس GPIO0 و GPIO2 و GPIO15

دبابيس GPIO0 و GPIO2 و GPIO15
دبابيس GPIO0 و GPIO2 و GPIO15

تحدد هذه الدبابيس الوضع الذي تبدأ فيه الشريحة.

لتنفيذ البرنامج العادي ، يجب سحب GPIO0 و GPIO2 إلى Vcc (3.3 فولت) ويجب سحب GPIO15 إلى GND ، ولكل منهما المقاوم في النطاق 2K إلى 10K المقاوم. يوفر المقاوم 2K مناعة أفضل للضوضاء. يستخدم OLIMEX مقاومات 2K يستخدم SparkFun مقاومات 10K. أستخدم المقاومات 3K3.

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

الخطوة 3: استخدام GPIO0 و GPIO2 و GPIO15 كمخرجات

استخدام GPIO0 و GPIO2 و GPIO15 كمخرجات
استخدام GPIO0 و GPIO2 و GPIO15 كمخرجات

كما هو مذكور أعلاه ، سيكون لهذه المسامير بالفعل مقاومة متصلة إما بـ VCC (GPIO0 و GPIO2) أو GND لـ GPIO15. يحدد هذا كيفية توصيل أي جهاز خارجي ، مثل المرحل أو المقاوم + المقاوم. بالنسبة إلى GPIO0 و GPIO2 ، يجب توصيل مرحل خارجي بين VCC والدبوس حتى لا يتداخل مع عمل المقاوم للسحب. على العكس من ذلك ، يجب توصيل مرحل خارجي متصل بـ GPIO15 بين GND والدبوس بحيث لا يتداخل مع عمل المقاوم المنسدل.

لتنشيط الجهاز الخارجي ، يجب أن يكون GPIO0 أو GPIO2 مدفوعين على مستوى منخفض (نشط منخفض) بينما يجب أن يكون GPIO15 مدفوعًا بدرجة عالية (نشط مرتفع).

يوضح المخطط أعلاه كيفية استخدام GPIO0 و GPIO2 و GPIO15 كمخرجات. تتضمن هذه الدائرة مقاومات السحب / السحب الضرورية أيضًا. لاحظ أن وحدة الترحيل 5V التي يقودها GPIO0 معزولة بصريًا ولها اتصال مشترك منفصل للإدخال. من المهم ألا يتم تطبيق جهد 5V VCCA على دبوس ESP8266.

كيفية إعادة البرمجة عند استخدام GPIO0 كمخرج

ملاحظة: يجب تأريض GPIO0 للدخول في وضع البرمجة. إذا كنت تقوم بالرسم على ارتفاعه ، فقد يؤدي التأريض إلى إتلاف شريحة ESP8266. الطريقة الآمنة لإعادة برمجة ESP8266 عندما يقوم الرمز الخاص بك بتشغيل إخراج GPIO0 هي: - أ) إيقاف تشغيل اللوحة ب) اختصار GPIO0 إلى gnd c) تشغيل اللوحة التي تنتقل إلى وضع البرنامج بسبب قصر GPIO0 د) إزالة الاختصار من GPIO0 حتى لا تقصر الإخراج عند تشغيل البرنامج هـ) إعادة برمجة اللوحة و) دورة طاقة اللوحة إذا لزم الأمر.

الخطوة 4: استخدام GPIO0 و GPIO2 و GPIO15 كمدخلات

استخدام GPIO0 و GPIO2 و GPIO15 كمدخلات
استخدام GPIO0 و GPIO2 و GPIO15 كمدخلات

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

الحيلة هي عدم توصيل المحول الخارجي مباشرة من GPIO0 أو GPIO2 إلى GND ولكن لتوصيله بدلاً من ذلك بدبوس GPIO آخر يتم دفعه إلى الأرض (كإخراج) فقط بعد بدء تشغيل ESP8266. تذكر ، عند استخدامها كمخرجات ، توفر دبابيس GPIO اتصال مقاومة منخفض جدًا إما لـ VCC أو GND اعتمادًا على ما إذا كانت مدفوعة HIGH أو LOW.

هنا سيتم النظر فقط في GPIO0 و GPIO2. باستخدام هذه الطريقة ، يمكنك الحصول على إدخال إضافة واحد (1) باستخدام هذين (2) GPIO.

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

تستخدم الدائرة أعلاه الوحدة النمطية ESP8266-01 كمثال. بدون استخدام هذه الحيلة ، لا يحتوي ESP8266-01 على أي دبابيس مجانية لاستخدامها كمدخل إذا كنت تستخدم بالفعل دبابيس RX / TX لاتصال UART.

نظرًا لأن طريقة الإعداد () للرسم لا يتم تشغيلها إلا بعد بدء تشغيل وحدة ESP8266 ، فمن الآمن جعل إخراج GPIO0 منخفضًا ومن ثم توفير أساس لـ S1 المتصل بـ GPIO2. يمكنك بعد ذلك استخدام digitalRead (2) في مكان آخر في المخطط لقراءة إعداد التبديل.

استنتاج

توضح هذه الملاحظة القصيرة كيفية استخدام GPIO0 و GPIO2 و GPIO15 كمخرجات وكيفية استخدام الحصول على مدخلات إضافية باستخدام GPIO0 و GPIO2 معًا.

موصى به: