BME280 Sıcaklık, Nem, Basınç, Yükseklik Sensörü Arduino ile
BME280 ile bir sonraki Arduino projenize etrafındaki dünyayı algılama yeteneği verin . Bu sensörlerin kullanımı oldukça basittir, önceden kalibre edilmiştir ve ekstra bileşen gerektirmez, böylece bağıl nem, sıcaklık, barometrik basınç ve yakl. hiçbir zaman irtifa.
BME280 Sıcaklık, Nem ve Basınç Sensörü
Modülün merkezinde, Bosch tarafından üretilen yeni nesil dijital sıcaklık, nem ve basınç sensörü - BME280 bulunmaktadır. BMP180, BMP085 veya BMP183 gibi sensörlerin en modernidir.
Bu hassas sensör, bağıl nemi ±% 3 doğrulukla% 0 ila% 100, barometrik basıncı ± 1 hPa mutlak doğrulukla ve -40 ° C ila 85 ° C arasındaki sıcaklığı ± 1.0 ° C doğrulukla ölçebilir.
Basınç ölçümleri o kadar hassastır (0,25 m'lik düşük irtifa gürültüsü), ± 1 metre hassasiyetle altimetre olarak bile kullanabilirsiniz.
Güç Gereksinimi
Modül, yerleşik bir LM6206 3.3V regülatörü ve I2C Voltaj Seviye Çeviricisi ile birlikte gelir, böylece Arduino gibi bir 3.3V veya 5V mantık mikrodenetleyicisi ile endişelenmeden kullanabilirsiniz.
BME280, ölçümler sırasında 1mA'dan daha az ve boşta iken yalnızca 5μA tüketir. Bu düşük güç tüketimi, el cihazları, GPS modülleri veya saatler gibi batarya ile çalışan cihazlarda uygulamaya izin verir.
I2C Arayüzü
Modül, seçtiğiniz herhangi bir mikro denetleyiciyle kolayca arabirim oluşturabilen basit bir iki kablolu I2C arabirimine sahiptir.
BME280 modülünün varsayılan I2C adresidir 0x76 HEX ve 0x77 olarak değiştirilebilir HEX çip yanında lehim jumper ile kolayca.
I2C Adresini Değiştirme Prosedürü
- Çipin yanında lehim bağlantı telini bulun. Varsayılan olarak orta bakır ped sol pede bağlanır.
- 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.
- Orta ve sağ bakır ped arasına bir lehim damlası ekleyin. I2C adresini 0x77 HEX ayarlamanıza izin verir .
BME280 Sensör Pin Çıkışı
BME280 modülü, kendisini dış dünyaya arayüzleyen yalnızca 4 pime sahiptir. Bağlantılar aşağıdaki gibidir:
VIN modül için 3.3V ila 5V arasında herhangi bir yerde olabilen güç kaynağıdır.
GND Arduino'nun zeminine bağlanmalıdır
SCL I2C arayüzü için bir seri saat pinidir.
SDA I2C arayüzü için bir seri veri pinidir.
BME280 Modülünü Arduino UNO'ya Kablolama
BME280 modülünü Arduino ya bağlayalım.
Bağlantılar oldukça basit. VIN pinini Arduino'daki 5V çıkışına bağlayarak başlayın ve GND'yi toprağa bağlayın.
Şimdi I2C iletişimi için kullanılan pinlerde kaldık. Her Arduino Board'un uygun şekilde bağlanması gereken farklı I2C pinlerine sahip olduğunu unutmayın. R3 düzenine sahip Arduino kartlarında, SDA (veri hattı) ve SCL (saat hattı), AREF pinine yakın pin başlıkları üzerindedir. A5 (SCL) ve A4 (SDA) olarak da bilinirler.
Bir Mega'nız varsa, iğneler farklıdır! Dijital 21 (SCL) ve 20 (SDA) kullanmak isteyeceksiniz. Hızlı anlamak için aşağıdaki tabloya bakın.
Aşağıdaki şema, her şeyi nasıl bağlayacağınızı gösterir.
Gerekli kitaplıkları yükleme
Bir BME280 modülüyle iletişim kurmak bir sürü iştir. Neyse ki, Adafruit BME280 Kütüphanesi , sıcaklık, bağıl nem ve barometrik basınç verilerini okumak için basit komutlar verebilmemiz için tüm karmaşıklıkları gizlemek için yazılmıştır.
Kitaplığı kurmak için Sketch> Dahil Et> Kitaplıkları Yönet'e gidin … Kitaplık Yöneticisinin kitaplıklar dizinini indirmesini ve kurulu kitaplıkların listesini güncellemesini bekleyin.
Aramanızı ' bme280 ' yazarak filtreleyin . Birkaç giriş olmalı. Arayın Adafruit BME280 Kütüphanesi tarafından Adafruit . Bu girişe tıklayın ve ardından Yükle'yi seçin.
BME280 sensör kitaplığı, Adafruit Sensör desteği arka ucunu kullanır . Bu nedenle, kütüphane yöneticisinde Adafruit Unified Sensor'ü arayın ve onu da kurun (biraz kaydırmanız gerekebilir)
Arduino Kodu - Sıcaklık, Bağıl Nem ve Barometrik Basınç Okuma
Aşağıdaki taslak, BME280 modülünden sıcaklık, bağıl nem ve barometrik basıncın nasıl okunacağı konusunda size tam bir anlayış verecektir ve daha pratik deneyler ve projeler için temel oluşturabilir.
Seri monitörde çıkışın nasıl göründüğü aşağıda açıklanmıştır.
Kod Açıklaması:
Taslak, dört kitaplık dahil olmak üzere başlar. Wire.h , SPI.h , Adafruit_Sensor.h ve Adafruit_BME280.h .
Ardından, SEALEVELPRESSURE_HPA
rakımı hesaplamak için gerekli değişkeni tanımlıyoruz ve onunla ilgili işlevlere erişebilmemiz için Adafruit_BME280 kitaplığının bir nesnesini oluşturuyoruz.
Kodun kurulum bölümünde PC ile seri iletişimi başlatıyoruz ve begin()
fonksiyonu çağırıyoruz .
begin(I2C_ADDR)
İşlev parametre olarak modülün I2C adresi alır. Modülünüzün I2C adresi farklıysa veya değiştirdiyseniz , doğru şekilde belirtmeniz gerekir. Bu işlev, verilen I2C Adresiyle I2C arayüzünü başlatır ve çip kimliğinin doğru olup olmadığını kontrol eder. Ardından, yumuşak sıfırlama kullanarak çipi sıfırlar ve uyandıktan sonra kalibrasyon için sensör için 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ıyoruz.
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 atmosferik basınçtan (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.
Hiç yorum yok:
Yorum Gönder
Yorum yazdığınız ve üye olduğunuz için Size teşekkür ederim.Burada olduğunuza göre hepimizin ilgi alanı Elektronik ve Programlama sonsuz bir dünyadayız.Hepimize Başarılar...
Not: Yalnızca bu blogun üyesi yorum gönderebilir.