Turinys:

Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1-2 dienas: 3 žingsniai (su nuotraukomis)
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1-2 dienas: 3 žingsniai (su nuotraukomis)

Video: Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1-2 dienas: 3 žingsniai (su nuotraukomis)

Video: Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1-2 dienas: 3 žingsniai (su nuotraukomis)
Video: Arduino Nano, BME280 ir SSD1306 OLED meteorologinė stotis 2024, Lapkritis
Anonim
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas
Orų stotis su „Arduino“, BME280 ir ekranu, kad pamatytumėte tendencijas per pastarąsias 1–2 dienas

Sveiki!

Čia pagal instrukcijas orų stotys jau buvo pristatytos. Jie rodo esamą oro slėgį, temperatūrą ir drėgmę. Iki šiol jiems trūko kurso pristatymo per pastarąsias 1-2 dienas. Šio proceso pranašumas būtų tas, kad galite ne tik grafiškai nuskaityti esamas vertes, bet ir iš pirmo žvilgsnio pamatyti, kaip jos pasikeitė per pastarąsias 1–2 dienas. Dėl to žmogus atpažįsta, pavyzdžiui, galimą oro pasikeitimą, nes oro slėgis labai kinta. Tačiau taip pat pripažįstami bendri santykiai tarp išmatuotų kiekių.

Pavyzdžiui, pakilus oro temperatūrai, drėgmė mažėja. Taip yra todėl, kad šiltas oras gali sugerti daugiau drėgmės nei šaltas oras. Jei santykinė oro drėgmė yra apie 60% esant 20 ° C temperatūrai, tada esant 25 ° C temperatūrai oras absorbuotų daugiau drėgmės absoliučiais skaičiais. Todėl santykinė drėgmė nebėra 60%, bet, pavyzdžiui, tik 50%.

Taip pat galite gerai matyti, kuriuo paros metu galima tikėtis aukščiausios ar žemiausios temperatūros. Arba, kad lyjant staigiai pakyla drėgmė. Idealiai tinka hobio meteorologui. Būčiau labai laimingas, jei komentaruose galėtumėte paskelbti savo patirtį.

1 žingsnis: dalys

Dalys
Dalys
Dalys
Dalys
Dalys
Dalys
Dalys
Dalys

Šiai oro stotiui jums reikia tik 5 dalių:

* Arduino mega: ebay arduino mega

* Orų jutiklis BME280: ebay BME280

* 320x480 pikselių ekranas „Arduino Mega“: „ebay“320x480 ekranas

* + 9 V maitinimo šaltinis: „ebay“maitinimo šaltinis

* Elektros laidas

Bendros išlaidos yra tik mažesnės nei 25 USD.

2 žingsnis: „Arduino“kodas

Arduino kodas
Arduino kodas
Arduino kodas
Arduino kodas
Arduino kodas
Arduino kodas

Grandinė yra labai paprasta. Jums tereikia prijungti jutiklį prie arduino mega tokiu būdu:

Vin +5V

GND GND

SDA kaištis 20

SCL kaištis 21

Ekranas yra prijungtas tik prie „arduino mega“jungties juostelės.

Čia yra nuorodos į jums reikalingas arduino bibliotekas:

BME280 biblioteka:

bendra jutiklių biblioteka:

Šios oro stoties širdis yra, kaip sakiau, grafinis orų duomenų atvaizdavimas. Šiuo metu vertės atnaujinamos kas 6 minutes, o grafikai perkeliami 1 pikseliu į kairę. Tokiu būdu galima įrašyti paskutines 1,5 dienos. Žinoma, tai galima bet kada pakeisti. Tik tada reikia pakeisti reikšmę 360000 ms (= 6 minutes) ir, žinoma, laiko ašį valandomis. Štai eilutės, kurias turėsite pakeisti:

laikas_neu = milis ();

if (time_neu <time_alt) // kad išvengtumėte problemų po milisų perpildymo

{

kitas_laikas = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // naujas matavimas po 6 minučių

{

Nusprendžiau nekeisti temperatūros, oro slėgio ir drėgmės skalių, nes tai leidžia greitai įvertinti, ar oro slėgis yra aukštas, vidutinis ar žemas, atsižvelgiant į esamų rodmenų vietą. Jei vėl ir vėl pakoreguočiau skalę, to iš pirmo žvilgsnio neatpažintų. Laiko ašis yra padėtyje y = 290 pikselių. Žymės y ašyse yra 45 pikselių atstumu. Jei norite parodyti oro slėgį nuo 940 mbar iki 1000 mbar 10 mbar žingsniais, atlikite šiuos veiksmus:

Pirmiausia nustatykite bendrą lygtį y = k * x + d. Dabar jūs naudojate tas 2 reikšmių poras (x = 940, y = 290) ir (x = 950, y = 245). Taip gaunamos 2 lygtys su dviem nežinomaisiais k ir d: 290 = k * 940 + d ir 245 = k * 950 + d. Atimdami abi lygtis, gauname: 290 - 245 = k * 940 - k * 950 + d - d. Nežinomas d dingsta tokiu būdu ir gauname k = - 45/10 = -4,5. Ši k reikšmė pateikiama vienoje iš dviejų pradinių lygčių: 290 = -4,5 * 940 + d. Tokiu būdu gaunama d reikšmė, konkrečiai d = 4520.

Jei norite, kad oro slėgis, pvz., Būtų tik nuo 955 mbar iki 985 mbar, reikšmių poras (955, 290) ir (960, 245) įtraukite į tiesės lygtį. Tada gauname k = -9 ir d = 8885. Panašiai apskaičiuojamos tiesės ir temperatūros bei oro drėgmės lygtys. Šios 3 lygtys rodomos čia programoje:

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

{

jei (drėgmė ! = -66)

{

myGLCD.setColor (255, 0, 0);

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

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

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel (81 + i, -4,5 * drėgmė + 380);

myGLCD.drawLine (81 + i, -4,5 * drėgmė + 380,81 + i + 1, -4,5 * drėgmė [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel (81 + i, -4,5 * slėgis + 4520);

myGLCD.drawLine (81 + i, -9,0 * slėgis + 8885, 81 + i + 1, -9,0 * slėgis [i + 1] + 8885);

}

}

3 žingsnis: rezultatai

Image
Image
Rezultatai
Rezultatai
Rezultatai
Rezultatai

Vienas žodis vaizdo įrašui: kad matytumėte grafiko išplėtimą, sutrumpinau laiko žingsnius iki 1 sekundės. Todėl ekranas stipriai mirksi. Tiesą sakant, laikas yra 6 minutės. Taigi jūs nematote mirgėjimo …

Džiaugčiausi, jei vienas ar kitas pomėgių meteorologas pamėgintų sutvarkyti mano orų stotį. Palyginimas su oficialiomis matavimo stotimis (pvz., Graco universitetas/Austrija) rodo matavimo kreivių tinkamumą naudoti.

Be to, būčiau laimingas, jei galėtumėte balsuoti už mane jutiklių konkurse ir už kitus mano pamokymus mokslo klasės konkurse:

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

Labai ačiū už tai.

Jei jus domina daugiau fizikos projektų, čia yra mano „YouTube“kanalas:

daugiau fizikos projektų:

Šia prasme Eureka…

Rekomenduojamas: