วันพฤหัสบดีที่ 21 พฤศจิกายน พ.ศ. 2562

Module:Environment:BME280

Module BME280

    เป็นโมดูลวัดอุณหภูมิความชื้นและความดันอากาศ มีหลายรุ่น หน้าตาหลายแบบ ที่ผมใช้เป็นดังภาพภาพ รองรับการสื่อสารแบบ I2C และ SPI บางรุ่น ที่มี 4 ขารองรับแค่ I2C อย่างเดียว

BME-280 แบบ 6 ขารองรับ SPI และ I2C

รุ่นที่คล้ายกันมากคือ BMP280 (ดู P กับ E)จะถูกกว่าไม่สามารถวัดความชื้นได้ หน้าตาแทบเหมือนกันบางทีคนขายก็เอา BMP280 มาขายเป็น BME280 ดูยากมากเพราะที่แตกต่างกันคือเซเซอร์ที่เป็นกล่องเงินๆตัวเล็กๆที่อยู่ตรงกลาง ต้องใช้แว่นขยายดูเบอร์ ถ้าโค้ดเป็นตัว U ก็เป็น BME280 ของแท้  วิธีการดูในรายละเอียดผมใส่ในลิงค์ด้านล่าง ลองโปรแกรมเลยก็ได้ถ้าถูกรุ่นถึงจะใช้งานได้  ให้ติดตังไลบารี ให้เรียก Library Manager ขึ้นมา โดยเข้าไปที่ Sketch > Incude Library > Manage Libraries …
ค้น 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

เพิ่มเติม


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Module:Control:IFR 520

MOSFET Module  สวิตซ์ปิดเปิดไฟเหมือน Relay แต่เป็น Solid state (ไม่มีส่วนที่เคลื่อนไหว) มันทำงานที่ความถี่สูงได้เหมาะกับเอาไปใช้งาน PWM ...