- Gerekli Bileşenler
- BMP280 Basınç Sensörü Modülü:
- BMP280 ile Arduino arasındaki arayüz için devre şeması:
- Arduino ile BMP280 Arayüzü Arduino Programı:
- Arduino BMP280 Basınç Sensörü Arayüz Projesi Çalışması
Kendi sıcaklık izleme sisteminizi kurmak veya drone'nuzun yüksekliğini ölçmek veya sadece bölgenizdeki atmosferik basıncı ölçmek istiyorsanız, projenizde kullanabileceğiniz en iyi modüllerden biri BMP280 Basınç sensör modülüdür. BMP280, BMP085, BMP180, BMP183 sensörlerinin yükseltilmiş versiyonu olan mutlak basınç ve sıcaklık izleme sensörüdür. Neden yükseltilmiş sürüm deniyor? Aşağıdaki bölümlerde tartışılacaktır. Daha önceki eğitimlerimizden birinde daha eski BMP180 sürümünü Arduino ile kullandık.
BMP280 sensör modülü Arduino, PIC, AVR vb. Mikrodenetleyicilerle birlikte kullanılabilir. Bu proje için sıcaklık ve basınç değerlerini görüntülemek için BMP280 ile Arduino Uno ve 16x2 LCD ekran modülünü kullanacağız. BMP280 ile Arduino arasında arayüz oluşturmadan önce Adafruit tarafından geliştirilen BMP280 Arduino kütüphanesini indirmemiz gerekiyor. İlgili Github sayfasını açmak ve başlık dosyasını Arduino IDE'nize eklemek için bu Adafruit BMP280 kütüphanesi bağlantısına tıklayın.
Gerekli Bileşenler
- Arduino
- BMP280
- Kabloların Bağlanması
- Ekmek Tahtası
- LCD - 16x2
BMP280 Basınç Sensörü Modülü:
BMP280 sensör modülü, 1,71 V minimum voltaj (VDD) ile çalışırken, önceki versiyon sensör modülleri 1,8 V (VDD) üzerinde çalışır. Mevcut tüketim söz konusu olduğunda, BMP280 2.7uA tüketirken, BMP180 12uA tüketir ve BMP183 ve BMP085 her biri 5uA tüketir. BMP280 ayrıca yeni filtre modlarını da destekler. BMP280 sensör modülü I2c ve SPI protokollerini desteklerken, kalan sensör I2c veya SPI'yi destekler. BMP280 sensör modülünün doğruluğu ± 0,12 hPa'dır± 1 m yükseklik farkına eşittir. Bu temel özelliklerinden dolayı çoğunlukla çeşitli uygulamalarda kullanılmaktadır. BMP sensörü, ayrıca Basınç ön ucu, Nem ön ucu ve sıcaklık ön ucuna bağlanan bir Basınç algılama elemanı, Nem algılama elemanı ve Sıcaklık algılama elemanından oluşur. Bu ön uç IC'ler, küçük sinyallerin amplifikasyonunda kullanılan duyarlı analog amplifikatörlerdir. Bu analog ön uç IC'lerin çıkışı, giriş sinyali olarak ADC'ye beslenir. Bunda analog değerler dijital voltaja dönüştürülür ve bu voltaj, dış dünya ile daha fazla arayüz için mantık devrelerine beslenir.
BMP280 sensör modülü, üç güç modu uyku modu, zorunlu mod ve Normal Moddan oluşur. Uyku modunda ölçüm yapılmaz ve güç tüketimi minimum düzeydedir. Zorunlu modda, seçilen ölçüm ve filtre seçeneklerine göre tek bir ölçüm gerçekleştirilir. Normal mod sürekli olarak ölçüm ve bekleme süresi arasında geçiş yapar ve döngü süresi süresi Tbekleme tarafından tanımlanır. Bekleme modundaki akım, uyku modundan biraz daha yüksektir.
BMP280 ile Arduino arasındaki arayüz için devre şeması:
Arduino'yu BMP280 sensörü ve LCD ile bağlamak için devre şeması aşağıda gösterilmiştir. Arduino ve LCD'de tamamen yeniyseniz, Arduino'nun LCD ekranlarla nasıl kullanılacağını anlamak için bu Arduino LCD eğitimine bakabilirsiniz.
Sensörün VCC ve GND pinleri Arduino'nun 3v3 ve GND pinlerine bağlanır. Sensörün SCL ve SDA pinleri Arduino kartının A5 ve A4'e bağlanır. LCD bağlantıları aşağıdaki gibidir
LCD Pin Adı |
Arduino Pimi |
VSS ve RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Arduino ile BMP280 Arayüzü Arduino Programı:
Tam BMP280 Arduino kodu, doğrudan Arduino kartınıza yükleyebileceğiniz bu sayfanın altında bulunabilir. Aynı şeyin açıklaması aşağıda verilmiştir.
Bu kitaplıklar, özel işlevleri etkinleştirmek için dahil edilmiştir. #İnclude başlık dosyaları, sensörden gelen değerleri doğrudan okuyabiliriz. #İnclude
#Dahil etmek
Adafruit_BMP280 için nesne BMP'si oluşturma. Özel işlevlere erişmek için bir nesne dosyası oluşturulur.
Adafruit_BMP280 bmp; // I2C
Arduino'nun pinlerini LCD ile iletişim kuracak şekilde ayarlama. Bu pinler kullanılarak veriler aktarılacaktır.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
LCD ve Seri İletişimin Başlatılması.
geçersiz kurulum () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 testi")); lcd.print ("Hoş Geldiniz"); lcd.setCursor (0,1); lcd.print ("DEVRE DIGEST"); gecikme (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Geçerli bir BMP280 sensörü bulunamadı, kablolamayı kontrol edin!")); while (1); }
Bu işlev, bmp nesnesinin başlatılması başarısız olduğunda çalışır.
/ * Veri sayfasından varsayılan ayarlar. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Operating Mode. * / Adafruit_BMP280:: SAMPLING_X2, / * Temp. aşırı örnekleme * / Adafruit_BMP280:: SAMPLING_X16, / * Aşırı Basınç Örnekleme * / Adafruit_BMPX16, *. * / Adafruit_BMP280:: STANDBY_MS_500); /* Bekleme süresi. * /}
Kodun bu bölümü sıcaklığı seri monitörde yazdırır ve hata ayıklama amaçlıdır.
geçersiz döngü () {Seri.print (F ("Sıcaklık =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Bmp.readPressure ve bmp.readTemprature işlevi, özel işlevleri çağırmak ve sıcaklık ve basınç değerlerini döndürmek için kullanılır.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Arduino BMP280 Basınç Sensörü Arayüz Projesi Çalışması
Bmp.readTemprature () ve bmp.readPressure () işlevleri sıcaklık ve basınç değerlerini döndürmek için kullanılır. Bu fonksiyonlar, bizim durumumuzda sıcaklık ve basınç dosyalarını döndürmek için özel bir görevi yerine getiren bir ifade grubudur. Bu işlevler bmp.readTemprature () ve bmp.readPressure () işlevleri kullanılarak çağrılır. Lcd.setCursor ekranda istenen pozisyona LCD'nin imleci ayarlar. lcd.print komutu, verileri programcı tarafından ayarlanan konumdan yazdırır. Varsayılan olarak LCD için ayarlı bir konum yoksa, başlangıç konumu olarak (0,0) alır ve verilerin sürekli yazdırılması. Bir sonraki veri, bir sonraki sütunun konumunu alır ve yordam, satırın sonuna ulaşıp bir sonraki satıra geçene kadar devam eder.
BMP280, Uçan oyuncaklarda, cep telefonlarında, tabletlerde, PC'lerde, GPS cihazlarında, Taşınabilir sağlık cihazlarında, ev hava istasyonlarında vb. Kullanılabilir. Bu prosedürü izleyerek ve başlık dosyalarını ve bazı özel işlevleri kullanarak, BMP280 ile Arduino. Tam çalışma, aşağıda verilen videoda da bulunabilir, umarım bu BMP280 Arduino eğitiminden keyif almışsınızdır ve faydalı bir şeyler öğrenmişsinizdir. Herhangi bir sorunuz varsa aşağıdaki yorum bölümüne bırakın veya diğer teknik sorular için forumları kullanın.