Innehållsförteckning:

Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)
Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)

Video: Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)

Video: Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)
Video: Arduino Nano, BME280 och SSD1306 OLED väderstation 2024, Juli
Anonim
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna
Väderstation med Arduino, BME280 och display för att se trenden under de senaste 1-2 dagarna

Hej!

Här på instruerbara väderstationer har redan införts. De visar det aktuella lufttrycket, temperaturen och luftfuktigheten. Vad de saknade hittills var en presentation av kursen under de senaste 1-2 dagarna. Denna process skulle ha fördelen att du inte bara grafiskt kan läsa de aktuella värdena utan också en överblick, se hur de har förändrats under de senaste 1-2 dagarna. Som ett resultat känner man till exempel en möjlig väderförändring, eftersom lufttrycket förändras kraftigt. Men man känner också igen allmänna samband mellan de uppmätta mängderna.

Till exempel minskar luftfuktigheten när lufttemperaturen stiger. Detta beror på att varm luft kan absorbera mer luftfuktighet än kall luft. Om den relativa luftfuktigheten är cirka 60% vid 20 ° C kan luften vid 25 ° C absorbera mer luftfuktighet i absoluta termer. Därför är den relativa luftfuktigheten inte längre 60%, men till exempel bara 50% rabatt.

Du kan också se snyggt vilken tid på dygnet de högsta eller lägsta temperaturerna kan förväntas. Eller att luftfuktigheten stiger kraftigt när det regnar. Perfekt för hobbymeteorologen. Jag skulle bli väldigt glad om du kunde lägga upp dina erfarenheter i kommentarerna.

Steg 1: Delar

Delar
Delar
Delar
Delar
Delar
Delar
Delar
Delar

För denna väderstation behöver du bara 5 delar:

* Arduino mega: ebay arduino mega

* Vädergivare BME280: ebay BME280

* 320x480 pixlar för Arduino Mega: ebay 320x480 display

* + 9V strömförsörjning: ebay -strömförsörjning

* Elkabel

De totala kostnaderna är bara mindre än $ 25.

Steg 2: Arduino -koden

Arduino -koden
Arduino -koden
Arduino -koden
Arduino -koden
Arduino -koden
Arduino -koden

Kretsen är väldigt enkel. Du behöver bara ansluta sensorn till arduino mega på detta sätt:

Vin +5V

GND GND

SDA -stift 20

SCL -stift 21

Displayen är bara ansluten till kontaktdonet på arduino mega.

Här är länkarna till de arduino-bibliotek du behöver:

BME280-bibliotek:

gemensamt sensorbibliotek:

Hjärtat i denna väderstation är som sagt den grafiska representationen av väderdata. För närvarande uppdateras värdena var 6: e minut och graferna flyttas 1 pixel till vänster. På så sätt kan de senaste 1,5 dagarna spelas in. Naturligtvis kan detta ändras när som helst. Först då måste värdet 360000 ms (= 6 minuter) och naturligtvis tidsaxeln i timmar ändras. Här är de rader du måste ändra:

time_neu = millis ();

if (time_neu <time_alt) // för att undvika problem efter millis-översvämningen

{

time_next = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // ny mätning efter 6 minuter

{

Jag har bestämt mig för att hålla temperatur-, lufttrycks- och fuktighetsskalorna oförändrade, eftersom det gör att du snabbt kan bedöma om lufttrycket är högt, medelhögt eller lågt, baserat på platsen för de aktuella avläsningarna. Om jag skulle justera skalan om och om igen, skulle jag inte känna igen detta vid första anblicken. Tidsaxeln är placerad vid positionen y = 290 pixlar. Märkena på y-axlarna är 45 pixlar från varandra. Om du vill visa lufttrycket från 940 mbar till 1000 mbar i steg om 10 mbar, gör följande:

Sätt först upp den allmänna ekvationen y = k * x + d. Nu använder du dessa 2 värdepar (x = 940, y = 290) och (x = 950, y = 245). Detta ger 2 ekvationer med de två okända k och d: 290 = k * 940 + d och 245 = k * 950 + d. Genom att subtrahera båda ekvationerna får vi: 290 - 245 = k * 940 - k * 950 + d - d. Det okända d försvinner på detta sätt och vi får för k = - 45/10 = -4,5. Detta värde för k placeras i en av de två initialekvationerna: 290 = -4,5 * 940 + d. På detta sätt erhåller man värdet för d, specifikt d = 4520.

Om du vill att lufttrycket, till exempel endast representerar 955 mbar till 985 mbar, sätter du värdeparen (955, 290) och (960, 245) i den linjära ekvationen. Då erhåller man för k = -9 och d = 8885. På samma sätt beräknar man de raklinje ekvationerna för temperaturen och luftfuktigheten. Dessa 3 ekvationer visas här i programmet:

för (i = 0; i <= 348; i ++)

{

om (luftfuktighet ! = -66)

{

myGLCD.setColor (255, 0, 0);

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

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

myGLCD.setColor (0, 255, 0);

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

myGLCD.drawLine (81 + i, -4,5 * luftfuktighet + 380,81 + i + 1, -4,5 * fuktighet [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

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

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

}

}

Steg 3: Resultaten

Image
Image
Resultaten
Resultaten
Resultaten
Resultaten

Ett ord till videon: För att synliggöra expansionen av grafen minskade jag tidsstegen till 1 sekund. Därför flimrar skärmen starkt. I verkligheten är tidsstegen 6 minuter. Så du kan inte se några flimmer …

Jag skulle bli glad om den ena eller andra hobbymeteorologen försöker pilla på min väderstation. En jämförelse med officiella mätstationer (t.ex. University of Graz/österrike) visar mätkurvornas användbarhet.

Dessutom skulle jag vara glad om du kunde rösta på mig i sensortävlingen och på mina andra instruktörer i vetenskapstävlingen i klassrummet:

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

Tack så mycket för detta.

Om du är intresserad av fler fysikprojekt, här är min youtube -kanal:

fler fysikprojekt:

I den meningen, Eureka …

Rekommenderad: