INHOUDSOPGAWE:
Video: Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien: 3 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hallo!
Hier op instruksies is weerstasies reeds bekendgestel. Dit wys die huidige lugdruk, temperatuur en humiditeit. Wat hulle tot dusver ontbreek, was 'n aanbieding van die kursus binne die afgelope 1-2 dae. Hierdie proses het die voordeel dat u nie net die huidige waardes grafies kan lees nie, maar ook in 'n oogopslag kan sien hoe dit die afgelope 1-2 dae verander het. As gevolg hiervan herken 'n mens byvoorbeeld 'n moontlike verandering in die weer, aangesien die lugdruk baie verander. 'N Mens herken egter ook algemene verwantskappe tussen die gemete hoeveelhede.
Die humiditeit neem byvoorbeeld af wanneer die lugtemperatuur styg. Dit is omdat warm lug meer humiditeit kan absorbeer as koue lug. As die relatiewe humiditeit ongeveer 60% is by 20 ° C, dan kan die lug by 25 ° C meer humiditeit in absolute terme absorbeer. Daarom is die relatiewe humiditeit nie meer 60% nie, maar byvoorbeeld slegs 50% af.
U kan ook mooi sien watter tyd van die dag die hoogste of laagste temperature te wagte is. Of dat die humiditeit skerp styg as dit reën. Ideaal vir die stokperdjie -meteoroloog. Ek sal baie bly wees as u u ervarings in die kommentaar kan plaas.
Stap 1: Onderdele
Vir hierdie weerstasie benodig u slegs 5 dele:
* Arduino mega: ebay arduino mega
* Weersensor BME280: eBay BME280
* 320x480 pixel skerm vir die Arduino Mega: ebay 320x480 skerm
* + 9V kragtoevoer: ebay -kragtoevoer
* Elektriese draad
Die totale koste is slegs minder as $ 25.
Stap 2: Die Arduino -kode
Die kring is baie eenvoudig. U hoef slegs die sensor op hierdie manier aan die arduino mega te koppel:
Vin +5V
GND GND
SDA -pen 20
SCL pen 21
Die skerm is slegs in die aansluitstrook van die arduino mega gekoppel.
Hier is die skakels vir die arduino-biblioteke wat u benodig:
BME280-biblioteek:
algemene sensor-biblioteek:
Die kern van hierdie weerstasie is, soos ek gesê het, die grafiese voorstelling van die weerdata. Op die oomblik word die waardes elke 6 minute bygewerk en die grafieke word 1 pixel na links verskuif. Op hierdie manier kan die laaste 1,5 dae aangeteken word. Dit kan natuurlik te eniger tyd verander word. Eers dan moet die waarde 360000 ms (= 6 minute) en natuurlik die tydas in ure verander word. Hier is die lyne wat u moet verander:
time_neu = millis ();
if (time_neu <time_alt) // om probleme na die millis-oorloop te vermy
{
time_next = 0 + 360000;
}
if (time_neu> time_next && time_next> = 360000) // nuwe meting na 6 minute
{
Ek het besluit om die skaal van temperatuur, lugdruk en humiditeit onveranderd te hou, aangesien dit u mettertyd vinnig kan bepaal of die lugdruk hoog, medium of laag is, gebaseer op die ligging van die huidige metings. As ek die skaal telkens sou aanpas, sou ek dit met die eerste oogopslag nie herken nie. Die tydas is geleë op die posisie y = 290 pixels. Die merke op die y-asse is 45 pixels uitmekaar. As u die lugdruk van 940 mbar tot 1000 mbar in stappe van 10 mbar wil vertoon, gaan soos volg te werk:
Stel eers die algemene vergelyking y = k * x + d op. Nou gebruik u die 2 waardepare (x = 940, y = 290) en (x = 950, y = 245). Dit gee 2 vergelykings met die twee onbekende k en d: 290 = k * 940 + d en 245 = k * 950 + d. Deur albei vergelykings af te trek, kry ons: 290 - 245 = k * 940 - k * 950 + d - d. Die onbekende d verdwyn op hierdie manier en ons kry vir k = - 45/10 = -4,5. Hierdie waarde vir k word in een van die twee aanvanklike vergelykings geplaas: 290 = -4,5 * 940 + d. Op hierdie manier verkry 'n mens die waarde vir d, spesifiek d = 4520.
As u die lugdruk wil hê, byvoorbeeld slegs 955 mbar tot 985 mbar, plaas u die waardepare (955, 290) en (960, 245) in die reguitlynvergelyking. Dan kry ons vir k = -9 en d = 8885. Net so bereken ons die reguitlynvergelykings vir die temperatuur en die lugvochtigheid. Hierdie 3 vergelykings verskyn hier in die program:
vir (i = 0; i <= 348; i ++)
{
as (humiditeit ! = -66)
{
myGLCD.setColor (255, 0, 0);
//myGLCD.drawPixel(81 + i, -4,5 * temperatuur + 200);
myGLCD.drawLine (81 + i, -4,5 * temperatuur + 200,81 + i + 1, -4,5 * temperatuur [i + 1] + 200);
myGLCD.setColor (0, 255, 0);
//myGLCD.drawPixel(81 + i, -4,5 * humiditeit + 380);
myGLCD.drawLine (81 + i, -4,5 * humiditeit + 380,81 + i + 1, -4,5 * humiditeit [i + 1] + 380);
myGLCD.setColor (0, 0, 255);
//myGLCD.drawPixel(81 + i, -4,5 * druk + 4520);
myGLCD.drawLine (81 + i, -9.0 * druk + 8885, 81 + i + 1, -9.0 * druk [i + 1] + 8885);
}
}
Stap 3: Die resultate
Een woord vir die video: Om die uitbreiding van die grafiek sigbaar te maak, het ek die tydstappe tot 1 sekonde verminder. Daarom flikker die skerm sterk. In werklikheid is die tydstappe 6 minute. U kan dus geen flikkering sien nie …
Ek sal bly wees as die een of ander stokperdjie -meteoroloog my weerstasie probeer toemaak. 'N Vergelyking met amptelike meetstasies (bv. Universiteit van Graz/Oostenryk) toon die bruikbaarheid van die meetkrommes.
Verder sal ek bly wees as u vir my kan stem in die sensorkompetisie en vir my ander instruksies in die wetenskapskompetisie in die klaskamer:
- https://www.instructables.com/id/DIY-LED-photomete…
- www.instructables.com/id/DIY-Wind-Tunnel-a…
- www.instructables.com/id/Simple-Autorange-…
Baie dankie hiervoor.
As u belangstel in meer fisika -projekte, is my YouTube -kanaal hier:
meer fisika-projekte:
In hierdie sin, Eureka …
Aanbeveel:
Die mees gevorderde flitslig - COB LED, UV LED en laser binne: 5 stappe (met foto's)
Die mees gevorderde flitslig - COB LED, UV LED en laser binne: daar is baie flitse op die mark wat dieselfde gebruik het en verskil in helderheid, maar ek het nog nooit 'n flits gesien wat meer as een tipe lig het nie In hierdie projek het ek 3 soorte ligte in een flitslig versamel, ek
NaTaLia Weerstasie: Arduino -sonkrag -weerstasie op die regte manier: 8 stappe (met foto's)
NaTaLia Weerstasie: Arduino -sonkrag -weerstasie op die regte manier: Na 1 jaar suksesvolle werking op 2 verskillende plekke deel ek my projekplanne met sonkrag -aangedrewe weerstasies en verduidelik hoe dit ontwikkel het tot 'n stelsel wat werklik oor 'n lang tyd kan voortbestaan tydperke van sonkrag. As jy volg
Weerstasie in die kamer met Arduino en BME280: 4 stappe
Weerstasie in die kamer met Arduino en BME280: Voorheen het ek 'n eenvoudige weerstasie gedeel wat die temperatuur en humiditeit van die plaaslike omgewing vertoon. Die probleem daarmee was dat dit tyd sou neem om op te dateer en dat die data nie akkuraat was nie. In hierdie handleiding maak ons 'n binnenshuise weermonitor
3D -skootrekenaar wat ek die afgelope ses maande uitgestel het: 3 stappe
3D -skootrekenaar wat ek die afgelope ses maande uitgestel het: Dit is 'n 3D -ontwerp van 'n skootrekenaar waaraan ek ongeveer 6 maande gelede opgehou het. En toe begin ek dit ongeveer 'n week gelede klaarmaak. Ek hoop jy geniet dit!: D
ESP32 WiFi weerstasie met 'n BME280 -sensor: 7 stappe (met foto's)
ESP32 WiFi weerstasie met 'n BME280 -sensor: Beste vriende, welkom by nog 'n tutoriaal! In hierdie tutoriaal gaan ons 'n WiFi -weerstasieprojek bou! Ons gaan die nuwe, indrukwekkende ESP32 -chip vir die eerste keer saam met 'n Nextion -skerm gebruik. In hierdie video gaan ons