SEN0236.jpg
GİRİŞ
BME280, sıcaklık sensörünü, nem sensörünü ve barometreyi entegre eden çevresel bir sensördür. Sensör yüksek hassasiyetli, çok işlevli ve küçük boyutludur.
Hızlı bir prototip yapmayı kolaylaştıran SPI ve I2C arayüzleri sunar. Çevre izleme, hikaye yüksekliği ölçümü ve Nesnelerin İnterneti (IoT) kontrolü
vb. Alanlarda yaygın olarak kullanılabilir. Gravity I2C BME280 Çevre Sensörü, BoSCH en yeni MEMS sensörüne (Mikro-Elektro-Mekanik Sistem) dayanmaktadır.
Diğer tür sensörlerle, özellikle hava basıncı ölçümü ile karşılaştırmak çok kararlıdır, ofset sıcaklık katsayısı ± 1.5 Pa / K, eşdeğerdir. 1 ° C sıcaklık değişiminde ± 12.6 cm.
Bu nedenle, istikrarlı ve çok fonksiyonlu BME280'i birçok sahnede iyi bir seçim haline getirir.
ÖZELLİKLERİ
Çalışma Gerilimi: 3.3V ~ 5.0V
Çalışma Akımı: 2mA
Çalışma Sıcaklığı : -40 ℃ ~ 85 ℃
Sıcaklık Ölçüm Aralığı: -40 ℃ ~ 85 ℃, 0,1 resolution çözünürlük, ± 0,5 ℃ sapma
Nem Ölçüm Aralığı: 0 ~ 100% RH,% 0.1 RH çözünürlük, ±% 2 RH sapma
Basınç Ölçüm Aralığı: 300 ~ 1100hPa
Nem Örnekleme Süresi: 1 s
Boyut: 22 * 25 mm / 0.87 * 0.98 inç
Ağırlık: 12g
Name_SEN0236_Layout.png
SEN0236_Arduino_I2C_Connection.png
EĞİTİM
BME280 Çevre Sensörünün iki arayüzü vardır: I2C ve SPI. Bu bölümde, nasıl kullanılacağı hakkında size iki örnek göstereceğiz.
Gereksinimler
Arduino I2C örnek kod
SEN0236_Arduino_Sample_Code.png
Arduino SPI Bağlantı Şeması
SEN0236_Arduino_SPI_Connection.png
Arduino SPI örnek kod
SEN0236_Arduino_Sample_Code (1).png
GİRİŞ
BME280, sıcaklık sensörünü, nem sensörünü ve barometreyi entegre eden çevresel bir sensördür. Sensör yüksek hassasiyetli, çok işlevli ve küçük boyutludur.
Hızlı bir prototip yapmayı kolaylaştıran SPI ve I2C arayüzleri sunar. Çevre izleme, hikaye yüksekliği ölçümü ve Nesnelerin İnterneti (IoT) kontrolü
vb. Alanlarda yaygın olarak kullanılabilir. Gravity I2C BME280 Çevre Sensörü, BoSCH en yeni MEMS sensörüne (Mikro-Elektro-Mekanik Sistem) dayanmaktadır.
Diğer tür sensörlerle, özellikle hava basıncı ölçümü ile karşılaştırmak çok kararlıdır, ofset sıcaklık katsayısı ± 1.5 Pa / K, eşdeğerdir. 1 ° C sıcaklık değişiminde ± 12.6 cm.
Bu nedenle, istikrarlı ve çok fonksiyonlu BME280'i birçok sahnede iyi bir seçim haline getirir.
ÖZELLİKLERİ
Çalışma Gerilimi: 3.3V ~ 5.0V
Çalışma Akımı: 2mA
Çalışma Sıcaklığı : -40 ℃ ~ 85 ℃
Sıcaklık Ölçüm Aralığı: -40 ℃ ~ 85 ℃, 0,1 resolution çözünürlük, ± 0,5 ℃ sapma
Nem Ölçüm Aralığı: 0 ~ 100% RH,% 0.1 RH çözünürlük, ±% 2 RH sapma
Basınç Ölçüm Aralığı: 300 ~ 1100hPa
Nem Örnekleme Süresi: 1 s
Boyut: 22 * 25 mm / 0.87 * 0.98 inç
Ağırlık: 12g
Name_SEN0236_Layout.png
1 | + | 3.3~5V |
2 | - | GND |
3 | C | SCL |
4 | D | SDA |
EĞİTİM
BME280 Çevre Sensörünün iki arayüzü vardır: I2C ve SPI. Bu bölümde, nasıl kullanılacağı hakkında size iki örnek göstereceğiz.
Gereksinimler
- Donanım
- DFRduino UNO x 1
- Yerçekimi: I2C BME280 Çevresel Sensör x1
- M-M / F-M / F-F Atlama telleri
- Yazılım
- Arduino IDE (Sürüm gereksinimi: V1.8), Arduino®'dan Arduino IDE'yi indirmek için tıklayın
- BME280 Çevre Sensörü Arduino Kütüphanesi (Github) Arduino IDE Kütüphaneleri nasıl kurulur?
Arduino I2C örnek kod
/*!
* file basicTestI2C.ino
* @brief DFRobot's Temperature、Pressure、Humidity and Approx altitude
* @n [Get the module here]
* @n This example read the Temperature、Pressure、Humidity and Altitude from BME280, and then print them
* @n [Connection and Diagram]
*
* copyright [DFRobot](http://www.dfrobot.com), 2016
* copyright GNU Lesser General Public License
*
* author [yangyang]
* @version V1.0
* @date 2017-7-5
*/
#include <DFRobot_BME280.h>
#define SEA_LEVEL_PRESSURE 1013.25f
#define BME_CS 10
DFRobot_BME280 bme; //I2C
float temp, pa, hum, alt;
void setup() {
Serial.begin(115200);
// I2c default address is 0x76, if the need to change please modify bme.begin(Addr)
if (!bme.begin(0x77)) {
Serial.println("No sensor device found, check line or address!");
while (1);
}
Serial.println("-- BME280 DEMO --");
}
void loop() {
temp = bme.temperatureValue();
pa = bme.pressureValue();
hum = bme.humidityValue();
alt = bme.altitudeValue(SEA_LEVEL_PRESSURE);
Serial.print("Temp:");
Serial.print(temp);
Serial.println(" C");
Serial.print("Pa:");
Serial.print(pa);
Serial.println(" Pa");
Serial.print("Hum:");
Serial.print(hum);
Serial.println(" %");
Serial.print("Alt:");
Serial.print(alt);
Serial.println(" m");
Serial.println("------END------");
delay(1000);
}
* file basicTestI2C.ino
* @brief DFRobot's Temperature、Pressure、Humidity and Approx altitude
* @n [Get the module here]
* @n This example read the Temperature、Pressure、Humidity and Altitude from BME280, and then print them
* @n [Connection and Diagram]
*
* copyright [DFRobot](http://www.dfrobot.com), 2016
* copyright GNU Lesser General Public License
*
* author [yangyang]
* @version V1.0
* @date 2017-7-5
*/
#include <DFRobot_BME280.h>
#define SEA_LEVEL_PRESSURE 1013.25f
#define BME_CS 10
DFRobot_BME280 bme; //I2C
float temp, pa, hum, alt;
void setup() {
Serial.begin(115200);
// I2c default address is 0x76, if the need to change please modify bme.begin(Addr)
if (!bme.begin(0x77)) {
Serial.println("No sensor device found, check line or address!");
while (1);
}
Serial.println("-- BME280 DEMO --");
}
void loop() {
temp = bme.temperatureValue();
pa = bme.pressureValue();
hum = bme.humidityValue();
alt = bme.altitudeValue(SEA_LEVEL_PRESSURE);
Serial.print("Temp:");
Serial.print(temp);
Serial.println(" C");
Serial.print("Pa:");
Serial.print(pa);
Serial.println(" Pa");
Serial.print("Hum:");
Serial.print(hum);
Serial.println(" %");
Serial.print("Alt:");
Serial.print(alt);
Serial.println(" m");
Serial.println("------END------");
delay(1000);
}
Arduino SPI Bağlantı Şeması
SEN0236_Arduino_SPI_Connection.png
Arduino SPI örnek kod
/*!
* file basicTestSPI.ino
* @brief DFRobot's Temperature、Pressure、Humidity and Approx altitude
* @n [Get the module here]
* @n This example read the Temperature、Pressure、Humidity and Altitude from BME280, and then print them
* @n [Connection and Diagram]
*
* copyright [DFRobot](http://www.dfrobot.com), 2016
* copyright GNU Lesser General Public License
*
* author [yangyang]
* @version V1.0
* @date 2017-7-5
*/
#include <DFRobot_BME280.h>
#define SEA_LEVEL_PRESSURE 1013.25f
#define BME_CS 10
DFRobot_BME280 bme(BME_CS); //SPI
float temp, pa, hum, alt;
void setup() {
Serial.begin(115200);
// I2c default address is 0x76, if the need to change please modify bme.begin(Addr)
if (!bme.begin()) {
Serial.println("No sensor device found, check line or address!");
while (1);
}
Serial.println("-- BME280 DEMO --");
}
void loop() {
temp = bme.temperatureValue();
pa = bme.pressureValue();
hum = bme.humidityValue();
alt = bme.altitudeValue(SEA_LEVEL_PRESSURE);
Serial.print("Temp:");
Serial.print(temp);
Serial.println(" C");
Serial.print("Pa:");
Serial.print(pa);
Serial.println(" Pa");
Serial.print("Hum:");
Serial.print(hum);
Serial.println(" %");
Serial.print("Alt:");
Serial.print(alt);
Serial.println(" m");
Serial.println("------END------");
delay(1000);
}
* file basicTestSPI.ino
* @brief DFRobot's Temperature、Pressure、Humidity and Approx altitude
* @n [Get the module here]
* @n This example read the Temperature、Pressure、Humidity and Altitude from BME280, and then print them
* @n [Connection and Diagram]
*
* copyright [DFRobot](http://www.dfrobot.com), 2016
* copyright GNU Lesser General Public License
*
* author [yangyang]
* @version V1.0
* @date 2017-7-5
*/
#include <DFRobot_BME280.h>
#define SEA_LEVEL_PRESSURE 1013.25f
#define BME_CS 10
DFRobot_BME280 bme(BME_CS); //SPI
float temp, pa, hum, alt;
void setup() {
Serial.begin(115200);
// I2c default address is 0x76, if the need to change please modify bme.begin(Addr)
if (!bme.begin()) {
Serial.println("No sensor device found, check line or address!");
while (1);
}
Serial.println("-- BME280 DEMO --");
}
void loop() {
temp = bme.temperatureValue();
pa = bme.pressureValue();
hum = bme.humidityValue();
alt = bme.altitudeValue(SEA_LEVEL_PRESSURE);
Serial.print("Temp:");
Serial.print(temp);
Serial.println(" C");
Serial.print("Pa:");
Serial.print(pa);
Serial.println(" Pa");
Serial.print("Hum:");
Serial.print(hum);
Serial.println(" %");
Serial.print("Alt:");
Serial.print(alt);
Serial.println(" m");
Serial.println("------END------");
delay(1000);
}
SEN0236_Arduino_Sample_Code (1).png