Module BME280
เป็นโมดูลวัดอุณหภูมิความชื้นและความดันอากาศ มีหลายรุ่น หน้าตาหลายแบบ ที่ผมใช้เป็นดังภาพภาพ รองรับการสื่อสารแบบ I2C และ SPI บางรุ่น ที่มี 4 ขารองรับแค่ I2C อย่างเดียว![]() |
BME-280 แบบ 6 ขารองรับ SPI และ I2C |
ค้น BME280 ติดตั้งของ Adafruit
VCC ต่อ 3.3v
GND ต่อ Ground
SCL ต่อ 22
SDA ต่อ 21
ขณะนี้ไลบารี่ของ Adafruit รุ่น 2.0.x มีปัญหาในการใช้งานโค้ดด้านล่างอาจจะไม่สามารถใช้งานได้ แนะนำให้ใช้ 1.1.0 ลงมา
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define SEALEVELPRESSURE_HPA (1013.25) //ความกดอากาศที่ระดับน้ำทะเล Adafruit_BME280 bme; // ตัวอย่างใช้การเชื่อมต่อ I2C unsigned long delayTime; void setup() { Serial.begin(9600); if (!bme.begin()) { Serial.println("Invalid BME280 sensor, check wiring, address, sensor ID!"); Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16); while(1); } } void loop() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); delay(1000); } |
เราสามารถหาค่าความสูงจากระดับน้ำทะเลได้เป็นของแถม เมื่อเทียบความดันอากาศ ณ ตำแหน่งที่เราวัดกับความดันอากาศที่ระดับน้ำทะเล ซึ่งจะมีค่า 101,325 Pa (1,013.25 hPa; 1,013.25 mbar)มีค่าเท่ากับ 760 mm Hg, 29.9212 inches Hg หรือ 14.696 psi
เพิ่มเติม
- Note: Bosch Sensortec BMP280 vs BME280 Sensor Confusion
- ESP32 Web Server with BME280 – Advanced Weather Station
- BMP280 Sleep Mode
- BME280 Data Sheet
ไม่มีความคิดเห็น:
แสดงความคิดเห็น