محطة أرصاد جوية محمولة لمراقبي سماء الليل: 7 خطوات (بالصور)
محطة أرصاد جوية محمولة لمراقبي سماء الليل: 7 خطوات (بالصور)
Anonim
محطة أرصاد جوية محمولة لمراقبي Night Sky
محطة أرصاد جوية محمولة لمراقبي Night Sky

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

الخطوة الأولى: ما هو التلوث الليلي وكيف يتم قياسه

ما هو التلوث الليلي وكيف يقيس
ما هو التلوث الليلي وكيف يقيس

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

للتحقق من التلوث الضوئي في مكانك ، يمكنك مشاهدة خريطة التلوث الضوئي هنا

إنه نموذج فقط ، ويمكن أن تختلف القيم الحقيقية. لهذا السبب صنعت مقياس الرفاهية هذا.

لقياس التلوث الضوئي ، أقيس فقط اللوكس وأحسب المقدار / arsec2.

يمكنني حساب من لوكس إلى كانديلا لكل متر سقاري:

1 شمعة / م 2 = 1 لوكس

يصف المقدار لكل ثانية قوسية مربعة (mag / arcsec2) خلفية سماء الليل (يطلق عليه سطوع السطح).

المزيد على ويكي: سطوع السطح

لحساب cd / m2 إلى mag / arcsec2 هي الصيغة:

[القيمة في mag / arcsec2] = Log10 ([القيمة في cd / m2] / 108000) / - 0.4

unihedron.com/projects/darksky/magconv.php

الخطوة 2: BOM

BOM
BOM

لهذا المشروع تحتاج:

1. WEMOS D1 Mini أو أي متحكم

(أستخدم wemos ، لأنه أصغر واحد ، مع منفذ USB ، يمكنك تجربة Arduino Nano)

WEMOS D1 MINI (البريد الجوي الاقتصادي Yanwen)

WEMOS D1 MINI (شحن قياسي AliExpress)

WEMOS D1 MINI 10 قطعة (البريد الجوي الصيني المسجل - الشحن المجاني)

كابل يو اس بي للبرمجة وتحميل الكود على wemos

2. جهاز استشعار TSL2591

TSL2591 (البريد الجوي الاقتصادي Yanwen)

TSL2591 (البريد الجوي الصيني المسجل)

TSL2591 (البريد الجوي الصيني المسجل)

3. جهاز استشعار درجة الحرارة والرطوبة HTU21D

HTU21D (الاقتصاد الفائق Cainiao)

HTU21D (البريد الجوي الاقتصادي Yanwen - شحن مجاني)

4. شاشة OLED 0.96 (128 × 64)

شاشة OLED

شاشة OLED

شاشة OLED

5. بطارية 18650

بطارية ليثيوم أيون 18650

بطارية ليثيوم أيون 18650

حامل بطارية 18650

6. وحدة شحن TP4056

tp4056

tp4056

7. أزرار التبديل أو تراجع الطائر

swtich تراجع أحمر

swtichers ، الكثير من الاختلاف

8. كابلات اللوح و دوبونت

لوح صغير

طقم اللوح

9. حالة ، أقوم بإنشاء من الخشب + الشريط

شريط احمر

طابعة Prusa 3D ، آمل أن أفعل حالة من البلاستيك: D.

الخطوة 3: الدائرة

دائرة كهربائية
دائرة كهربائية

الدائرة بسيطة جدًا:

قم بتوصيل جميع وحدات i2c (TSL2591 ، OLED ، HTU21D) بدبابيس SCL و SDA على wemos (SDA -> D2 ، SCL -> D1).

زودهم بجهد 3.3 فولت من wemos.

قم بتوصيل طرف البطارية الإضافي إلى دبوس 5 فولت على wemos والبطارية + دبوس في وحدة الشحن tp4056 إلى محطة إضافية على البطارية.

اربط كل الأسطح معًا.

الخطوة 4: مستشعر HTU21D

جهاز استشعار HTU21D
جهاز استشعار HTU21D

أشتري مستشعر درجة حرارة جديد ، والذي يقيس بدقة 0.3 درجة مئوية!

أشياء يجب أن تعرفها عن هذا المستشعر (من Sparkfun):

  • يستخدم واجهة I2C
  • دقة رطوبة نموذجية ± 2٪
  • دقة درجة الحرارة النموذجية ± 0.3 درجة مئوية
  • يعمل من صفر إلى 100٪ رطوبة ولكن لا ينصح بهذا المستشعر في البيئات القاسية حيث يمكن أن يتلامس مع الماء (مثل المطر).
  • مستشعر 3.3 فولت - استخدم محولات المستوى المنطقي المضمنة أو مقاومات 10 كيلو للحد من إشارات 5 فولت
  • يمكن لجهاز استشعار HTU21D واحد فقط أن يتواجد على ناقل I2C في المرة الواحدة

ملخصي: إنه مستشعر جيد ، لأنه يقيس بدقة 0.3 درجة مئوية وكلاهما - درجة الحرارة والرطوبة. الإيجابيات هي تدخل I2C وسلبيات 3.3 فولت ، لكن لا يهم في حالتي.

الخطوة 5: TSL2591

TSL2591
TSL2591

هذا المستشعر جيد لقياس تلوث السماء ليلاً بسبب حساسيته (حتى 188 ميكرو لوكس!).

1. هي الثنائيات مع الأشعة تحت الحمراء الممكنة والقياس الكامل. أنا لا أستخدمه.

2. منظم الجهد من 5 فولت إلى 3.3 فولت

مواصفات الرقاقة (من adafruit):

  • يقترب من استجابة العين البشرية
  • نطاق ديناميكي واسع للغاية من 1 إلى 600 ، 000 ، 000 عدد
  • نطاق لوكس: 188 حساسية uLux ، ما يصل إلى 88000 قياسات إدخال لوكس.
  • نطاق درجة الحرارة: -30 إلى 80 * درجة مئوية
  • نطاق الجهد: 3.3-5 فولت في منظم على متن الطائرة
  • الواجهة: I2C
  • تستخدم هذه اللوحة / الشريحة عنوان I2C 7 بت 0x29 (ثابت)
  • الأبعاد: 19 مم × 16 مم × 1 مم /.75 بوصة ×.63 بوصة ×.04 بوصة الوزن: 1.1 جرام
  • عدد 2 من الثنائيات لقياس كلا من الأشعة تحت الحمراء والطيف الكامل

ملخص:

188 ULux ممتاز ، كما أن اتصال I2C بسيط. ربما يمكن إصلاح المشكلة عنوان I2C (0x29). يوجد أيضًا منظم جيد على متن الطائرة ويمكن استخدام المستشعر خلال فصل الشتاء (الصقيع).

الخطوة 6: الكود

أنت بحاجة إلى هذه المكتبات (أقوم بإضافتها إلى ملف مضغوط واحد):

  • Adafruit-GFX-Library-Master
  • adafruit_gfx_library_master
  • Adafruit_HTU21DF Library-master
  • Adafruit_Sensor-master
  • Adafruit_TSL2591_Library-master

الكود: يمكنك استخدام خاصتي أو إنشاء رمز خاص به. لا تنس تعيين أقصى وقت للتكامل (600 مللي ثانية) واكتساب الحد الأقصى (GAIN_MAX) لقياس السماء ليلاً.

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

أستخدم تحميل صورة القمر للمتعة فقط. يمكنك استخدام أي منها ، فقط استخدم هذه الصفحة للحصول على مجموعة:

javl.github.io/image2cpp/

//https://lastminuteengineers.com/oled-display-arduino-tutorial///https://javl.github.io/image2cpp/ // mcd to magnitude https://unihedron.com/projects/darksky/magconv.php… // HD44780 عبارة عن وحدة تحكم لشاشات الكريستال السائل القائمة على الأحرف (شاشات LCD). https://unihedron.com/projects/darksky/magconv.php… # تضمين

#يشمل

# تضمين # تضمين # تضمين "Adafruit_HTU21DF.h" # تضمين "Adafruit_TSL2591.h" عداد int؛ // عرض OLED عنوان TWI # تعريف عرض OLED_ADDR 0x3C Adafruit_SSD1306 (-1) ؛ // - 1 لإعادة العرض مع زر إعادة التشغيل على لوحة اردوينو Adafruit_HTU21DF htu = Adafruit_HTU21DF () ؛ Adafruit_TSL2591 tsl = Adafruit_TSL2591 (2591) ؛ // تمرير رقم لمعرف المستشعر (لاستخدامك لاحقًا) uint32_t lum ؛ uint16_t ir ، كامل ؛ int ulux تعويم لوكس تعويم درجة الحرارة تعويم rel_hum. تعويم mag_arcsec2 ؛ // أكواب مرئية / ثانية قوسية² [القيمة في mag / arcsec2] = Log10 ([القيمة في cd / m2] / 108000) / - 0.4 // رموز // درجة لـ Celsius const ودرجة حرف غير موقعة PROGMEM = {0xe، 0x11، 0x11 ، 0x11 ، 0xe ، 0x0 ، 0x0 ، 0x0} ؛ // الأس 2 const الأس char غير الموقعة PROGMEM = {0xe ، 0x1b ، 0x3 ، 0x6 ، 0xc ، 0x18 ، 0x1f ، 0x0}؛ // 'moon_logo' ، 128 × 64 بكسل ، مقدمة حرف غير موقعة PROGMEM = {0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ،::::: 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xe0 ، 0x0f ، 0xff ، 0xf0 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x0f ، 0xff ، 0x77 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x1f ، 0xbe ، 0x7f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x1f ، 0xcc ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x3f ، 0xc0 ، 0xff ، 0xff ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x00 ، 0x3f ، 0xc0 ، 0xff ، 0xff ، 0x8f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x00 ، 0x3f ، 0xe0 ، 0x7f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfc ، 0x00 ، 0x3f ، 0x80 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x00 ، 0x3f ، 0x00 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x00 ، 0x3f ، 0xf1 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x3f ، 0xf9 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ff ، 0xff ، 0xf0 ، 0x00 ، 0x3f ، 0xfb ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ،::::: 0xff ، 0xff ، 0xe0 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x48 ، 0x7f ، 0xff ، 0xff ،:: 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0xf0 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0xe3 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0xff ، 0xff ،:: 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xe0 ، 0x00 ، 0x5f ، 0xff ، 0xff ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x3f ، 0xff ، 0xff ، 0x87 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xcf ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xb7 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfc ، 0x01 ، 0x0f ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfc ، 0x01 ، 0xfe ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x00 ، 0x00 ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x 00 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ،::::: 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x00 ، 0x00 ، 0x1f ، 0xff ، 0xff ، 0xff ،: 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff} ؛ إعداد باطل () {// htu21d htu.begin () ؛ // جهاز استشعار tsl2591 sensor_t ؛ tsl.getSensor (& المستشعر) ؛ tsl.setGain (TSL2591_GAIN_MAX) ، // MAX ، HIGH MED ، LOW ، tsl.setTiming (TSL2591_INTEGRATIONTIME_600MS) ؛ // 100MS ، 200 MS ، 300MS ، 400MS ، 500MS ، 600MS // إعداد لشاشة OLED. ابدأ (SSD1306_SWITCHCAPVCC ، OLED_ADDR) ؛ display.clearDisplay () ، display.display () ، display.drawBitmap (0 ، 0 ، مقدمة ، 128 ، 64 ، أبيض) ؛ display.display () ، تأخير (1000) ؛ display.setTextSize (1) ، display.setTextColor (WHITE) ، display.setFont (& FreeSerif9pt7b) ؛ display.clearDisplay () ، } حلقة فارغة () {لوكس = 0 ؛ ulux = 0 ؛ mag_arcsec2 = 0 ؛ درجة الحرارة = 0 ؛ rel_hum = 0 ؛ تأخير (100) ؛ lum = tsl.getFullLuminosity () ، ir = لوم >> 16 ؛ ممتلئ = lum & 0xFFFF ؛ تأخير (100) ؛ lux = tsl.calculateLux (كامل ، ir) ؛ // مكثف خفيف في microlux ulux = lux * 1000000 ؛ إذا (ulux <0) {ulux = 0 ؛ } mag_arcsec2 = log10 (لوكس / 108000) / - 0.4 ؛ // (log ((ulux / 108000)) /(-0.4) temp = htu.readTemperature () ؛ rel_hum = htu.readHumidity () ؛ display_values () ؛} void display_values () {//display.drawPixel(120، 50 ، أبيض) ؛ display.clearDisplay () ؛ display.setCursor (1، 15)؛ display.print (temp)؛ display.drawBitmap (42، 2، degree، 8، 5، WHITE)؛ display.setCursor (50، 15)؛ display.print ("C")؛ display.setCursor (70، 15)؛ display.print (rel_hum)؛ display.setCursor (114، 15)؛ display.print ("٪")؛ display.drawLine (1، 20، 127، 20، WHITE)؛ display.drawLine (67، 1، 67، 20، WHITE)؛ display.setCursor (1، 35)؛ display.print ("ulux =")؛ display.setCursor (50 ، 35)؛ display.print (ulux)؛ display.setCursor (1، 55)؛ display.print ("mag / arsec")؛ display.drawBitmap (70، 45، exponent، 8، 8، WHITE)؛ display. setCursor (83، 55)؛ display.print (mag_arcsec2)؛ display.display ()؛}

الخطوة 7: الداخل

داخل
داخل
داخل
داخل

أقوم بإنشاء حالة خاصة وأستخدم لوح التجارب مع كبلات دوبونت كما ترون.

أنا أستخدم TP4056 لشحن البطارية بكابل USB (أحتاج إلى وصلة ربط swtich dip).

لتشغيل / إيقاف أستخدم وصلة القفز.

لضوء النهار ، يظهر TSL2591 0 و mag / arcsec2 هو nan.

بالنسبة للسماء الليلية ، يجب أن يظهر TSL2591 من 0 إلى 1000000 microlux (ulux) و mag / arcsec2 المقابل

(cca.14 إلى 22 ماج / arsec2).

بالنسبة إلى القمر الكامل ، قمت بقياس 50 كيلو ulux وهو 0.05 لوكس.

موصى به: