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

محطة الطقس المحمولة: 4 خطوات
محطة الطقس المحمولة: 4 خطوات

فيديو: محطة الطقس المحمولة: 4 خطوات

فيديو: محطة الطقس المحمولة: 4 خطوات
فيديو: How to setup your IC-BL-400 Portable Bluetooth Weather Station 2024, شهر نوفمبر
Anonim
محطة الطقس المحمولة
محطة الطقس المحمولة
محطة الطقس المحمولة
محطة الطقس المحمولة
محطة الطقس المحمولة
محطة الطقس المحمولة

في Instructable ، سنستخدم مجموعة Arduino وشاشة oled ومستشعر SparkFun البيئي مع مستشعرات CCS811 و BME280 على متن الطائرة لبناء جهاز محمول باليد يقيس درجة الحرارة والرطوبة ومستويات TVOC والضغط الجوي ومستويات ثاني أكسيد الكربون. يمكنك استخدام أي Arduino مع الكود المقدم ، لكنني أستخدم SparkFun Qwiic pro micro. إذا كنت مبتدئًا ، أقترح عليك استخدام نفس الأجزاء التي أستخدمها ، فقط لإبقاء الأمور بسيطة. لقد اخترت لوحة SparkFun Qwiic pro الصغيرة لحجمها الصغير وموصل Qwiic ، مما يسهل توصيل المكونات الخاصة بك. إذا كنت تستخدم لوحة مختلفة ، فتأكد من شراء قبعة Qwiic أو phat أو درع يناسب اللوح الخاص بك.

اللوازم:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • كابل Qwiic ، 50 مم -
  • صندوق المشروع ، الحجم المناسب لمكوناتك ، أنا أستخدم حوالي 3 × 2 × 1 -
  • اختياري: إذا كنت تستخدم Qwiic Pro Micro ، فقد تحتاج إلى كبل USB-c (إذا لم يكن لديك واحد بالفعل) للطاقة والبرمجة
  • شاشة النافذة ، حوالي 1.5 × 1.5 بوصة
  • مسامير (انظر الصورة أعلاه)

أدوات:

  • عصي الغراء الساخنة ومسدس الغراء الساخن
  • مقص
  • شفرة حلاقة أو سكين x-acto ، قادر على قطع صندوق المشروع الخاص بك

الخطوة 1: ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة

ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة
ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة
ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة
ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة
ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة
ضع علامة على الثقوب وقطعها ووضعها في نافذة الشاشة

سنقوم بوضع علامات وقطع ثقوب لمستشعر oled والمستشعر البيئي وموصل USB-C للبرمجة والطاقة.

  1. قم بمحاذاة المكونات الخاصة بك حيث تريدها وقم بتمييز فتحات المسامير.
  2. حدد المربعات ، بالنسبة إلى oled ، مربع بحجم الشاشة ولجهاز استشعار البيئة ، مربع أكبر قليلاً من المستشعرين (انظر الصور أعلاه).
  3. حدد مساحة موصل USB-C. كانت لوحة Qwiic Pro Micro الخاصة بي تحتوي على رؤوس ملحومة عليها بالفعل ، لذا قمت بوضعها في قطعة من الرغوة وقمت بتمييزها. إذا لم يكن لديك ، ضعها بشكل مسطح مقابل الجزء السفلي من العلبة لتحديد الفتحة.
  4. حفر الثقوب المحددة وقطع موصل USB-C. يجب أن تكون الثقوب المحفورة كبيرة بما يكفي للسماح للبراغي بالمرور.
  5. قم بقص مربع من شاشة النافذة أكبر قليلاً من فتحة المستشعر. قم بقطع مساحة على شاشة النافذة لثقب المسمار ووظيفة التثبيت (انظر الصور أعلاه).
  6. الغراء الساخن للشاشة في مكانها.

الخطوة 2: تركيب Oled والمستشعر

جبل Oled والمستشعر
جبل Oled والمستشعر
جبل Oled والمستشعر
جبل Oled والمستشعر
جبل Oled والمستشعر
جبل Oled والمستشعر

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

الخطوة 3: قم بتركيب Arduino وتوصيل المكونات

قم بتركيب Arduino وتوصيل المكونات
قم بتركيب Arduino وتوصيل المكونات
قم بتركيب Arduino وتوصيل المكونات
قم بتركيب Arduino وتوصيل المكونات
قم بتركيب Arduino وتوصيل المكونات
قم بتركيب Arduino وتوصيل المكونات
  1. كانت لوحة Qwiic Pro Micro الخاصة بي تحتوي على رؤوس ملحومة عليها بالفعل ، لذا قمت بوضعها في قطعة من الرغوة ولصقها لأسفل. إذا لم يكن لديك رؤوس ، فقم بلصقها أسفل العلبة. تأكد من وجود مساحة كافية لتوصيل كبل Qwiic.
  2. قم بتوصيل المكونات بموصلات Qwiic. لا يوجد ترتيب أو جانب موصل Qwiic في الأمر. انظر الصور أعلاه للتوضيح.
  3. يمكنك الآن تجميع صندوق مشروعك معًا. تأكد من أن كبلات Qwiic متصلة بإحكام ولا تنضغط.

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

للحصول على لوحة Qwiic pro الصغيرة وتشغيلها ، اتبع هذا البرنامج التعليمي.

بمجرد الانتهاء من ذلك ، يمكنك العثور على الكود أدناه على GitHub هنا.

#include #include #include #include #define PIN_RESET 9 # حدد DC_JUMPER 1 # حدد CCS811_ADDR 0x5B // Default I2C AddressMicroOLED oled (PIN_RESET ، DC_JUMPER) ؛ CCS811 myCCS811 (CCS811_ADDRoid) ؛ الإعداد ؛ Wire.begin () ؛ oled.begin () ، // تهيئة OLED oled.clear (ALL) ؛ // مسح الذاكرة الداخلية للعرض oled.display () ؛ // عرض ما يوجد في المخزن المؤقت (شاشة البداية) oled.clear (PAGE) ؛ // مسح المخزن المؤقت. randomSeed (analogRead (A0) + analogRead (A1)) ؛ // تهيئة BME280 // بالنسبة لـ I2C ، قم بتمكين ما يلي وقم بتعطيل قسم SPI myBME280.settings.commInterface = I2C_MODE ؛ myBME280.settings. I2CAddress = 0x77 ؛ myBME280.settings.runMode = 3 ، // الوضع العادي myBME280.settings.tStandby = 0 ؛ myBME280.settings.filter = 4 ، myBME280.settings.tempOverSample = 5 ، myBME280.settings.pressOverSample = 5 ؛ myBME280.settings.humidOverSample = 5 ؛ CCS811Core:: CCS811_Status_e returnCode = myCCS811.beginWithStatus () ، // Calling.begin () يؤدي إلى تأخير تحميل الإعدادات (10) ؛ // تأكد من أن المستشعر لديه الوقت الكافي للتشغيل. يتطلب BME280 2 مللي ثانية لبدء التشغيل. معرف البايت = myBME280.begin () ، // يُرجع المعرف 0x60 في حالة التأخير الناجح (10000) ؛ } void print_data () {oled.setFontType (0) ؛ oled.setCursor (0، 0) ؛ oled.print ("TMP") ؛ oled.setCursor (25، 0) ؛ oled.print (round (myBME280.readTempF ())) ؛ oled.setCursor (0، 10) ؛ oled.print ("HUM") ؛ oled.setCursor (25 ، 10) ؛ oled.print (دائري (myBME280.readFloatHumidity ())) ؛ oled.setCursor (0، 20) ؛ oled.print ("المركبات العضوية المتطايرة") ؛ oled.setCursor (25 ، 20) ؛ oled.print (round (myCCS811.getTVOC ())) ؛ oled.setCursor (0، 30) ؛ oled.print ("BAR") ؛ oled.setCursor (25 ، 30) ؛ oled.print (round (myBME280.readFloatPressure ())) ؛ oled.setCursor (0 ، 40) ؛ oled.print ("CO2") ؛ oled.setCursor (25 ، 40) ؛ oled.print (round (myCCS811.getCO2 ())) ؛ oled.display () ، } void loop () {delay (2000)؛ // تحقق لمعرفة ما إذا كانت البيانات متاحة إذا (myCCS811.dataAvailable ()) {// يؤدي استدعاء هذه الوظيفة إلى تحديث متغيرات tVOC و eCO2 العالمية myCCS811.readAlgorithmResults () ؛ // printData تجلب قيم tVOC و eCO2 float BMEtempC = myBME280.readTempC () ؛ تعويم BMEhumid = myBME280.readFloatHumidity () ، // هذا يرسل بيانات درجة الحرارة إلى CCS811 myCCS811.setEnvironmentalData (BMEhumid ، BMEtempC) ؛ } print_data () ؛ تأخير (2000) ؛ }

الصق الكود في Arduino IDE وقم بتجميعه. يجب أن تعرض الشاشة شعار SparkFun لبضع ثوان ، ثم تبدأ في عرض الظروف الحية. يتم تحديث الشروط كل ثانيتين تقريبًا. شكرا للقراءة.

حصلت على السؤال؟

اترك تعليقاً أو أرسل لي بريدًا إلكترونيًا هنا

موصى به: