Sommario:

Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni: 3 passaggi (con immagini)
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni: 3 passaggi (con immagini)

Video: Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni: 3 passaggi (con immagini)

Video: Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni: 3 passaggi (con immagini)
Video: Usare il sensore BMP280 per temperatura, pressione e umidità con Arduino - Video 313 2024, Dicembre
Anonim
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni
Stazione meteorologica con Arduino, BME280 e display per vedere la tendenza negli ultimi 1-2 giorni

Ciao!

Qui su istruibili le stazioni meteorologiche sono già state introdotte. Mostrano la pressione dell'aria, la temperatura e l'umidità attuali. Quello che mancava finora era una presentazione del corso negli ultimi 1-2 giorni. Questo processo avrebbe il vantaggio di poter non solo leggere graficamente i valori attuali, ma anche a colpo d'occhio, vedere come sono cambiati negli ultimi 1-2 giorni. Di conseguenza, si riconosce, ad esempio, un possibile cambiamento del tempo, poiché la pressione dell'aria cambia notevolmente. Tuttavia, si riconoscono anche relazioni generali tra le grandezze misurate.

Ad esempio, l'umidità diminuisce quando la temperatura dell'aria aumenta. Questo perché l'aria calda può assorbire più umidità dell'aria fredda. Se l'umidità relativa è di circa il 60% a 20°C, allora a 25°C l'aria potrebbe assorbire più umidità in termini assoluti. Pertanto, l'umidità relativa non è più del 60%, ma ad esempio solo del 50%.

Inoltre puoi vedere bene a che ora del giorno sono previste le temperature più alte o più basse. O che l'umidità aumenta bruscamente quando piove. Ideale per il meteorologo amatoriale. Sarei molto felice se potessi postare le tue esperienze nei commenti.

Passaggio 1: parti

Parti
Parti
Parti
Parti
Parti
Parti
Parti
Parti

Per questa stazione meteorologica sono necessarie solo 5 parti:

* Arduino mega: ebay arduino mega

* Sensore meteo BME280: ebay BME280

* Display 320x480 pixel per Arduino Mega: display ebay 320x480

* + Alimentazione 9V: alimentatore ebay

* Filo elettrico

I costi totali sono solo meno di $ 25.

Passaggio 2: il codice Arduino

Il codice Arduino
Il codice Arduino
Il codice Arduino
Il codice Arduino
Il codice Arduino
Il codice Arduino

Il circuito è molto semplice. Devi solo collegare il sensore all'arduino mega in questo modo:

Vin +5V

GND GND

Pin SDA 20

Perno SCL 21

Il display è collegato solo alla striscia di connettori sull'arduino mega.

Ecco i link per le librerie arduino di cui avrai bisogno:

Libreria BME280:

libreria di sensori comune:

Il cuore di questa stazione meteorologica è, come dicevo, la rappresentazione grafica dei dati meteorologici. Al momento, i valori vengono aggiornati ogni 6 minuti e i grafici vengono spostati di 1 pixel a sinistra. In questo modo è possibile registrare gli ultimi 1,5 giorni. Naturalmente questo può essere modificato in qualsiasi momento. Solo allora è necessario modificare il valore 360000 ms (= 6 minuti) e ovviamente l'asse del tempo in ore. Ecco le linee che dovrai modificare:

tempo_neu = millis();

if(time_neu < time_alt) // per evitare problemi dopo il millis-overflow

{

time_next = 0 + 360000;

}

if(time_neu > time_next && time_next >= 360000) // nuova misurazione dopo 6 minuti

{

Ho deciso di mantenere inalterate le scale di temperatura, pressione atmosferica e umidità, in quanto consentono di valutare rapidamente, nel tempo, se la pressione atmosferica è alta, media o bassa, in base alla posizione delle letture correnti. Se aggiustassi la scala ancora e ancora, non lo riconoscerei a prima vista. L'asse del tempo si trova nella posizione y = 290 pixel. I segni sugli assi y sono distanti 45 pixel l'uno dall'altro. Se si desidera visualizzare la pressione dell'aria da 940 mbar a 1000 mbar a passi di 10 mbar, procedere come segue:

Innanzitutto, imposta l'equazione generale y = k * x + d. Ora usi quelle 2 coppie di valori (x = 940, y = 290) e (x = 950, y = 245). Questo dà 2 equazioni con le due incognite k e d: 290 = k * 940 + d e 245 = k * 950 + d. Sottraendo entrambe le equazioni, otteniamo: 290 - 245 = k * 940 - k * 950 + d - d. L'incognita d svanisce in questo modo e si ottiene per k = - 45/10 = -4.5. Questo valore per k è posto in una delle due equazioni iniziali: 290 = -4,5 * 940 + d. In questo modo si ottiene il valore di d, precisamente d = 4520.

Se vuoi che la pressione dell'aria, ad esempio, rappresenti solo da 955 mbar a 985 mbar, inserisci le coppie di valori (955, 290) e (960, 245) nell'equazione della retta. Quindi si ottiene per k = -9 e d = 8885. Analogamente, si calcolano le equazioni in linea retta per la temperatura e l'umidità dell'aria. Queste 3 equazioni appaiono qui nel programma:

per (i = 0; i <= 348; i ++)

{

if (umidità ! = -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 * umidità + 380);

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

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4.5 * pressione + 4520);

myGLCD.drawLine (81 + i, -9,0 * pressione + 8885, 81 + i + 1, -9,0 * pressione [i + 1] + 8885);

}

}

Passaggio 3: i risultati

Image
Image
I risultati
I risultati
I risultati
I risultati

Una parola al video: per rendere visibile l'espansione del grafico ho ridotto i tempi fino a 1 secondo. Pertanto il display tremola fortemente. In realtà i tempi sono 6 minuti. Quindi non puoi vedere alcuno sfarfallio…

Sarei felice se uno o l'altro meteorologo per hobby cercasse di armeggiare la mia stazione meteorologica. Un confronto con le stazioni di misurazione ufficiali (ad es. Università di Graz/austria) mostra l'utilizzabilità delle curve di misurazione.

Inoltre, sarei felice se potessi votare per me nel concorso sui sensori e per gli altri miei istruttori nel concorso di scienze in classe:

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

Grazie mille per questo.

Se sei interessato ad altri progetti di fisica, ecco il mio canale youtube:

altri progetti di fisica:

In questo senso, Eureka…

Consigliato: