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

مقاييس السيارة OLED ESP32 التي تدعم Wifi: 3 خطوات (بالصور)
مقاييس السيارة OLED ESP32 التي تدعم Wifi: 3 خطوات (بالصور)

فيديو: مقاييس السيارة OLED ESP32 التي تدعم Wifi: 3 خطوات (بالصور)

فيديو: مقاييس السيارة OLED ESP32 التي تدعم Wifi: 3 خطوات (بالصور)
فيديو: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, شهر نوفمبر
Anonim
Image
Image
مقاييس السيارة OLED ESP32 التي تعمل بتقنية Wifi
مقاييس السيارة OLED ESP32 التي تعمل بتقنية Wifi

مقدمات أولا …

أقوم ببناء مقاييس السيارة كنوع من هواية التشغيل مرارًا وتكرارًا. راجع https://www.instructables.com/id/Remote-Car-Monit… و https://www.instructables.com/id/Remote-Car-Monit… للحصول على مثالين أكثر حداثة. أنا أحب بشكل خاص تلك التي تنسجم مع الأجزاء الأصلية للسيارة. إذن ، لماذا هذا مختلف وما الذي ألهمني لبنائه. الجواب شيئين:

1) ESP32 - أردت تجربة الطفل الجديد على شريحة الكتلة ، خاصة وأن سلسلة الأدوات القائمة على اردوينو لها ناضجة إلى حد ما. أحد الأشياء المثيرة للاهتمام التي يتيحها ESP32 هو IOT بقدراته المدمجة في wifi والبلوتوث. كتب المجتمع مكتبات متعددة لجعل هذا الأمر بسيطًا إلى حد ما (خوادم الويب ، AP ، عملاء wifi ، mDNS ، إلخ).

2) شاشات OLED الرخيصة - في عام 2007 ، صنعت مقياسًا باستخدام TFT الذي كان يجلس في مكان الساعة على GD (2004-2007) WRX. يأتي TFT بنكهات مختلفة. يعمل البعض بشكل أفضل في الليل ، ويعمل البعض بشكل أفضل في النهار ، وما إلى ذلك. ولكن لا يعمل أي منهم في جميع الظروف. لم أدرك خطأ طرقي حتى كان أحد المقاييس التي استخدمتها عديم الفائدة خلال يوم المسار المشمس لعضو المنتدى. أدخل OLED ، وهي رائعة لتطبيقات السيارات. فهي ليست ساطعة جدًا في الليل و (الأهم من ذلك) تكون مرئية في معظم ظروف ضوء الشمس.

هذا اثنان لواحد قابل للتوجيه حيث كتبت كل شيء لمقياسين شائعين للسيارة ، ضغط الزيت وضغط التوربو. كلاهما في الأساس نفس الشيء: مقياس عامل الشكل الصغير مع شاشة OLED ذات مظهر تمثيلي متحرك مع أرقام منفصلة وحدود قصوى معروضة. كلاهما يعمل أيضًا كخدمات WiFi AP وخوادم الويب. عندما يتصل بهم أحدهم عبر جهاز كمبيوتر أو هاتف خلوي ، يمكن عرض مخطط قطعي متحرك لـ EKG (هذا هو الجزء المبتكر إلى حد ما).

اللوازم

وحدة HELTEC ESP32 - احصل على متغير wifi

أجزاء خاصة بضغط الزيت:

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

أجزاء مقياس التعزيز المحددة:

  • مستشعر ضغط الهواء (فقط إذا كنت ترغب في عمل مقياس تعزيز) -
  • خرطوم الهواء
  • تركيبات تي

المكتبات التي استخدمتها والتي كانت لا غنى عنها:

Smoothiecharts - https://smoothiecharts.org/ مخططات تحديث حية ممتازة وخفيفة الوزن. قابل للتخصيص للغاية ولا يعتمد على الرجوع إلى مكتبة js في مكان آخر على الإنترنت. هذا يسمح بإعداد نوع "إنترنت الأشياء محليًا" وتناسب المكتبة بأكملها في سلسلة واحدة لبيان خادم الويب في الكود!

ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- يفعل ما يقول على الصندوق ويفعله جيدًا

مكتبة رسومات ThingPulse OLED (تسمى أحيانًا مكتبة squix) - https://github.com/ThingPulse/esp8266-oled-ssd130… - رسومات فعالة جدًا ومباشرة لشرائح ESP. سمح لي بالقيام ببعض البرمجة البطيئة والحصول على رسوم متحركة مقنعة.

أدوات / متفرقات:

مكواة اللحام - تُستخدم في تشغيل الكابلات الطويلة لأجهزة الاستشعار ، وتثبيت الرؤوس على اللوحة ، وتقليص الغلاف ، وما إلى ذلك.

مفك البراغي / المقابس / أدوات السيارة الأخرى - ضروري لتثبيت أجهزة الاستشعار في السيارة

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

مقص - للشريط وأنابيب القطع والروابط المضغوطة

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

الخطوة 1: الرمز أولاً / الجهاز ثانيًا

الرمز الأول / الجهاز ثانيًا
الرمز الأول / الجهاز ثانيًا
الرمز الأول / الجهاز ثانيًا
الرمز الأول / الجهاز ثانيًا

يمكن تنزيل الكود هنا:

ضغط الزيت -

زيادة الضغط -

عزز الضغط بأوجه بدلاً من مقاييس المظهر التناظرية -

رمز الرسومات: مكتبة ThingPulse فعالة للغاية بحيث يمكنك رسم xbms فوق بعضها البعض والحصول على نتائج مقنعة!

جاءت صور القياس في الواقع من مستودع رسومات مفتوح المصدر (https://thenounproject.com/). الفنانة Iconic CY (https://thenounproject.com/icon/490005/).

لقد استخدمت gimp لإنشاء 20 إطارًا مختلفًا مع توجيه الإبرة إلى كل علامة علامة. أيقونات الوجه المبتسم هي بواسطة NOVITA ASTRI ، ID وهي هنا:

ثم قمت بتحويل كل هذه إلى مصفوفات const uint8_t باستخدام هذه التقنية (تلميح: إذا تم عكس الألوان عند عرضها ، فقط اقلب الألوان على الأصل): https://blog.squix.org/2015/05/esp8266- nodemcu-ho …

رمز الرسوم المتحركة المباشر واضح ومباشر:

  • احصل على القراءة من جهاز الاستشعار
  • قراءة المقياس (لقد صنعته من 1 إلى 1 لقيم التعزيز الإيجابية وحرك الإبرة فقط عندما تكون في حالة دفعة وليس عندما تكون في الفراغ)
  • ارسم xbm ثم ضع أحرفًا رقمية لكل شيء آخر.
  • اشطف و كرر

رمز المستشعر: أنا أعيد استخدام رمز المستشعر الذي استخدمته لهذين المستشعرين في عدد قليل من المشاريع الأخرى. لقد أضفت بعض المتوسط للابتعاد عن أجهزة الاستشعار الثابتة. وهذا يشمل قراءة كل "قراءة" بمعدل 5 قراءات.

كود التعزيز (المستشعر يعطي صمامًا تناظريًا من 0-5 فولت والذي يحوله ADC إلى خطوات من 0-1024):

int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36)) / 5) ؛ // تعويم النتيجة PSI = (rboost * (. 00488) / (. 022) +20) /6.89 - atmo ؛ // إجازة /6.89 لـ kpa float ResultPSI = (((rboost / 4095) + 0.04) / 0.004) * 0.145 - atmo ؛ // بواسطة 0.145 لحساب قيم psi // 4096 على esp32 / * rBoost = rBoost + 1 ؛ إذا (rBoost> = 20) {rBoost = 0 ؛ } * / عودة (ResultPSI) ؛ }

كود ضغط الزيت (يغير المستشعر مقاومته بناءً على الضغط الذي يستشعره لذا يلزم وجود مقسم جهد لتحويل هذا إلى جهد من 0-5 فولت انظر: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito… (باتجاه القاع) لمزيد من المعلومات):

int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36)) / 5) ؛ psival = -0.0601 * psival + 177.04 - 14.5 ؛ عودة psival }

وظائف خادم الويب و AP: وظيفة AP بسيطة إلى حد ما - إنشاء مثيل وكائن AP باستخدام ESSID الذي تريد بثه وكلمة المرور وأنت على ما يرام.

const char * ssid = "boost_gauge_ap" ؛ const char * password = "password" ؛

WiFi.softAP (SSID ، كلمة المرور) ؛

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

إقرارات خادم الويب: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer server (80) ؛ // إنشاءه واختيار المنفذ (80 معيار لـ http)… server.on ("/" ، HTTP_GET ، (AsyncWebServerRequest * request) {request-> send (200، "text / html"، "… // صفحة الويب + مكتبة Smoothiecharts في مصفوفة أحرف ضخمة}) ؛ server.on ("/ val" ، HTTP_GET ، (AsyncWebServerRequest * request) {// تستدعي الصفحة الأولى هذه الصفحة الصغيرة جدًا التي تعرض فقط طلب القيمة -> إرسال (200، "text / html"، Sboost) ؛}) ؛ server.begin () ؛

الخطوة 2: الأجهزة والأسلاك

الأجهزة والأسلاك
الأجهزة والأسلاك
الأجهزة والأسلاك
الأجهزة والأسلاك
الأجهزة والأسلاك
الأجهزة والأسلاك

الصورة في المعرض هما المستشعران اللذان أستخدمهما. اللون الذهبي الكبير هو مستشعر ضغط الزيت Autometer 2242. جسم وخيط هذا المستشعر أرضي والطرف هو القراءة في المقاومة.

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

يحتوي مستشعر ضغط الهواء MPX4250AP على ثلاثة دبابيس حية وعدة دبابيس غير مستخدمة. هم V في ، الأرض ، خرج المستشعر. ينتج قراءة 0-5 فولت يمكن قراءتها بواسطة وحدة التحكم الدقيقة (أو في حالة هذا mcu 0-3 فولت. لذلك ، يتم تصغير قراءة المستشعر باستخدام مقسم الجهد.). يمكن العثور على ورقة المواصفات الخاصة بها هنا:

هناك العديد من المشكلات المتعلقة بالتدرج من منطق 5v إلى 3v. في حالتي ، استخدمت مقسم الجهد من أجل البساطة وكان لدي أجزاء حول طاولة العمل الخاصة بي. ستدخل القليل من الخطأ في القراءات بناءً على الخطأ المحتمل للمكونات الإضافية (المقاومان). قد يجعل هذا قراءاتك 10٪ خصم في بعض الحالات. أستطيع العيش مع هذا. إذا كنت لا تستطيع استخدام opamp والمقاومات أو محول المستوى المنطقي (متاح من مختلف بائعي الإلكترونيات. يحتوي Sparkfun على واحد هنا: https://www.sparkfun.com/products/12009 يمكنني التبديل إليه على أنه أحصل على قراءات عالية أحيانًا على هذا المقياس (في الواقع لقد عرضت هذا المنتج على مخطط الأسلاك الخاص بي).

قمت بتشغيل ESP32 عبر USB. وشمل ذلك توصيل شاحن مباشر مثل هذا: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… إلى السيارة ثم استخدام موزع USB لتقسيمه. يمكنك أن ترى أنني استخدمت كبلات USB ذات الزاوية اليمنى لضمان عمل كل شيء في منطقة صغيرة (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p …).

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

الخطوة 3: غلاف مطبوع ثلاثي الأبعاد

غلاف مطبوع ثلاثي الأبعاد
غلاف مطبوع ثلاثي الأبعاد

لقد استخدمت العديد من العلب المطبوعة ثلاثية الأبعاد لهذا الغرض.

  • مقياس دائري عام كبير بشاشة 2. يمكنك أن ترى هذا في هذه الصور من الصفحة الأولى. أضعها بجانب ساعتي على لوحة القيادة.
  • مقياس إسفين ذو مقياس واحد يناسب منطقة الساعة في سوبارو إمبريزا (WRX ، STI ، إلخ) من عام 2008 إلى عام 2014 تقريبًا.
  • قطعة قياس مزدوجة تناسب أعمدة عجلة القيادة والأسطح الأخرى المستديرة قليلاً:

يمكنك نسخها وتعديلها لتناسب احتياجاتك. لا يوجد أي منهم مثالي وسيتطلبون جميعًا القليل من التعديل.

بعض الملاحظات:

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

الجائزة الثانية في تحدي إنترنت الأشياء

موصى به: