Innehållsförteckning:
Video: Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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
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
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
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:
Använda Hopes bröstförlängning för att hitta ofullständigt tempelförordningsarbete inom ditt släktträd på släktträning: 11 steg
Använda Hoops bröstförlängning för att hitta ofullständigt tempelförordningsarbete inom ditt släktträd på släktträd: Syftet med denna instruerbara är att demonstrera hur du söker ditt släktträd i Family Search efter förfäder med ofullständigt tempelförordningsarbete med hjälp av hoppets bröstförlängning. Att använda Hope's Chest kan påskynda din sökning efter inkomp
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: 3 steg
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: Detta projekt hjälper dig att ansluta 18 lysdioder (6 röda + 6 blå + 6 gula) till ditt Arduino-kort och analysera datorns ljudkortets realtidsignaler och vidarebefordra dem till lysdioderna för att tända dem enligt slageffekterna (Snare, High Hat, Kick)
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
Gör din egen fina EeePC / Netbook -påse för cirka $ 8 (och spara $ 91 istället för att köpa från Redmaloo): 5 steg (med bilder)
Gör din egen fina filt EeePC / Netbook -påse för cirka $ 8 (och spara $ 91 istället för att köpa från Redmaloo): Den här instruktören visar dig hur du gör din egen, mycket snygga och snygga bärbara dator eller ännu bättre netbook -påse. Det kommer att lagra din netbook, ge dig en musmatta, känslan av att använda något unikt, snyggt och handgjort och känslan av