إعداد ARDUINO IDE لوحدة تحكم DCC 

شعار ARDUINO IDE

إعداد Arduino IDE لوحدة تحكم DCC

الخطوة 1. إعداد بيئة IDE. قم بتحميل لوحات المرساب الكهروستاتيكي.

عند تثبيت Arduino IDE لأول مرة ، فإنه يدعم اللوحات القائمة على ARM فقط. نحن بحاجة إلى إضافة دعم للوحات القائمة على ESP. انتقل إلى File… التفضيلات

إعداد بيئة IDE. قم بتحميل لوحات المرساب الكهروستاتيكي
إعداد بيئة IDE. قم بتحميل لوحات المرساب الكهروستاتيكي

اكتب هذا السطر أدناه في مدير اللوحات الإضافية URLصندوق S. لاحظ أن هناك شرطات سفلية فيه ، ولا توجد مسافات.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
حدد أيضًا المربع الذي يشير إلى إظهار الإسهاب أثناء التجميع. هذا يعطينا المزيد من المعلومات إذا فشل شيء ما أثناء التجميع.

لاحظ أن السطر أعلاه يضيف دعمًا لكل من أجهزة esp8266 و esp32. يتم فصل سلسلتي json بفاصلة.
الآن حدد لوحة الإصدار 2.7.4 من مدير المجالس

إعداد Arduino IDE لوحدة تحكم DCC

قم بتثبيت الإصدار 2.7.4. هذا يعمل. الإصدار 3.0.0 وما بعده لا يعمل مع هذا المشروع. الآن ، مرة أخرى في قائمة الأدوات ، حدد اللوحة التي ستستخدمها. بالنسبة لهذا المشروع ، سيكون إما nodeMCU 1.0 أو WeMos D1R1

إعداد Arduino IDE لوحدة تحكم DCC

هنا نختار WeMos D1R1. (تغيير هذا من نانو)

الخطوة 2. إعداد بيئة IDE. قم بتحميل الوظيفة الإضافية ESP8266 Sketch Data Upload.

نحتاج إلى تحميل هذه الوظيفة الإضافية للسماح لنا بنشر (وضع) صفحات HTML وغيرها files على جهاز ESP. هذه موجودة في مجلد البيانات داخل مجلد المشروع الخاص بك https://github.com/esp8266/arduino-esp8266fs-plugin/releases
اذهب الى URL أعلاه وتحميل ESP8266FS-0.5.0.zip.
قم بإنشاء مجلد أدوات داخل مجلد Arduino الخاص بك. قم بفك ضغط محتويات الرمز البريدي file إلى مجلد الأدوات هذا. يجب أن ينتهي بك الأمر مع هذا ؛

إعداد Arduino IDE لوحدة تحكم DCC

وسيظهر خيار قائمة جديد ضمن أدوات ...

إعداد Arduino IDE لوحدة تحكم DCC

إذا قمت باستدعاء خيار القائمة هذا ، فسيقوم IDE بتحميل محتويات مجلد البيانات إلى اللوحة. حسنًا ، هذه هي بيئة IDE التي تم إعدادها للاستخدام العام لـ ESP8266 ، والآن نحتاج إلى إضافة بعض المكتبات إلى مجلد Arduino / Libraries لهذا المشروع المحدد.

الخطوة 3. قم بتنزيل المكتبات وتثبيتها يدويًا.

نحتاج إلى تنزيل هذه المكتبات من Github ؛ https://github.com/me-no-dev/ESPAsyncTCP

إعداد Arduino IDE لوحدة تحكم DCC

انقر فوق الرمز ، ثم قم بتنزيل zip. سيذهب إلى مجلد التنزيلات الخاص بك. انتقل إلى التنزيلات ، وابحث عن ملف zip ، وافتحه واسحب مجلد المحتوى "ESPAsyncTCP" إلى Arduino / libraries.
إذا كان اسم المجلد ينتهي بـ "-master" ، فقم بإعادة تسميته لإزالة "-master" من النهاية.
أي من التنزيلات

إعداد Arduino IDE لوحدة تحكم DCC

افتح ملف .zip لـ ESPAsyncTCP-master ، واسحب مجلد ESPAsyncTCP-master من داخل هذا إلى Arduino / Libraries

إعداد Arduino IDE لوحدة تحكم DCC

ملحوظة: لا يمكن لـ Arduino / libraries استخدام إصدار .zip ، فأنت بحاجة إلى فك ضغط (سحب) المجلد المطلوب. نحن بحاجة أيضا https://github.com/fmalpartida/New-LiquidCrystal
قم بتنزيل ملف zip ثم اسحب محتواه إلى Arduino / libraries وقم بإزالة النهاية الرئيسية.

وأخيرًا ، نحتاج إلى ArduinoJson-5.13.5.zip من الرابط أدناه https://www.arduinolibraries.info/libraries/arduino-json

قم بتنزيل محتويات zip ثم اسحبها إلى Arduino / libraries

الخطوة 4. قم بتثبيت مكتبات أكثر باستخدام Arduino Library Manager.

نحتاج إلى مكتبتين أخريين ، وتأتي هذه من Arduino Library Manager التي تحتوي على مجموعة مختارة من المكتبات المدمجة. انتقل إلى أدوات ... إدارة المكتبات ...

إعداد Arduino IDE لوحدة تحكم DCC
إعداد Arduino IDE لوحدة تحكم DCC

استخدم الإصدار 1.0.3 من Adafruit INA219. هذا يعمل. 

وأيضا

إعداد Arduino IDE لوحدة تحكم DCC

استخدم الإصدار 2.1.0 من Webمآخذ من Markus Sattler ، تم اختبارها وعملها. لم أختبر الإصدارات الأحدث.
حسنًا ، فهذه هي جميع المكتبات (المعروفة أيضًا باسم المراجع) التي يحتاجها IDE لتجميع هذا المشروع.

الخطوة 5. قم بتنزيل مشروع ESP_DCC_Controller من GitHub وافتحه في IDE.

انتقل إلى GitHub وقم بتنزيله https://github.com/computski/ESP_DCC_controller

انقر على زر "الرمز" الأخضر ، وقم بتنزيل الملف المضغوط. ثم افتح الملف المضغوط file وانقل محتوياته إلى مجلد Arduino. أعد تسمية المجلد لإزالة "-main" المنتهية في اسم المجلد. يجب أن ينتهي بك الأمر مع مجلد ESP_ DCC_ controller في مجلد Arduino. سيحتوي على ملف .INO file، مختلف .H و. CPP files ومجلد بيانات.

إعداد Arduino IDE لوحدة تحكم DCC

انقر نقرًا مزدوجًا فوق ملف .INO file لفتح المشروع في Arduino IDE.
قبل أن نصل إلى compile ، نحتاج إلى التهيئة وفقًا لمتطلباتك ...

الخطوة 6. حدد متطلباتك في Global. ح

يمكن أن يدعم هذا المشروع nodeMCU أو WeMo's D1R1 ويمكنه أيضًا دعم عدد من خيارات لوحة الطاقة (درع المحرك) المختلفة ، بالإضافة إلى أنه يمكن أن يدعم الأجهزة الموجودة على ناقل I2C مثل الشاشة الحالية وشاشة LCD ولوحة المفاتيح. وأخيرًا يمكنه أيضًا دعم عجلة القيادة (المشفر الدوار). أبسط تصميم يمكنك القيام به هو درع محرك WeMo D1R1 و L298.
لاحظ أن أسهل طريقة لتعطيل خيار ما هي إضافة حرف n صغير أمام اسمه في العبارة #define.
# تعريف nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#يُعرِّف WEMOS_D1R1_AND_L298_SHIELD
على سبيل المثالample ، أعلاه تم تعطيل NODEMCU_OPTION3 مع n ، نفس الشيء بالنسبة لـ nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD هو الخيار النشط ، وسيؤدي ذلك إلى قيام المحول البرمجي باستخدام التكوين لهذا كما هو مدرج في الأسفل.

للمشي خلال هذا التكوين: 

#elif معرّفة (WEMOS_D1R1_AND_L298_SHIELD)

/ * Wemos D1-R1 مرصوف بدرع L298 ، لاحظ أن D1-R2 هو طراز أحدث بمنافذ توصيل مختلفة * /
/ * قص وصلات الفرامل على الدرع L298. هذه ليست مطلوبة ولا نريدها مدفوعة بدبابيس I2C لأنها ستفسد إشارة DCC.

تحتوي اللوحة على عامل شكل Arduino ، وتكون المسامير كما يلي
D0 GPIO3 RX
D1 GPIO1 تكس
D2 GPIO16 نبضات القلب وزر دفع عجلة القيادة (مرحبًا نشطًا)
D3 GPIO5 DCC تمكين (pwm)
D4 GPIO4 هرول 1
إشارة D5 GPIO14 DCC (dir)
إشارة D6 GPIO12 DCC (dir)
D7 GPIO13 DCC تمكين (pwm)
D8 GPIO0 SDA ، مع سحب 12 كيلو
D9 GPIO2 SCL ، مع سحب 12 كيلو
D10 GPIO15 هرول 2
ما ورد أعلاه هو ملاحظات للبشر ، يتيح لك معرفة كائنات ESP GPIOs التي ستؤدي أي وظائف. نلاحظ أن تختلف تعيينات Arduino D1-D10 إلى GPIO عن تعيينات العقدة MCU D1-D10 إلى تعيينات GPIO */

#تعريف استخدام_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 // عند استخدام A و B بالتوازي (2.36 لمطابقة RMS المتعدد)
سنستخدم AD على ESP وليس جهاز مراقبة حالي خارجي I2C مثل تعطيل INA219
هذا مع n USE_ ANALOG_ MEASUREMENT إذا كنت ترغب في استخدام INA219

#define PIN_HEARTBEAT 16 // وزر دفع عجلة القيادة
#تعريف DCC_PINS \
uint32 dcc_info [4] = {PERIPHS_IO_MUX_MTDI_U، FUNC_GPIO12، 12، 0} ؛ \
uint32 enable_info [4] = {PERIPHS_IO_MUX_MTDI_U، FUNC_GPIO5، 5، 0} ؛ \
uint32 dcc_infoA [4] = {PERIPHS_IO_MUX_MTDI_U، FUNC_GPIO14، 14، 0} ؛ \
uint32 enable_infoA [4] = {PERIPHS_IO_MUX_MTDI_U، FUNC_GPIO13,13،0، XNUMX} ؛
يحدد المسامير التي ستقود إشارات DCC ، لدينا قناتان تعملان في المرحلة حتى نتمكن من مشاركتها معًا. القناة A هي dcc_ info [] والقناة B هي dcc_ info A []. يتم تعريف هذه على أنها وحدات ماكرو والشرطة المائلة العكسية هي علامة متابعة سطر.

#define PIN_SCL 2 // 12k pullup
#define PIN_SDA 0 // 12k pullup
#تعريف PIN_JOG1 4
#define PIN_JOG2 15 // 12k المنسدلة

حدد المسامير (GPIOs) التي تقود I2C SCL / SDA ثم أيضًا مدخلات عجلة القيادة 1 و 2

#define KEYPAD_ADDRESS 0x21 // pcf8574

تستخدم للوحة المفاتيح الاختيارية ذات المصفوفة 4 × 4 ، والتي يتم مسحها ضوئيًا باستخدام شريحة pcf8574

// addr، en، rw، rs، d4، d5، d6، d7، backlight، polarity. نحن نستخدم هذا كجهاز 4 بت // شاشة العرض الخاصة بي هي rs و rw و e و d0-d7. يتم استخدام d <4-7> فقط. يظهر <210> لأن البتات <012> يتم // تعيينها كـ EN ، RW ، RS ونحتاج إلى إعادة ترتيبها حسب الترتيب الفعلي على الجهاز ، 3 يتم تعيينها // إلى الإضاءة الخلفية. <4-7> تظهر بهذا الترتيب على حقيبة الظهر وعلى الشاشة.

#define BOOTUP_LCD LiquidCrystal_I2C lcd (0x27 ، 2 ، 1 ، 0 ، 4 ، 5 ، 6 ، 7 ، 3 ، إيجابي) ؛ // حقيبة ظهر YwRobot

تُستخدم لتحديد وتكوين حقيبة الظهر I2C التي تشغل شاشة LCD 1602 (اختياري) ، وهذا قابل للتهيئة بشكل ناعم وهناك العديد من حقائب الظهر المتاحة التي تختلف تكوينات الدبوس فيها.
#نهاية_الحياة

الخطوة 7. تجميع وتحميل على اللوحة.

الآن لقد قمت بتكوين مجموعة اللوحة التي تنوي استخدامها ، يمكنك تجميع المشروع. إذا كنت لا تنوي استخدام لوحة مفاتيح المصفوفة 4 × 4 وشاشات الكريستال السائل ، فلا مشكلة ، اترك تعريفاتها حيث يتوقع البرنامج تكوينها. سيعمل النظام بشكل جيد عبر شبكة WiFi بدونها.
في IDE ، رمز التجزئة (تحقق) هو في الواقع "Compile". انقر فوق هذا وسترى رسائل مختلفة تظهر (بشرط أن تقوم بتمكين الترجمة المطولة) حيث يقوم النظام بتجميع المكتبات المختلفة وربطها معًا. إذا كان كل شيء يعمل بشكل جيد ، وإذا اتبعت جميع الخطوات المذكورة أعلاه بالضبط ، فستظهر لك رسالة نجاح. أنت الآن جاهز للضغط على زر السهم الأيمن (تحميل) ، ولكن قبل القيام بذلك ، تحقق من تحديد منفذ COM الصحيح للوحة ضمن قائمة الأدوات.
بعد تحميل ناجح (استخدم كبل USB عالي الجودة) ، تحتاج أيضًا إلى استدعاء ملف قم بتحميل قائمة بيانات الرسم ESP8266 الخيار تحت أدوات. سيؤدي ذلك إلى وضع محتويات مجلد البيانات على الجهاز (جميع صفحات HTML).
انتهيت. افتح الشاشة التسلسلية ، وانقر فوق زر إعادة الضبط وسترى بدء تشغيل الجهاز والمسح بحثًا عن أجهزة I2C. يمكنك الآن الاتصال به عبر Wifi ، وهو جاهز للتوصيل بلوحة الطاقة الخاصة به (درع المحرك).

المستندات / الموارد

إعداد ARDUINO IDE لوحدة تحكم DCC [بي دي اف] تعليمات
إعداد IDE لوحدة تحكم DCC ، إعداد IDE ، الإعداد لوحدة تحكم DCC ، إعداد IDE لوحدة التحكم DCC ، وحدة تحكم DCC

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *