[ESP32] การใช้งานโมดูล BME680 วัดอุณหภูมิ ความชื้น ความดันบรรยากาศ และแก๊ส VOCs

ESP32 Oct 19, 2018

มาต่อกันเลยครับ 555+ ขอแนะนำให้ท่านรู้จักกับโมดูล BME680 ซึ่งเป็นโมดูลที่ทางบริษัทยักษ์ใหญ่อย่าง BOSCH ใช่ครับผมเขียนไม่ผิดหลอก BOSCH ที่ผลิตเครื่องมือช่างนั่นแหละ เขามีหลายสายการผลิตโดยที่เลือกเขียนบทความนี้ เพราะ ผมหาๆดูแล้วไม่ค่อยมีใครใช้ เลยทำให้ไม่ค่อยมีหรือแทบไม่มีเนื้อหาภาษาไทยเกี่ยวกับโมดูลนี้เลย โดยรายละเอียดราคากับแหล่งการซื้อเดี๋ยวผมจะใส่ไว้ด้านล่างของบทความครับ (ราคาแอบแรงแต่ผมก็ว่าคุ้มค่าน่ะกับความสามารถของมัน)

มาเริ่มกันเลย

โดยโมดูลตัวนี้มีความสามารถและสเปคดังนี้

  • วัดอุณหภูมิในช่วง -40 ถึง 85°C
  • วัดความชื้นในช่วง 0 ถึง 100 %
  • วัดความดันบรรยากาศในช่วง 300 hPA ถึง 1100hPA
  • สามารถแปลงความดันเป็นความสูงได้ด้วยน่ะเออเจ๋งม่ะ
  • รองรับแรงดันไฟที่ 2.6 ถึง 5.5 V
  • กระแส Standby อยู่ที่ 0.2 μA
  • กระแส Sleep Mode อยู่ที่ 0.15 μA
  • รูปแบบการเชื่อมต่อ : I2C , SPI
  • I2C Address : 0x76 หรือ 0x77
  • วัด VOCs GAS ได้ (เป็นสารประกอบอินทรีย์ ที่มีส่วนประกอบของ Carbon และ Hydrogen พบมากในรูปแก๊ส เช่น Acetone Benzene Ethylene glycol เป็นสารระเหยที่มีความรุนแรงตั้งแต่ระคายเคืองไปจนถึงหมดสติได้)

อันดับแรกต่อสายตัวโมดูล BME680 กับ NodeMCU-32s ดังต่อไปนี้

PINOUT ของ NodeMCU-32s เครดิตภาพ www.ioxhop.com
แผนผังการต่อ NodeMCU-32s กับโมดูล BME680
พอต่อออกมาแล้วก็จะได้หน้าตาประมาณนี้ หุหุ

ต่อไปจะเป็นการติดตั้ง Library ของ BME680

อันดับแรกให้ท่านคลอกปุ่ม Sketch > Include Library > Manage Librarise…

จากนั้นให้พิมพ์ที่ช่องค้นหาว่า “ bme680 ” เลือกอันที่เป็นของ Adafruit BME680 จากนั้นกดปุ่ม Install

รอแปบเดียวก็ติดตั้งเสร็จ จากนั้นกด Close

จากนั้นให้ท่านทำการคลิกลิ้งค์นี้ https://github.com/adafruit/Adafruit_Sensor/archive/master.zip เพื่อทำการดาวน์โหลด Adafruit_Sensor.h พอโหลดเสร็จจะได้เป็นไฟล์นามสกุล .zip ให้ท่านกดปุ่ม Sketch > Include Library > Add .ZIP Library…

จากนั้นก็ให้ท่านเลือกไฟล์ที่ดาวน์โหลดมะกี้แล้วกด Open (ในที่นี้คือไฟล์ Adafruit_Sensor-master)

จากนั้นไปที่ Sketch > Include Library > Manage Librarise… อีกครั้งนึง เพื่อเป็นการอัปเดต Library ให้ตัวโปรแกรม รอจนแถบวิ่งๆด้านล่างไม่มี จากนั้นกด Close

ต่อไปเป็นการทดสอบตัวโมดูลโดยการอัปโหลดโปรแกรมเข้าไป

เริ่มแรกให้คลิกปุ่ม File > Examples > Adafruit BME680 Library > bme680test

จากนั้นคลิกปุ่ม uploade (->) อัปโหลดต่อไม่รอแล้วน่ะ อิอิ

ภาพแสดงว่ามันอัปโฆลดโปรแกรมเสร็จแล้ว มันจะขึ้น Done uplaoding.

จากนั้นให้กดปุ่มคล้ายๆแว่วขยาย เขาเรียกว่า Serial Monitor พอคลิกปุ๊บก็จะมีหน้าต่างเด้งแบบในภาพ เสร็จปั๊บให้ท่านปรับ baud เป็น 9600 ก็จะมีค่า อุณหภูมิ(Temperature) ความดันบรรยากาศ(Pressure) แก็ส VOCs (Gas) และ ความสูง (Approx. Altitde ← มันอิงจากค่าอุณหภูมิและความดันบรรยากาศ)

บทสรุป

ก็จากที่ได้ทดลองกันไปแล้วค่าที่ออกมาสามารถนำไปใช้ต่อได้แล้วแต่ใครจะเอาไปประยุกต์ใช้ยังไงต่อ ส่วนค่า แก๊ส VOCs (Gas) เนี่ยมันยังเป็นข้อมูลดิบอาจจะต้องไปแปลงอีกรอบให้อยู่เป็นช่วงของระดับอันตราย เช่น ตารางข้างล่าง (ใครแปลงได้บอกผมด้วยน่ะ 555+)

จากคู่มือของ ฺBOSCH BME680 https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME680-DS001-00.pdf
ท้ายที่สุดนี้ก็อยากจะฝากขอบคุณที่อ่านมากันจนจบน่ะครับ ผมจะเขียนบทความแนวๆนี้เรื่อยๆ ครับ หากผิดพลาดตรงไหน ขาดเหลืออย่างไรท่านสามารถแนะนำผมได้โดย comment หรือเป็นกำลังใจโดยการปรบมือ (แปะๆ 555+) ได้น่ะครับ

อ่อ เกือบลืมสำหรับค่าตัวเจ้า โมดูล BME680 ตัวนี้อยู่ที่ 500 บาท ครับ (555+ ในเล็กห้ามีน้ำตาซ่อนอยู่) ผมสั่งซื้อจาก https://www.mcucity.com/product/2161/4-in-1-bme680-temperature-humidity-pressure-and-gas-sensor ต้องขอบคุณร้านนี้น่ะครับที่ทำให้ผมเสียตัง อิอิ สำหรับบทความนี้ก็ขอจบไว้เพียงเท่านี้ ขอบคุณครับ

Tags