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

ESP32 Oct 19, 2018

เกริ่นนำสักเล็กน้อยว่าทำไมบทความของผมมีแต่เซ็นเซอร์หรือโมดูลที่เป็นแต่พวกวัดอุณหภูมิ ความชื้น ความดันอากาศ แก๊ส ขอบอกก่อนเลยตั้งแต่บทความนี้ว่าของเหล่านี่ผมซื้อมาเพื่อใช้ใน Project ของผมครับเป็นอุปกรณ์ IoT เล็กๆตัวนึง อาจมีแทรกมาบ้างในเรื่องถัดๆไป ครับ จึงอยากแบ่งปันเรื่องราวของอุปกรณ์พวกนี้ ทั้งโมดูล เซ็นเซอร์ หรือ ESP32 ต่างๆ ให้คนทั่วๆไปเข้าถึงได้ครับ ว่าเรื่องพวกนี้มันอยู่รอบๆตัวเราทั้งสิ้น เซ็นเซอร์บางตัวอาจอยู่ใน Smart Phone ของคุณก็เป็นได้ ฉะนั้นพวกเราต้องก้าวและรับมือ รู้เท่าทันกับเทคโนโลยีที่จะเปลี่ยนไปพร้อมๆ กันครับ

มาเข้าเรื่องกันเลยดีกว่าครับ วันนี้ผมมี BME280 มานำเสนอ เอ้หลายคนอาจสงสัยว่าชื่อทำไมมันคุ้นๆ หากท่านใด อ่าน ตอนที่ 2 ก็จะพอทราบได้เซ็นเซอร์ที่ผมนำมาวันนี้มันคือรุ่นย่อยๆ ของของ BME ซึ่งเจ้าตัวนี้จะตัดความสามารถของการวัด VOCs Gas ออกไปเหลือไว้เพียง วัดอุณหภูมิ ความชื้น และความดันบรรยากาศเท่านั้นเอง

เรามากันที่ความสามารถกับสเปคของเจ้านี้กันก่อนเลย

โดยสเปคนั้นจะคล้ายคลึงกับตัว BME680 เลยครับ ดังนี้

  • วัดอุณหภูมิในช่วง -40 ถึง 85°C
  • วัดความชื้นในช่วง 0 ถึง 100 %
  • วัดความดันบรรยากาศในช่วง 300 hPA ถึง 1100hPA
  • รองรับแรงดันไฟที่ 2.6 ถึง 3.6 V (แนะนำคือ 3.3V ครับ!!)
  • กระแส Standby อยู่ที่ 0.2 μA
  • กระแส Sleep Mode อยู่ที่ 0.1 μA
  • รูปแบบการเชื่อมต่อ : I2C , SPI

เริ่มต้นเราก็จะต่อ BME280 เข้ากับ NodeMCU-32s ตามสเต็ปเดิม

หน้าตาหลังต่อเสร็จก็จะประมาณนี้

ต่อไปติดตั้ง Library ใครทำเป็นแล้วผ่านได้เลย

เริ่มแรกเปิด Library Manager ขึ้นมา โดยเข้าไปที่ Sketch > Incude Library > Manage Librarise …

เสร็จปุ๊บก็พิมพ์ที่ช่องค้นหา ค้นคำว่า “ bme280 ” เสร็จแล้วก็เลือก lib ที่เป็นของ Adafruit จากนั้นคลิกปุ่ม Install ตรงมุมขวา รอติดตั้งสักแปบแล้ว กด Close เปิด Library Manager อีกครั้งเพื่ออัปเดต เป็นอันเสร็จสิ้น (แหม่รวดเดียว ม้วนเดียวจบ)

ต่อมาก็มาลองโปรแกรมกับตัวเซ็นเซอร์กัน

ก็ไปที่ File > Examples > Adafruit BME280 Library > bme280test

ภาพใหม่ไม่มีย้อมแมวแน่นอน เหมียว ~~
เสร็จแล้วก็ Upload ได้เลย

ผ่าม ผ๊าม !!!

เรียบร้อยครับ Error ขึ้น ก็ให้ท่านลองขยับสายเชคสายให้ดีก่อน หรือลองเชื่อมต่อแบบ SPI หรือลองสแกนหา I2C Address ดูมันจะแสดงผลคล้ายๆ BME680 T T แต่ผมลองหมดทุกวิธีล่ะ เลยสรุปได้ว่าเจ้า BME280 ของผมนั้นลาโลกไปแล้ว 555+ แต่ถ้ามันใช้ได้หรือยังไงเดี๋ยวผมอัปเดตให้อีกที

ก็สำหรับบทสรุปสำหรับเรื่องนี้ก็คือตัวเซ็นเซอร์น่าจะมีปัญหาครับ อาจเกิดจากตอนบัดกรี pin มีความร้อนเกินไปรึป่าว หรือ เกิดจากตัวเซ็นเซอร์เองก็เป็นได้ แต่ก็ไม่เป็นไรครับ อ่อค่าตัวเจ้านี้อยู่ที่ 180 บาท อันนี้ผมสั่งจากร้าน Arduinoall ผมสั่งประจำเลย 555+ ลิ้งค์ https://www.arduinoall.com/product/1630/bme280-digital-temperature-humidity-pressure-2 ไม่ได้โทษทางร้านน่ะแต่พวกเซ็นเซอร์เนี่ยผมก็เคยเจอว่ามันมีปัญหา เป็นเรื่องปกติของอุปกรณ์ electronic ครับ (เดี๋ยวผมอาจสั่งตัวอื่นมาลองเพิ่มเติม อิอิ) ท้ายที่สุดนี้ก็ขอตัวลาไปก่อน ใครชอบก็กดปรบมือได้ครับ ขอบคุณครับ+

Tags