BME280 sıcaklık sensör modülü ile  Arduino Uygulaması

Proje adı: BME280 sıcaklık sensör modülü ile  Arduino Uygulaması
Etiketler: Arduino, Arduino Uno, BME280, BME280 sensörü, nem, sıcaklık, basınç, rakım, GY-BME280, Dijital Sensör, SPI I2C Nem Sıcaklığı ve Barometrik Basınç Sensörü Modülü, GY-BME280-3.3
Ekler: I2Cscannersketch , bme280testsketch1 , kütüphane1 ve kütüphane2
Bu projede şu parçalara ihtiyacınız vardı:
1.Aruduino Uno R3 (Arduino’nun diğer sürümünü de kullanabilirsiniz)

2.Arduino IDE (siz indirebilirsiniz burada )
3. Bağlantı kablosu MM

4. Breadboard 1 adet

5. BME280 sensör modülü 1 adet

Genel
Arduino kartlı BME280 sensör modülünden basınç, sıcaklık ve nemin nasıl alınacağını öğreneceğiz.
BME280 modülünü anlama
BME280, Bosch’un yeni nesil sensörleridir ve 0,25 m’lik düşük rakım gürültüsü ve aynı hızlı dönüşüm süresiyle BMP085 / BMP180 / BMP183’e yükseltmedir.

BME280 sensör modülü sıcaklık, nem ve basıncı okur. Basınç yükseklikle değiştikçe yüksekliği de tahmin edebilirsiniz.
Sensör, SPI (3-, 4 telli SPI’yı destekler) veya I2C iletişim protokollerini kullanarak iletişim kurabilir (bu sensörün sadece I2C ile iletişim kuran modülleri vardır, bunlar sadece dört pimli gelir).
Sensör, yerleşik bir LM6206 3.3V regülatörü ve I2C Voltaj Seviyesi Çeviricisi ile birlikte gelir, böylece Arduino gibi bir 3.3V veya 5V mantık mikrodenetleyici ile endişelenmeden kullanabilirsiniz.
BME280 ölçümler sırasında 1mA’dan az, boşta ise sadece 5μA tüketir. Bu düşük güç tüketimi, ahizeler, GPS modülleri veya saatler gibi pille çalışan cihazlarda uygulamaya izin verir.
Özellikler:
• Besleme Gerilimi: 1.8 – 5V DC
• Arayüz: I2C (3.4MHz’e kadar), SPI (10 MHz’e kadar)
• Çalışma Aralığı: Sıcaklık: -40 ila + 85 ° C
• Nem oranı:% 0-100
• Basınç: 300-1100 hPa
• Çözünürlük: Sıcaklık: 0.01 ° C Nem: 0.008% Basınç: 0.18Pa
• Doğruluk: Sıcaklık: + -1 ° C Nem: + -3% Basınç: + -1Pa
• I2C adresi SDO LOW: 0x76 SDO YÜKSEK: 0x77
Modül, seçtiğiniz herhangi bir mikrodenetleyici ile kolayca arayüzlenebilen basit bir iki telli I2C arayüzüne sahiptir. BME280 modülünün varsayılan I2C adresi 0x76’dır ve çip dışındaki lehim atlama teli ile kolayca 0x77 olarak değiştirilebilir .
I2C Adresi nasıl değiştirilir?
1. Yonga dışında lehim atlama telini bulun. Varsayılan olarak orta bakır ped sol pede bağlıdır.
2. Keskin bir bıçak kullanarak olanların bağlantısını kesmek için orta ve sol bakır ped arasındaki bağlantıyı çizin.
3. Onlara katılmak için orta ve sağ bakır ped arasına bir lehim blob ekleyin. I2C adresini 0x77 ayarlamanızı sağlar.

BME280 sensör modülünün sinyalleri ve bağlantıları
SPI iletişim protokolünü kullanmak için aşağıdaki pinlere sahip olmalısınız:
VIN – güç kaynağı 3.3V DC
GND – öğütülmüş
CLK (veya SCK veya SCL ) (Seri Saat) – Master tarafından üretilen veri iletimini senkronize eden saat darbeleri
MISO (veya DO veya SO veya SDO ) (Master In Slave Out) – Master’a veri göndermek için Slave hattı
MOSI (veya DI veya SI veya CMD veya SDI veya SDA ) (Master Out Slave In) – Çevre birimlere veri göndermek için Master hattı
CS (veya SS veya D3 veya CSB ) (Chip Select veya Slave Select) – master’ın belirli cihazları etkinleştirmek ve devre dışı bırakmak için kullanabileceği her cihazdaki pin
BME280 sensör modülünüzde 4 pim varsa, yalnızca I2C iletişim protokolünü kullanabilir:
VIN – güç kaynağı 3.3V DC
GND – öğütülmüş
SDA – Seri Veri Hattı
SCL – Seri Saat Hattı
kablolama
Bağlantılar çok basit. VIN pinini Arduino’daki 5V çıkışına bağlayın ve GND’yi toprağa bağlayın.
Her Arduino Kartında buna göre bağlanması gereken farklı I2C pinleri bulunduğunu unutmayın. R3 mizanpajlı Arduino kartlarında, SDA (veri hattı) ve SCL (saat hattı) AREF pimine yakın pim başlıklarında bulunur. A5 (SCL) ve A4 (SDA) olarak da bilinirler.
Arduino Nano’nun A5 (SCL) ve A4 (SDA) özellikleri vardır. Arduino Mega ve Leonardo / Micro’nuz varsa, pimler farklıdır! Arduino Mega – 21 (SCL) ve 20 (SDA), Leonardo / Micro – 3 (SCL) ve 2 (SDA)

kod
Eskiz dört kütüphane viz dahil etmek ile başlar. Wire.h, SPI.h, Adafruit_Sensor.h ve Adafruit_BME280.h.
Daha sonra, yüksekliği hesaplamak ve Adafruit_BME280 kütüphanesinin bir nesnesini oluşturmak için gerekli SEALEVELPRESSURE_HPA değişkenini tanımlarız, böylece onunla ilgili işlevlere erişebiliriz.
Kodun kurulum bölümünde PC ile seri iletişimi başlatır ve begin () işlevini çağırırız.
Begin (I2C_ADDR) işlevi, modülün I2C adresini parametre olarak alır. Modülünüzün farklı I2C adresi varsa veya değiştirdiyseniz, doğru bir şekilde belirtmeniz gerekir. Bu işlev verilen I2C Adresi ile I2C arayüzünü başlatır ve çip kimliğinin doğru olup olmadığını kontrol eder. Daha sonra yumuşak sıfırlama kullanarak çipi sıfırlar ve uyandıktan sonra sensörün kalibrasyonunu bekler.
Kodun döngü bölümünde, BME280 modülünden sıcaklık, bağıl nem ve barometrik basıncı okumak için aşağıdaki işlevleri kullanırız.
readTemperature () işlevi, sensörden sıcaklığı döndürür.
readPressure () işlevi sensörden barometrik basıncı döndürür.
readAltitude (SEALEVELPRESSURE_HPA) işlevi, belirtilen atmosfer basıncından (hPa cinsinden) ve deniz seviyesi basıncından (hPa cinsinden) yüksekliği (metre cinsinden) hesaplar.
readHumidity () işlevi sensörden bağıl nemi döndürür.
Adım Adım talimat
1. Kablolama yapın.
2. Arduino IDE’yi açın.
3. Adruino Uno kartınızı PC’nize takın ve doğru kart ve com bağlantı noktasını seçin.
4. BME280 I2C adresinizi bulun. Her cihazın komutları kabul etmek veya mesaj göndermek için kullandığı bir I2C adresi vardır. I2Cscannersketch’i derleyin ve Arduino kartınıza yükleyin .
5. Seri Monitörü 115200 baud hızında açın. Arduino bir yanıt arayan adres aralığını tarayacaktır. Belgeler 0x77 olduğunu söylemesine rağmen, bu tarayıcı farklı algılayabilir (bizim durumumuzda 0x76). Adafruit_BME280 kütüphanesi varsayılan I2C adresini 0x77 vardır ve 0x76 alıyorsanız eğer kod satırını değiştirmek gerekebilir bme280testsketch1 : ) (bme.begin = statü; status = bme.begin (0x76);
6. Bme280testsketch1’i doğrulayın ve Adruino Uno kartınıza yükleyin .
7. Seri Monitörü 115200 baud hızında açın. Sensördeki okumaları şimdi görebilirsiniz.

özet
Arduino kartlı BME280 sensör modülünden basınç, sıcaklık ve nemin nasıl alınacağını öğrendik.
Kütüphane:
• Bu proje açıklamasının başlangıcında ekli tüm kütüphaneler.
• Tel kütüphanesi Arduino IDE’nize dahildir.
Adafruit BME280 kütüphanesi dahil. PC’nizdeki kütüphaneleri indirin, sıkıştırın ve ekleyin : örneğin C: \ Users \ toshiba \ Documents \ Arduino \ library . Bu bağlantıya PC’nizde yüklü olan Adruino IDE programının Tercihleri bölümünde ulaşabilirsiniz. Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
• Adafruit_Sensor kütüphanesi dahil. PC’nizdeki kütüphaneleri indirin, sıkıştırın ve ekleyin: örneğin C: \ Users \ toshiba \ Documents \ Arduino \ library. Bu bağlantıya PC’nizde yüklü olan Adruino IDE programının Tercihleri bölümünde ulaşabilirsiniz. Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .

unknown arduino_BME280_sicaklik_sensoru.pdf—–indir

• Bu proje açıklamasının başlangıcındaki eklere bakın.

Posted in Makaleler.