Kazalo:
Video: Vremenska postaja z Arduinom, BME280 in zaslonom za spremljanje trenda v zadnjih 1-2 dneh: 3 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zdravo!
Tukaj so bile že predstavljene vremenske postaje z navodili. Prikazujejo trenutni zračni tlak, temperaturo in vlažnost. Manjkala jim je le predstavitev tečaja v zadnjih 1-2 dneh. Ta postopek bi imel prednost, da ne morete le grafično prebrati trenutnih vrednosti, ampak tudi na prvi pogled videti, kako so se spremenile v zadnjih 1-2 dneh. Posledično prepoznamo na primer možno spremembo vremena, saj se zračni tlak močno spreminja. Priznamo pa tudi splošna razmerja med izmerjenimi količinami.
Na primer, vlaga se zmanjša, ko se temperatura zraka dvigne. To je zato, ker topel zrak lahko absorbira več vlage kot hladen zrak. Če je relativna vlažnost okoli 60% pri 20 ° C, potem lahko zrak pri 25 ° C absolutno absorbira več vlage. Zato relativna vlažnost ni več 60%, ampak na primer le 50% popusta.
Prav tako lahko lepo vidite, v katerem času dneva lahko pričakujete najvišje ali najnižje temperature. Ali pa, da se vlaga med dežjem močno poveča. Idealno za hobi meteorologa. Vesela bom, če svoje izkušnje objavite v komentarjih.
1. korak: Deli
Za to vremensko postajo potrebujete le 5 delov:
* Arduino mega: ebay arduino mega
* Vremenski senzor BME280: ebay BME280
* Zaslon 320x480 slikovnih pik za zaslon Arduino Mega: zaslon ebay 320x480
* + 9V napajanje: ebay napajalnik
* Električna žica
Skupni stroški so le manj kot 25 USD.
2. korak: Koda Arduino
Vezje je zelo preprosto. Tipalo morate na ta način priključiti na arduino mega:
Vin +5V
GND GND
SDA pin 20
SCL pin 21
Zaslon je priključen samo na priključni trak na arduino mega.
Tu so povezave do knjižnic arduino, ki jih potrebujete:
Knjižnica BME280:
skupna knjižnica senzorjev:
Srce te vremenske postaje je, kot sem rekel, grafični prikaz vremenskih podatkov. Trenutno se vrednosti posodabljajo vsakih 6 minut, grafi pa se premaknejo za 1 slikovno piko v levo. Na ta način se lahko zabeležijo zadnjih 1,5 dni. Seveda se to lahko kadar koli spremeni. Šele potem je treba spremeniti vrednost 360000 ms (= 6 minut) in seveda časovno os v urah. Tu so vrstice, ki jih boste morali spremeniti:
time_neu = millis ();
if (time_neu <time_alt) //, da bi se izognili težavam po milis-overflow-u
{
time_next = 0 + 360000;
}
if (time_neu> time_next && time_next> = 360000) // nova meritev po 6 minutah
{
Odločil sem se, da lestvice temperature, zračnega tlaka in vlažnosti ostanejo nespremenjene, saj vam omogoča, da sčasoma hitro ocenite, ali je zračni tlak visok, srednji ali nizek, glede na lokacijo trenutnih odčitkov. Če bi lestvico vedno znova prilagajal, tega na prvi pogled ne bi prepoznal. Časovna os se nahaja na položaju y = 290 slikovnih pik. Oznake na osi y so narazen 45 slikovnih pik. Če želite prikazati zračni tlak od 940 mbar do 1000 mbar v korakih po 10 mbar, ravnajte na naslednji način:
Najprej nastavite splošno enačbo y = k * x + d. Zdaj uporabite ta dva para vrednosti (x = 940, y = 290) in (x = 950, y = 245). To daje 2 enačbi z dvema neznankama k in d: 290 = k * 940 + d in 245 = k * 950 + d. Z odštevanjem obeh enačb dobimo: 290 - 245 = k * 940 - k * 950 + d - d. Neznani d na ta način izgine in dobimo za k = - 45/10 = -4,5. Ta vrednost za k je postavljena v eno od dveh začetnih enačb: 290 = -4,5 * 940 + d. Na ta način dobimo vrednost za d, natančneje d = 4520.
Če želite na primer zračni tlak, ki na primer predstavlja le 955 mbar do 985 mbar, vrednostne pare (955, 290) in (960, 245) postavite v enakomerno črto. Nato dobimo za k = -9 in d = 8885. Podobno se izračunajo linearne enačbe za temperaturo in vlažnost zraka. Te 3 enačbe se pojavijo tukaj v programu:
za (i = 0; i <= 348; i ++)
{
če (vlažnost ! = -66)
{
myGLCD.setColor (255, 0, 0);
//myGLCD.drawPixel(81 + i, -4,5 * temperatura + 200);
myGLCD.drawLine (81 + i, -4,5 * temperatura + 200,81 + i + 1, -4,5 * temperatura [i + 1] + 200);
myGLCD.setColor (0, 255, 0);
//myGLCD.drawPixel(81 + i, -4,5 * vlažnost + 380);
myGLCD.drawLine (81 + i, -4,5 * vlažnost + 380,81 + i + 1, -4,5 * vlažnost [i + 1] + 380);
myGLCD.setColor (0, 0, 255);
//myGLCD.drawPixel(81 + i, -4,5 * tlak + 4520);
myGLCD.drawLine (81 + i, -9,0 * tlak + 8885, 81 + i + 1, -9,0 * tlak [i + 1] + 8885);
}
}
3. korak: Rezultati
Ena beseda v videoposnetku: Da bi bilo razširitev grafa vidna, sem časovne korake skrajšal na 1 sekundo. Zato zaslon močno utripa. V resnici so časovni koraki 6 minut. Tako ne vidite nobenega utripanja …
Vesel bi bil, če bi eden ali drugi hobi meteorolog poskušal pobrskati po moji vremenski postaji. Primerjava z uradnimi merilnimi postajami (npr. Univerza v Gradcu/avstrija) kaže uporabnost merilnih krivulj.
Poleg tega bi bil vesel, če bi lahko glasovali zame na natečaju senzorjev in za moje druge instruktorje na tekmovanju v razredu:
- https://www.instructables.com/id/DIY-LED-photomete…
- www.instructables.com/id/DIY-Wind-Tunnel-a…
- www.instructables.com/id/Simple-Autorange-…
Najlepša hvala za to.
Če vas zanima več fizikalnih projektov, je tu moj youtube kanal:
več fizikalnih projektov:
V tem smislu Eureka …
Priporočena:
Vremenska postaja NaTaLia: Vremenska postaja Arduino s sončno energijo Na pravi poti: 8 korakov (s slikami)
Vremenska postaja NaTaLia: Vremenska postaja na sončni pogon Arduino je ravnala pravilno: Po enem letu uspešnega delovanja na dveh različnih lokacijah delim svoje načrte projektov vremenskih postaj na sončno energijo in razložim, kako se je razvila v sistem, ki lahko resnično preživi dolgo časa obdobja iz sončne energije. Če sledite
Vremenska postaja in senzorska postaja DIY: 7 korakov (s slikami)
Vremenska postaja in senzorska postaja DIY: V tem projektu vam bom pokazal, kako skupaj s senzorsko postajo WiFi ustvariti vremensko postajo. Senzorska postaja meri lokalne podatke o temperaturi in vlažnosti ter jih prek WiFi pošlje vremenski postaji. Vremenska postaja nato prikaže t
Sobna vremenska postaja z uporabo Arduina in BME280: 4 koraki
Sobna vremenska postaja z uporabo Arduina in BME280: Prej sem delila preprosto vremensko postajo, ki je prikazovala temperaturo in vlažnost lokalnega območja. Težava pri tem je bila, da bi trajalo nekaj časa za posodobitev in podatki niso bili točni. V tej vadnici bomo naredili notranji vremenski monitor
Vremenska postaja DIY z zaslonom Nextion in Arduinom: 11 korakov
Vremenska postaja DIY z zaslonom Nextion in Arduino: V tej vadnici bomo za prikaz trenutnega časa, temperature in vlažnosti uporabili zaslon Nextion, časovni modul rtc1307, Arduino UNO in Visuino
Vremenska postaja z velikim zaslonom ST7920: 4 koraki
Vremenska postaja z velikim zaslonom ST7920: Dragi prijatelji, dobrodošli v drugem navodilu! V tej vadnici bomo prvič pogledali ta veliki LCD zaslon in z njim izdelali monitor za temperaturo in vlago. Vedno sem hotel najti zaslon, podoben disp