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

AtmoScan: 7 خطوات (بالصور)
AtmoScan: 7 خطوات (بالصور)

فيديو: AtmoScan: 7 خطوات (بالصور)

فيديو: AtmoScan: 7 خطوات (بالصور)
فيديو: 7 шагов к эффективному принятию решений | Процесс принятия решений 2024, سبتمبر
Anonim
Image
Image
مجسات
مجسات

**********************************************************************************************

الإخبارية

انتقل إلى GitHub الخاص بي من أجل:

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

- تم نشر تصميم ثنائي الفينيل متعدد الكلور v2 مع دليل لتطبيق التغيير بسهولة على اللوحات V1.0.

- ملفات CAD للإحاطة الكاملة

الغلاف الجديد يشبه الصورة أعلاه … حسنًا ، بدون الشريط المطاطي

****************************************************************************************

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

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

تذهب اعتمادات المكتبات إلى عدد من المساهمين ، انظر لاحقًا.

يمكن العثور على الموسيقى في الفيديو هنا

الخطوة الأولى: المستشعرات

يقيس Atmoscan عددًا من المتغيرات:

  • درجة حرارة
  • رطوبة
  • ضغط
  • ثاني أكسيد الكربون
  • كو
  • NO2
  • VOC (مركبات عضوية متطايرة ، مؤشر جودة الهواء)
  • مساء 01
  • PM25
  • PM10
  • إشعاع

للقيام بذلك ، فإنه يدمج عددًا من أجهزة الاستشعار المنفصلة

  • BME280 (مثل الرابط)
  • PMS7003 (مثل الرابط)
  • MH-Z19 (مثل الرابط)
  • HDC1080 (مثل الرابط)
  • MiCS6814 (رابط)
  • MP503 (رابط)
  • أنبوب LND-712 Geiger (الرابط ، وجدته في أوروبا هنا الرابط أو الرابط هنا) مع وحدة الجهد العالي (الرابط)

أوراق البيانات هنا.

الخطوة الثانية: الإلكترونيات

إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات

يمكن بناء Atmoscan بسهولة باستخدام NodeMCU أو أي لوحة ESP8266 أخرى وبعض المكونات المتاحة بسهولة ، مثل مبدلات المستوى ومنظمات الجهد ، إذا تخليت عن شاحن البطارية المدمج.

بينما قمت بعمل نموذج أولي بمكونات منفصلة ، بالنسبة للإصدار النهائي ، قمت بتصميم لوحة محددة تدمج جميع الوظائف وتوفر موصلات أنيقة لأجهزة الاستشعار ، ومصابيح LED للحالة (أزرق = متصل بمصدر طاقة ؛ أحمر = شحن).

تتوفر ملفات Eagle PCB هنا.

على وجه التحديد ، يدمج المجلس:

  • شحن الدوائر على أساس MAX8903A (رابط)
  • زر واحد لمنطق التشغيل / الإيقاف
  • وحدة ESP12E
  • منطق البرمجة
  • شيفتر المستوى
  • سائق LCD الخلفية
  • 3.3V Step-Up / Step-Down Voltage Regulator على أساس Pololu S7V8F3 (رابط)
  • منظم جهد تصعيد 5 فولت يعتمد على Pololu U1V10F5 (رابط)
  • مقياس الوقود LiPo على أساس SparkFun TOL10617 (رابط)

الشاشة 2.8 بوصة TFT 320x240 تعتمد على شريحة ILI9341 (رابط).

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

المستشعرات متعطشة للطاقة إلى حد ما ، لذا لضمان استقلالية 24 ساعة على الأقل ، صنعت حزمة بها 3 بطاريات LiPo 105575 (Link) بقوة 5000 مللي أمبير في الساعة (رابط). في الواقع ، كان من الممكن أن يكون العدد 2 كافياً. يكافح شاحن MAX8903 لشحن حزمة 15000mAh الناتجة.

ملاحظات - كما رأينا في الصور:

  • يتم عرض مواقف الموصلات
  • يجب إلغاء لحام فتحة بطاقة SD من الشاشة إذا كنت تريد وضعها في العلبة
  • تحتاج إلى عمل شق صغير في PCB حتى لا تتداخل مع المروحة (الشق في الموضة بعد iPhone X). تصحيح في PCB V2

تكون اختصارات الموصلات على PCB كما يلي:

  • PRS: مستشعر الضغط الجوي (يعتمد على BME280) ملاحظة: يتم تركيبه مباشرة على ثنائي الفينيل متعدد الكلور
  • VOC: Grove - مستشعر جودة الهواء v1.3 (بناءً على MP503)
  • TMP: مستشعر درجة الحرارة والرطوبة الرقمية عالي الدقة (يعتمد على HDC1080)
  • PMS: مستشعر تركيز الجسيمات الرقمي PMS7003
  • الغاز: جروف - مستشعر الغاز متعدد القنوات (استنادًا إلى MiCS6814)
  • GES: جروف - مستشعر الإيماءات (بناءً على PAJ7620U2)
  • RAD: أنبوب جيجر (عبر وحدة إمداد طاقة سائق مسبار جيجر عالي الجهد 400 فولت / 500 فولت مع إخراج نبض رقمي TTL)
  • CO2: مستشعر غاز ثاني أكسيد الكربون بالأشعة تحت الحمراء MH-Z19
  • U1V10F: منظم جهد تصعيد 5 فولت يعتمد على Pololu
  • U1V10F5 S7V8V3: 3.3V Step-Up / Step-Down منظم الجهد على أساس Pololu S7V8F3
  • TOL10617: مقياس الوقود Sparkfun LiPo
  • شاشة LCD: شاشة ILI9341

الخطوة 3: الضميمة

نسيج
نسيج
نسيج
نسيج
نسيج
نسيج

العلبة مشتقة من حاوية مكعبات زجاجية مقاس 10x10x10 سم اشتريتها على موقع ئي باي وكان الغرض منها استخدامًا مختلفًا تمامًا. كان يحتوي على فتحات تهوية لطيفة كانت بالضبط ما هو مطلوب. كان الحجم كافياً من حيث المبدأ لتعبئة المجموعة بأكملها ، باستثناء أنه لم يكن سهلاً … فشلت بعض المحاولات المبكرة القائمة على نماذج بالحجم الطبيعي للورق المقوى فشلاً ذريعًا لذا استسلمت وأهدرت بضع ساعات باستخدام CAD ثلاثية الأبعاد وتم قطع الدعامات الداخلية بالليزر. يتم تقسيم المساحة الداخلية إلى مقصورات بحيث يكون مستشعر درجة الحرارة بعيدًا قدر الإمكان عن مصادر الحرارة الداخلية. في حين أن الغلاف الخارجي مصنوع من مادة 3 مم ، فإن الجزء العلوي مصنوع من صفائح 2 + 1 مم. سمحت هذه الحيلة بتغطية مستشعر الإيماءات بأكريليك 1 مم فقط وهذا يكفي لجعله يعمل.

كان لابد من إجراء بعض التعديلات باستخدام الأدوات اليدوية الموجودة في العلبة الأصلية ، مثل المروحة والمفتاح وفتحات USB. كانت النتيجة مع ذلك لائقة!

ملفات CAD هنا.

الخطوة 4: التجميع الميكانيكي

تركيبات ميكانيكية
تركيبات ميكانيكية
تركيبات ميكانيكية
تركيبات ميكانيكية
تركيبات ميكانيكية
تركيبات ميكانيكية

العبوة كثيفة للغاية ولكن بفضل تصميم كاد ثلاثي الأبعاد ، واجهت بعض المفاجآت عند تجميعها.

يتم ضمان دوران الهواء (من أعلى إلى أسفل) بواسطة مروحة صغيرة. بعد شراء رقم معقول على Aliexpress / eBay ، أدركت أن ضجيج المراوح الرخيصة كان لا يطاق بالنسبة لجهاز داخلي. انتهى بي الأمر بشراء Papst 255M (Link) الباهظ الثمن إلى حد ما ، وقمت بإطعامه بأقل من 5 فولت عبر زوجين من الثنائيات. النتيجة جيدة إلى حد ما وهي صامتة بدرجة كافية بحيث لا يتم ملاحظتها (حتى أنها تمت الموافقة عليها من قبل الزوجة ، وهي أصعب شهادة).

الخطوة 5: البرمجيات

برمجة
برمجة
برمجة
برمجة
برمجة
برمجة
برمجة
برمجة

تعتمد بنية البرنامج على إطار عمل موجه للكائنات يدير عمليات متعددة (تعاونية) تتعامل مع واجهة المستخدم وأجهزة الاستشعار و MQTT. إنه مدرك للموقع والوقت ولكن يمكنه التعامل مع انقطاع / إعادة الاتصال بشبكة WiFI.

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

  • انتقاد اليسار / اليمين - تغيير الشاشة
  • (الإصبع) دوامة في اتجاه عقارب الساعة - لف الشاشة
  • (الإصبع) الدوران في عكس اتجاه عقارب الساعة - استدعاء شاشة الإعداد
  • (يد) من بعيد إلى الإغلاق - قم بإيقاف تشغيل الشاشة

الشاشات موروثة من فئة أساسية وتتم إدارتها عبر نموذج الحدث التالي:

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

توضح كل شاشة إمكانياتها من خلال توفير المعلومات التالية:

  • getRefreshPeriod - عدد المرات التي تحتاج فيها الشاشة إلى التحديث
  • getRefreshWithScreenOff - إذا كانت الشاشة تريد التحديث حتى في حالة إيقاف تشغيل الإضاءة الخلفية. على سبيل المثال للمخططات
  • getScreenName - اسم الشاشة
  • isFullScreen - تحكم بشكل كامل في الشاشة ، أو اسمح للشريط العلوي بالتاريخ / الوقت / الموقع / مقياس البطارية / مقياس wifi

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

الشاشات المطبقة حاليًا في Atmoscan هي:

  • قيم أجهزة الاستشعار
  • عداد جيجر / مخطط سيميلوغ
  • حالة النظام
  • سجل الخطأ
  • محطة الطقس
  • مراقب الطائرة
  • اقامة
  • البطارية ضعيفة

تسمح شاشات الإعداد بإعداد بيانات اعتماد Wifi وقنوات MQTT وخادم سجل النظام.

جديد في الإصدار 2.0: جميع مفاتيح خدمات الويب قابلة للتكوين الآن عبر بوابة التكوين. القيمة الوحيدة التي لا تزال مشفرة بشكل ثابت هي كلمة مرور OTA (أحرف ATMOSCAN الكبيرة).

ملاحظة 1: يجب أن تتم البرمجة الأولى باستخدام كبل USB-Serial متصل بموصل البرمجة. نظرًا لأن المنفذ التسلسلي مشغول بجهاز استشعار ، فإن تصحيح الأخطاء والبرمجة بهذه الطريقة غير عملي بعد التجميع حيث سيتطلب ذلك فصل المستشعر. لذلك يدعم البرنامج تصحيح أخطاء SYSLOG وتحديثات OTA.

ملاحظة 2: يتجاوز حجم ملف ATMOSCAN الثنائي 700 كيلو بايت ويتطلب ArduinoOTA أن تكون مساحة البرنامج ضعف حجم الصورة على الأقل ، مما يستبعد خيار "4M (3M SPIFFS)". ومع ذلك ، فإن الخيار القياسي "4M (1M SPIFFS)" غير مناسب أيضًا لأن قسم SPIFFS لن يكون كافيًا للموارد الرسومية المتعلقة بمحطة الطقس ومراقب الطائرة وملف confing. لذلك تم إنشاء تكوين مخصص "4M (2M SPIFFS)" لحل المشكلة. الشرح هنا.

الوثائق وكود المصدر الكامل متوفرة هنا.

يتضمن الاعتمادات الرمز والمكتبات من

  • Adafruit
  • اركاو
  • بلانشون
  • بودمر
  • مغلق مكعب
  • جماج 11
  • Knolleary
  • لوكادينتيلا
  • مبصر
  • سكويكس 78
  • تزابو
  • ساحر 97

يدمج خدمات الويب من

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

الخطوة 6: اجعلها أفضل

إجعله أفضل!
إجعله أفضل!

النتيجة ليست سيئة على الإطلاق! يبدو البرنامج جيدًا وموثوقًا به ، في حين يمكن توسيعه بميزات جديدة وربما تنظيفه قليلاً لجعل إطار التطبيق قابلاً لإعادة الاستخدام حقًا لمشاريع أخرى. لا تعد معايرة بعض أجهزة الاستشعار أمرًا رائعًا ، ولكن ستكون هناك حاجة إلى معدات مختبر الاختبار. الوقت ثمين وليس لدي الكثير ، لذلك كان التقدم بطيئًا. بحلول الوقت الذي انتهيت فيه ، أصبح الدعم اللائق لـ ESP32 متاحًا. إذا بدأت ذلك الآن ، فسأستخدمه وأدمج المستشعرات الخارجية عبر البلوتوث.

أي واحد؟

ملاحظة: لا يزال لدي عدد قليل من مركبات ثنائي الفينيل متعدد الكلور ، لذلك إذا كان أي شخص مهتمًا ، فهي متوفرة بسعر رمزي / بريدي.

الخطوة 7: أسئلة وأجوبة

أسئلة و أجوبة
أسئلة و أجوبة
أسئلة و أجوبة
أسئلة و أجوبة

بادئ ذي بدء ، شكرًا لك على تعليقاتك الإيجابية للغاية. بصراحة لم أكن أتوقع هذا القدر من الاهتمام.

تلقيت عددًا من الأسئلة إما عبر التعليقات أو الرسائل الخاصة ، لذلك فكرت في جمع الإجابات هنا. يجب أن يأتي المزيد ، سأضيف.

لقد وجدت في الجزء الخلفي من الدرج 8 مركبات ثنائي الفينيل متعدد الكلور متوفرة - وهم في طريقهم إلى بلجيكا وألمانيا والهند والولايات المتحدة وكندا والمملكة المتحدة وأستراليا. واو ، 3 قارات! مدهش.

ما الذي يجب أن أضعه في صفحة تكوين ATMOSCAN؟

تتطلب صفحة تكوين Atmoscan المعلمات التالية:

  • SSID وكلمة المرور لشبكة WiFi التي تريد الاتصال بها
  • خادم MQTT الذي تستخدمه. على سبيل المثال ، أستخدم mqtt.thingspeak.com
  • تم استخدام سلسلة اتصال لموضوعات MQTT. على سبيل المثال ، موضوعات Thingspeak MQTT بالتنسيق: القنوات / CHANNEL-ID / publish / WRITE-API (EXAMPLE: channels / 123456 / publish / 567890)
  • خادم Syslog: عنوان IP لخادم سجل النظام الذي تستخدمه لتسجيل الدخول
  • مفتاح Google لـ Maps Static API. احصل على مفتاح من https://console.cloud.google.com/apis/dashboard. إنشاء مشروع واجهة برمجة التطبيقات التي يستخدمها Atmoscan هي https://maps.googleapis.com/maps/api/staticmap. قم بإنشاء مفتاح لواجهة برمجة التطبيقات هذه على مشروع google الذي أنشأته للتو ، استخدمه هنا
  • مفتاح Weather Underground. قم بإنشاء حساب على www.wunderground.com ، انتقل إلى واجهة برمجة تطبيقات WEATHER (رابط في أسفل الصفحة الرئيسية ، انتقل إلى KEY SETTINGS ، أنشئ مفتاحًا ، استخدمه هنا
  • حساب Geonames. قم بإنشاء حساب على https://www.geonames.org/ وقم بتمكينه من استخدام خدمات الويب المجانية ووضع اسم المستخدم هنا
  • مفتاح TimeZoneDB. قم بإنشاء حساب على https://timezonedb.com/ ، أنشئ مفتاحًا ، ضعه هنا

كيف أقوم بتهيئة Thingspeak؟

أنت بحاجة إلى 3 قنوات تتحدث عن الأشياء. يتم استخدام الحقول على النحو التالي:

حقول القناة 1

  1. درجة الحرارة
  2. رطوبة
  3. الضغط
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. إشعاع

القناة 2 الحقول

  1. كو
  2. ثاني أكسيد الكربون
  3. NO2
  4. المركبات العضوية المتطايرة

حقول القناة 3 (قناة النظام)

  1. الجهوزية في دقائق
  2. ارتفاع حر بالبايت
  3. WIFI RSSI (إشارة في DBM)
  4. قوة البطارية
  5. LINEAR SOC (حالة شحن البطارية٪ - حساب خطي ، يتناسب مع الجهد)
  6. NATIVE SOC (حالة البطارية من الشحن٪ - وفقًا لما تم الإبلاغ عنه بواسطة المقياس. كما تمت قراءته من المقياس. ملاحظة: يشير المقياس إلى 0٪ عند الوصول إلى 3.6 فولت بينما يمكن تفريغ البطاريات أكثر قليلاً ، دعنا نقول أعلى من 3 فولت. الحد الأدنى ، عنده يقوم ATMOSCAN بإيقاف تشغيل نفسه ، هو #define في ملف globaldefinitions.h)
  7. درجة حرارة النظام (من bme280 ، مثبتة مباشرة على اللوحة)
  8. رطوبة النظام (من bme280 ، مثبتة مباشرة على اللوحة)

ثنائي الفينيل متعدد الكلور مضغوط للغاية. كيف يمكنني لحام أجهزة SMD ، وخاصة MAX8903A IC؟

أولاً ، أقترح أن تسأل نفسك عما إذا كنت تريد الدخول إلى SMD أو ما إذا كان الأمر لمرة واحدة - إذا كان الأخير ، فربما تطلب من شخص ما القيام بذلك نيابة عنك. إذا كنت ترغب في مواجهة تحدي SMD ، فاستثمر قليلاً واحصل على الأدوات المناسبة (لحام ، تدفق ، كحول متماثل ، حديد صغير ، مسدس ساخن ، ملاقط ، كاميرا USB رخيصة ، حامل ثنائي الفينيل متعدد الكلور). في الوقت الحاضر هذه أشياء رخيصة. ثم شاهد مقطع فيديو على YouTube - يوجد نصف مليون - واقض بعض الوقت مع PCB قديم يمكنك التضحية به وفك لحام / تنظيف / لحام بعض المكونات. لن تصدق كم هذا مفيد ، لتتعلم ما يمكن توقعه ، تحصل على درجة الحرارة الصحيحة وما إلى ذلك. الحديث من التجربة … لقد بدأت SMD في تغيير موصل الشاشة في iPod touch وقتلت الأول!

في الواقع ، فإن Atmoscan PCB مضغوط وأن IC ليس بالأمر السهل. مرة أخرى ، لا أوصي بأن تفعل هذا كأول لحام SMD. QFN ليست حزمة ودية على الرغم من أنني قمت بلحام رقم الآن. أنت لست متأكدًا من أنك فهمت الأمر بشكل صحيح …

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

طريقي: وضعت أولاً بعض اللحام على الفوط بالمكواة. ثم الكثير من التدفق (SMD خاص) وقمت بوضع IC بعناية باستخدام ملاقط. ثم قم بتسخين كل شيء إلى حوالي 200/220 درجة مئوية (أقل من نقطة الانصهار) لتجنب التوترات بسبب التسخين غير المتكافئ. ثم رفعت درجة الحرارة إلى 290 درجة مئوية أو نحو ذلك وحول IC. إذا وضعت القليل من اللحام على وسادة قريبة ، فسترى عندما تكون درجة الحرارة عند نقطة الانصهار ، حيث ستلمع.

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

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

من أين اشتريت المكونات؟

في الغالب على موقع eBay و Aliexpress. ومع ذلك ، فإن العلامات التجارية الأصلية (Seeed ، Pololu ، Sparkfun).

تتبع بعض الروابط الإرشادية. ملاحظة: انظر حولك ، فقد تجد صفقات أرخص …

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460 …

www.aliexpress.com/item/170valuesX50pcs-85 …

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

البرمجة الأولى: تشتمل لوحة Atmoscan على دائرة برمجة تتوافق مع NodeMCU. يستخدم الاتصال التسلسلي عادة للبرمجة الأولى. بعد ذلك ، تعد برمجة OTA عبر wifi هي الخيار المفضل ، حيث يمكن القيام بذلك مع الوحدة المجمعة بالكامل. لا تنس أن المنفذ التسلسلي يستخدم عادة بواسطة مستشعر الجسيمات!

لبرمجة اللوحة باستخدام المسلسل ، يجب توصيل محول USB-Serial (على سبيل المثال FTDI232 أو ما شابه) بموصل J7 (بجوار زر إعادة الضبط) بعد التثبيت في المخطط. يمكن تحميل البرنامج بدون توصيل المستشعرات ، باستثناء أنه يجب توصيل خط المقاطعة لمستشعر جيجر بـ GND ، وإلا فلن يتم تمهيد اللوحة (للقيام بذلك ، قم بتوصيل الدبابيس 1 و 3 في موصل RAD). أسهل طريقة لاختبار اللوحة دون استخدام المخطط الرئيسي - وبالتالي بدون تعقيد المستشعرات - هي تحميل هذا البرنامج البسيط عبر كابل تسلسلي. يقوم بإنشاء نقطة وصول wifi تسمح بمزيد من الوميض مع البرنامج الرئيسي.

هام: لا تنس استخدام تكوين SPIFFS 4M / 2M وفقًا للتعليمات ، وإلا فلن يتناسب البرنامج الرئيسي. يجب تهيئة اللوحة عبر البرمجة التسلسلية بهذا التكوين ، وإلا فقد تواجه مشكلات مع OTA لاحقًا.

لسوء الحظ ، يتم حظر تهيئة بعض أجهزة الاستشعار في حالة عدم وجود أجهزة الاستشعار (يعتمد على مزود المكتبة). أحد الأمثلة على ذلك هو مكتبة أجهزة استشعار multigas. للتأكد من قيام Atmoscan بالتمهيد بشكل صحيح باستخدام البرامج الثابتة الكاملة ، يمكنك تعطيل العملية ذات الصلة ، راجع نقطة الأسئلة والأجوبة ذات الصلة. هناك طريقة بسيطة لتعطيل جميع أجهزة الاستشعار للاختبار وهي التعليق على السطر #define ENABLE_SENSORS في ملف GlobalDefinitions.h.

عندما تقوم اللوحة بتمهيد المخطط الرئيسي لأول مرة ، يجب أن تدرك أنه لم يتم تكوينها ويجب أن تفتح نقطة اتصال wifi ، والتي يمكنك الاتصال بها وإعدادها. من بين الإعدادات ، يوجد خادم سجل نظام يساعد بشكل كبير في تصحيح الأخطاء. يمكنك أيضًا زيادة مستوى التسجيل عن طريق إلغاء التعليق #define DEBUG_SYSLOG في ملف GlobalDefinitions.h.يرجى ملاحظة أنه يوجد في نفس الملف أيضًا #define DEBUG_SERIAL تم استخدامه أثناء التصحيح الأولي. إذا لم يتم التعليق عليه ، فإنه ينتج _بعض_ تسجيلات متبقية ، ولكن في حده الأدنى. كان عنصر ToDo دائمًا هو جعل التسجيل موحدًا وقابل للتحديد ولكن لم يكن لدي الوقت لتنظيفه.

هل قمت بتعديل المكتبات التي استخدمتها ، هل هناك حاجة إلى أي تكوين؟ (على عكس التنزيل والترجمة)

سؤال جيد ، لقد نسيت أن أذكر هذه النقطة. في الواقع ، هناك بعض التعديلات / التكوينات المطلوبة:

  • المكتبة https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - عبارات تصحيح الأخطاء التسلسلية. تحتاج إلى التعليق ، حيث يتم استخدام المنفذ التسلسلي لجهاز استشعار!
  • مكتبة https://github.com/Bodmer/TFT_eSPI - تتطلب ملف تكوين حيث يتم تحديد تعيين رقم التعريف الشخصي وتردد SPI
  • المكتبة https://github.com/lucadentella/ArduinoLib_MAX1704… - بالنظر إلى التعليقات وطلبات السحب ، لاحظت وجود إصلاح خطأ لم يتم دمجه مطلقًا

بقدر ما أتذكر يجب أن يكون عليه. اسمحوا لي أن أعرف إذا ظهرت أي مشاكل.

ملاحظة: يرجى الرجوع إلى التعليقات الواردة في أحدث كود مصدر - يحتوي على روابط لجميع المكتبات المطلوبة ويتم تحديثها باستمرار

لماذا تقرأ بعض المستشعرات اللون الأحمر والبعض الآخر باللون الأخضر في الفيديو / الصور؟

يشير اللون إلى الاتجاه. يبدأ باللون الأبيض وإذا كان صعودًا باللون الأحمر ، إذا كان النزول أخضر.

كيف تتعامل مع انجراف المستشعرات بمرور الوقت؟ ما مدى جودة هذه المستشعرات؟ ما الذي يمكنني رؤيته باستخدام هذه المستشعرات؟

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

ومع ذلك ، فإن المجموعة جيدة بما يكفي لإظهار أشياء لا تتوقعها.

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

هل كان عداد جيجر ضروريًا حقًا؟ هل يظهر أي شيء مفيد؟

لحسن الحظ لم تكن لدينا حوادث نووية والحرب لم تأتي بعد … ومع ذلك ، هناك محطات نووية ليست بعيدة والحكومة توزع حبوب اليود للأطفال ليتم حفظها في الدرج في حالة وقوع حوادث … لذلك شككت. حتى الآن يجب أن أقول إن القراءات تتماشى تمامًا مع إشعاع الخلفية المتوقع (0.12 uSv / h)

ما هي التكلفة الإجمالية للجهاز؟

لدي بالفعل العديد من المكونات في المنزل وتعطيك الروابط أعلاه فكرة. بصراحة ، إذا اشتريت NetAtmo جاهزًا أو ما شابه ، فستوفر المال. لا يمكنك التغلب على شركة صينية تقوم بأشياء على نطاق واسع! ومع ذلك ، إذا كنت تستمتع بالصنع مع أطفالك ، فإن الأمر يستحق ذلك. الجزء الجيد هو أنني اختبرت (وتخلصت) بالفعل من عدد من أجهزة الاستشعار من أجلك….

ماذا عن ثنائي الفينيل متعدد الكلور؟ هل يمكنك بيع لي واحد؟

كان لدي في الأصل 10 منهم بواسطة dirtypcbs.com وعملت ملفاتي على ما يرام. نوعية جيدة ورخيصة بما فيه الكفاية ، 25 دولار / 20 يورو ل 10 ثنائي الفينيل متعدد الكلور. لقد استخدمت اثنين ويسعدني إرسال المتبقيين مقابل التكلفة المجردة (2 يورو + شحنة ، حسب الموقع وتفضيلات الشحن). أخشى أنني سأضطر إلى اختيار أول من يرسلون لي رسالة خاصة.

هل يمكنك صنع مجموعة أو حملة كيك ستارتر؟

ممتع ، لكن بصراحة لم أعتقد أنه كان مبتكرًا بما فيه الكفاية … وإلى جانب ذلك ، لا يوجد وقت !!

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

على الأجهزة: هل يمكنني إضافة / إزالة جهاز استشعار والشاشة وما إلى ذلك لتوسيع القدرات / تقليل استهلاك الطاقة؟

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

أجهزة الاستشعار بدلاً من ذلك تحتاج إلى طاقة جائعة وكل شيء يستخدم بسهولة 400 / 500mA. لا تنس المروحة وأيضًا حقيقة أن مستشعر الجسيمات يحتوي أيضًا على مروحة مدمجة. لا ينتقل ESP أيضًا إلى وضع السكون ، نظرًا لنقص وحدات GPIO. ومع ذلك ، ربما كان ذلك سيوفر 20 مللي أمبير …

البرنامج معياري ويمكنك بسهولة إضافة / إزالة العمليات والشاشات حتى تتمكن من إضافة أجهزة استشعار أو جعلها خفيفة على الطاقة عن طريق إزالة بعضها ، إذا كنت ترغب في ذلك. القيد الوحيد هو عدد دبابيس GPIO. ومع ذلك ، يمكن إضافة المستشعرات بسهولة في حالة استخدام I2C ، أو بدلاً من ذلك ، يمكن استخدام موسع I2C لإضافة كائنات GPI …

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

ما هي التحسينات التي كنت ستجعلها لو كان لديك الوقت لـ V2.0؟

ليس في أي ترتيب معين..

  • يمكن أن يتجنب ثنائي الفينيل متعدد الكلور النحاس خلف هوائي ESP8266. لقد نسيت ذلك تمامًا وهو يجعل مخطط الإشعاع غير متناحي الخواص
  • الشاحن في رأيي أصغر حجمًا لمثل هذه البطارية الكبيرة / البطارية كبيرة جدًا بالنسبة للشاحن. هناك مرحلية أخرى وسأحاول واحدة أخرى.
  • هناك مقاييس أفضل للبطارية.
  • أود أن أضيف مستشعر الأوزون
  • سأستخدم ESP32 لمزيد من GPIOs وأجهزة استشعار Bluetooth من الوحدة الرئيسية.
  • إذا كان لدي المزيد من GPIOs إما مع ESP32 أو مع موسع I2C ، فسأستخدم واحدًا للتحكم في المروحة والآخر لإيقاف تشغيل الوحدة من البرنامج. الآن عندما تكون البطارية منخفضة ، الشيء الوحيد الذي يمكنه القيام به هو عرض شاشة بطارية منخفضة. هذا هو في الواقع أكبر عيب في التصميم ، حيث لا يتم التعامل مع حالة البطارية المنخفضة بأمان.

على البرامج

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

هل يمكنك إضافة التحكم الصوتي؟

يجب أن يكون ممكنا. هناك عدد من المكتبات الجاهزة للتحكم في ESP8266 مع Alexa ولا أرى سبب مشكلة التكامل. السؤال المثير للاهتمام هو ماذا تريد أن تفعل به ، وظيفته حكيمة. لا أمتلك أمازون إيكو لذا لم أحاول أبدًا.

كيف قمت بعمل قطع الليزر؟

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

هل يمكنك تشغيل / إيقاف تشغيل المستشعرات لتوفير الطاقة ، عبر وحدات الترانزستورات الفلورية (MOSFET)؟

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

ما المهارات التي سأحتاجها؟

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

هل هذا هو مشروعك الأول؟

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

موصى به: