İçindekiler:

Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu: 3 Adım (Resimlerle)
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu: 3 Adım (Resimlerle)

Video: Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu: 3 Adım (Resimlerle)

Video: Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu: 3 Adım (Resimlerle)
Video: Sıfırdan Akıllı Ev Kurulumu - Bölüm 1: ESP32 ve DHT11 ile sıcaklık ölçümü ve mysql e veri yazma 2024, Temmuz
Anonim
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu
Arduino, BME280 ve Son 1-2 Gün İçindeki Trendi Görmek İçin Ekranlı Hava İstasyonu

Merhaba!

Burada talimat verilebilir hava istasyonları zaten tanıtıldı. Mevcut hava basıncını, sıcaklığını ve nemini gösterirler. Şu ana kadar eksikleri ise son 1-2 gün içerisinde kursun sunumuydu. Bu işlem, sadece mevcut değerleri grafiksel olarak okumakla kalmayıp, aynı zamanda bir bakışta son 1-2 gün içinde nasıl değiştiğini görme avantajına sahip olacaktır. Sonuç olarak, örneğin hava basıncı büyük ölçüde değiştiğinden, havadaki olası bir değişiklik fark edilir. Bununla birlikte, ölçülen büyüklükler arasındaki genel ilişkiler de tanınır.

Örneğin, hava sıcaklığı yükseldiğinde nem azalır. Bunun nedeni, sıcak havanın soğuk havadan daha fazla nemi emebilmesidir. 20 °C'de bağıl nem yaklaşık %60 ise, 25 °C'de hava mutlak olarak daha fazla nem emebilir. Bu nedenle, bağıl nem artık %60 değil, örneğin yalnızca %50 indirimlidir.

Ayrıca günün hangi saatinde en yüksek veya en düşük sıcaklıkların beklendiğini güzel bir şekilde görebilirsiniz. Veya yağmur yağdığında nemin keskin bir şekilde arttığını. Hobi meteorolog için ideal. Deneyimlerinizi yorumlara yazarsanız çok sevinirim.

Adım 1: Parçalar

Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar

Bu meteoroloji istasyonu için sadece 5 parçaya ihtiyacınız var:

* Arduino mega: ebay arduino mega

* Hava sensörü BME280: ebay BME280

* Arduino Mega için 320x480 piksel ekran: ebay 320x480 ekran

* + 9V güç kaynağı: ebay güç kaynağı

* Elektrik kablosu

Toplam maliyet sadece 25 dolardan az.

Adım 2: Arduino Kodu

Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu

Devre çok basit. Sensörü arduino mega'ya şu şekilde bağlamanız yeterlidir:

Vin +5V

GND GND

SDA pimi 20

SCL pimi 21

Ekran yalnızca arduino mega üzerindeki bağlantı şeridine takılıdır.

İşte ihtiyacınız olacak arduino kütüphaneleri için bağlantılar:

BME280-kütüphanesi:

ortak sensör kütüphanesi:

Bu meteoroloji istasyonunun kalbi, söylediğim gibi, hava durumu verilerinin grafiksel gösterimidir. Şu anda değerler 6 dakikada bir güncellenmekte ve grafikler 1 piksel sola kaydırılmaktadır. Bu sayede son 1,5 gün kayıt altına alınabilir. Elbette bu her an değiştirilebilir. Ancak o zaman 360000 ms (= 6 dakika) değeri ve tabii ki saat cinsinden zaman ekseni değiştirilmelidir. İşte değiştirmeniz gereken satırlar:

time_neu = millis();

if(time_neu < time_alt) // millis-overflow sonrası sorunları önlemek için

{

time_next = 0 + 360000;

}

if(time_neu > time_next && time_next >= 360000) // 6 dakika sonra yeni ölçüm

{

Mevcut okumaların konumuna bağlı olarak hava basıncının yüksek, orta veya düşük olup olmadığını zaman içinde hızlı bir şekilde değerlendirmenize izin verdiği için sıcaklık, hava basıncı ve nem ölçeklerini değiştirmemeye karar verdim. Teraziyi tekrar tekrar ayarlasam, bunu ilk bakışta tanımazdım. Zaman ekseni y = 290 piksel konumunda bulunur. Y eksenlerindeki işaretler 45 piksel aralıklıdır. 940 mbar'dan 1000 mbar'a kadar olan hava basıncını 10 mbar'lık adımlarla görüntülemek istiyorsanız, aşağıdaki şekilde ilerleyin:

İlk olarak, y = k * x + d genel denklemini kurun. Şimdi bu 2 değer çiftini (x = 940, y = 290) ve (x = 950, y = 245) kullanırsınız. Bu, k ve d bilinmeyenli 2 denklem verir: 290 = k * 940 + d ve 245 = k * 950 + d. Her iki denklemi de çıkararak şunu elde ederiz: 290 - 245 = k * 940 - k * 950 + d - d. Bilinmeyen d bu şekilde kaybolur ve k = - 45/10 = -4.5 için elde ederiz. k için bu değer, iki başlangıç denkleminden birine yerleştirilir: 290 = -4.5 * 940 + d. Bu şekilde d değeri, özellikle d = 4520 elde edilir.

Hava basıncının, örneğin yalnızca 955 mbar ila 985 mbar arasını temsil etmesini istiyorsanız, düz çizgi denklemine (955, 290) ve (960, 245) değer çiftlerini koyarsınız. Sonra k = -9 ve d = 8885 elde edilir. Benzer şekilde, sıcaklık ve hava nemi için doğrusal denklemler hesaplanır. Bu 3 denklem programda görünür:

için (i = 0; ben <= 348; ben ++)

{

if (nem ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4.5 * sıcaklık + 200);

myGLCD.drawLine (81 + i, -4.5 * sıcaklık + 200.81 + i + 1, -4.5 * sıcaklık [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel(81 + i, -4.5 * nem + 380);

myGLCD.drawLine (81 + i, -4.5 * nem + 380.81 + i + 1, -4.5 * nem [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4.5 * basınç + 4520);

myGLCD.drawLine (81 + i, -9.0 * basınç + 8885, 81 + i + 1, -9.0 * basınç [i + 1] + 8885);

}

}

3. Adım: Sonuçlar

Image
Image
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Videoya bir kelime: Grafiğin genişlemesini görünür kılmak için zaman adımlarını 1 saniyeye indirdim. Bu nedenle ekran güçlü bir şekilde titriyor. Gerçekte zaman adımları 6 dakikadır. Böylece herhangi bir titreme göremezsiniz…

Bir veya diğer hobi meteorologu hava istasyonumu tamir etmeye çalışırsa memnun olurum. Resmi ölçüm istasyonlarıyla (örneğin Graz Üniversitesi/Avusturya) bir karşılaştırma, ölçüm eğrilerinin kullanılabilirliğini gösterir.

Ayrıca, sensör yarışmasında bana ve sınıf fen yarışmasındaki diğer derslerime oy verirseniz sevinirim:

  • https://www.instructables.com/id/DIY-LED-photomete…
  • www.instructables.com/id/DIY-Wind-Tunnel-a…
  • www.instructables.com/id/Simple-Autorange-…

Bunun için çok teşekkürler.

Daha fazla fizik projesiyle ilgileniyorsanız, işte youtube kanalım:

daha fazla fizik projesi:

Bu anlamda Eureka…

Önerilen: