INHOUDSOPGAWE:

Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien: 3 stappe (met foto's)
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien: 3 stappe (met foto's)

Video: Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien: 3 stappe (met foto's)

Video: Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien: 3 stappe (met foto's)
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, November
Anonim
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien
Weerstasie met Arduino, BME280 en skerm om die neiging binne die afgelope 1-2 dae te sien

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

Dele
Dele
Dele
Dele
Dele
Dele
Dele
Dele

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 Arduino -kode
Die Arduino -kode
Die Arduino -kode
Die Arduino -kode
Die Arduino -kode
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

Image
Image
Die resultate
Die resultate
Die resultate
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: