Isi kandungan:

Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: 3 Langkah (dengan Gambar)
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: 3 Langkah (dengan Gambar)

Video: Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: 3 Langkah (dengan Gambar)

Video: Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir: 3 Langkah (dengan Gambar)
Video: Stasiun Cuaca OLED Arduino Nano, BME280 dan SSD1306 2024, November
Anonim
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir
Cuaca-stesen Dengan Arduino, BME280 & Paparan untuk Melihat Trend Dalam 1-2 Hari Terakhir

Helo!

Di sini, stesen cuaca yang diperintahkan telah diperkenalkan. Mereka menunjukkan tekanan udara, suhu dan kelembapan semasa. Apa yang mereka kekurangan setakat ini adalah persembahan kursus dalam 1-2 hari terakhir. Proses ini akan mempunyai kelebihan bahawa anda bukan sahaja dapat membaca nilai semasa secara grafik tetapi juga sekilas pandang, melihat bagaimana perubahannya dalam 1-2 hari terakhir. Akibatnya, seseorang menyedari, misalnya, kemungkinan perubahan cuaca, kerana tekanan udara berubah dengan banyak. Walau bagaimanapun, seseorang juga menyedari hubungan umum antara kuantiti yang diukur.

Contohnya, kelembapan menurun apabila suhu udara meningkat. Ini kerana udara hangat dapat menyerap lebih banyak kelembapan daripada udara sejuk. Sekiranya kelembapan relatif sekitar 60% pada 20 ° C, maka pada 25 ° C udara dapat menyerap lebih banyak kelembapan secara mutlak. Oleh itu, kelembapan relatif tidak lagi 60%, tetapi sebagai contoh, hanya potongan 50%.

Anda juga dapat melihat dengan baik jam berapa suhu tertinggi atau terendah yang diharapkan. Atau bahawa kelembapan meningkat dengan mendadak ketika hujan. Sesuai untuk ahli meteorologi hobi. Saya akan sangat gembira jika anda dapat menyiarkan pengalaman anda dalam komen.

Langkah 1: Bahagian

Bahagian
Bahagian
Bahagian
Bahagian
Bahagian
Bahagian
Bahagian
Bahagian

Untuk stesen cuaca ini, anda hanya memerlukan 5 bahagian:

* Arduino mega: ebay arduino mega

* Sensor cuaca BME280: ebay BME280

* Paparan 320x480 piksel untuk paparan Arduino Mega: ebay 320x480

* Bekalan kuasa 9V: bekalan kuasa ebay

* Wayar elektrik

Jumlah kosnya hanya kurang dari $ 25.

Langkah 2: Kod Arduino

Kod Arduino
Kod Arduino
Kod Arduino
Kod Arduino
Kod Arduino
Kod Arduino

Litarnya sangat mudah. Anda hanya perlu menyambungkan sensor ke arduino mega dengan cara ini:

Vin + 5V

GND GND

Pin SDA 20

Pin SCL 21

Paparan hanya dipasang ke jalur penyambung pada arduino mega.

Berikut adalah pautan untuk perpustakaan arduino yang anda perlukan:

Perpustakaan BME280:

perpustakaan sensor biasa:

Inti stesen cuaca ini, seperti yang saya katakan, gambaran grafik data cuaca. Pada masa ini, nilai dikemas kini setiap 6 minit dan grafik dialihkan 1 piksel ke kiri. Dengan cara ini, 1.5 hari terakhir dapat dirakam. Sudah tentu ini boleh diubah pada bila-bila masa. Barulah nilai 360000 ms (= 6 minit) dan tentu saja paksi masa dalam jam mesti diubah. Inilah garis-garis yang perlu anda ubah:

time_neu = milis ();

jika (time_neu <time_alt) // untuk mengelakkan masalah selepas limpahan milis

{

time_next = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // pengukuran baru selepas 6 minit

{

Saya telah memutuskan untuk memastikan skala suhu, tekanan udara dan kelembapan tidak berubah, kerana ia membolehkan anda menilai dengan cepat, dari masa ke masa, sama ada tekanan udara tinggi, sederhana atau rendah, berdasarkan lokasi pembacaan semasa. Sekiranya saya menyesuaikan skala berulang-ulang kali, saya tidak akan mengenalinya pada pandangan pertama. Paksi masa terletak pada kedudukan y = 290 piksel. Tanda pada paksi-y berjauhan 45 piksel. Sekiranya anda ingin menunjukkan tekanan udara dari 940 mbar hingga 1000 mbar dalam langkah 10 mbar, lakukan seperti berikut:

Pertama, sediakan persamaan umum y = k * x + d. Sekarang anda menggunakan 2 pasangan nilai tersebut (x = 940, y = 290) dan (x = 950, y = 245). Ini memberikan 2 persamaan dengan dua k dan d yang tidak diketahui: 290 = k * 940 + d dan 245 = k * 950 + d. Dengan mengurangkan kedua persamaan, kita mendapat: 290 - 245 = k * 940 - k * 950 + d - d. D yang tidak diketahui hilang dengan cara ini dan kita memperoleh untuk k = - 45/10 = -4.5. Nilai untuk k ini diletakkan dalam salah satu daripada dua persamaan awal: 290 = -4.5 * 940 + d. Dengan cara ini seseorang memperoleh nilai untuk d, khususnya d = 4520.

Sekiranya anda mahukan tekanan udara, misalnya hanya mewakili 955 mbar hingga 985 mbar, anda meletakkan pasangan nilai (955, 290) dan (960, 245) dalam persamaan garis lurus. Kemudian seseorang memperoleh k = -9 dan d = 8885. Begitu juga, seseorang mengira persamaan garis lurus untuk suhu dan kelembapan udara. 3 persamaan ini muncul di sini dalam program:

untuk (i = 0; i <= 348; i ++)

{

jika (kelembapan ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4,5 * suhu + 200);

myGLCD.drawLine (81 + i, -4,5 * suhu + 200,81 + i + 1, -4,5 * suhu [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

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

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

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4.5 * tekanan + 4520);

myGLCD.drawLine (81 + i, -9.0 * tekanan + 8885, 81 + i + 1, -9.0 * tekanan [i + 1] + 8885);

}

}

Langkah 3: Hasilnya

Image
Image
Keputusan
Keputusan
Keputusan
Keputusan

Satu perkataan untuk video: Untuk menjadikan pengembangan grafik kelihatan, saya menurunkan langkah masa hingga 1 saat. Oleh itu paparan sangat berkelip. Pada hakikatnya langkah masa adalah 6 minit. Oleh itu, anda tidak dapat melihat kerlipan …

Saya akan gembira jika seorang atau ahli meteorologi hobi yang lain cuba mempermainkan stesen cuaca saya. Perbandingan dengan stesen pengukur rasmi (mis. University of Graz / austria) menunjukkan kebolehgunaan lengkung pengukuran.

Selain itu, saya akan gembira sekiranya anda dapat memilih saya dalam pertandingan sensor dan instruksional saya yang lain dalam pertandingan sains kelas:

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

Terima kasih banyak untuk ini.

Sekiranya anda berminat dengan lebih banyak projek fizik, inilah saluran youtube saya:

lebih banyak projek fizik:

Dalam pengertian ini, Eureka…

Disyorkan: