Taula de continguts:

Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: 3 passos (amb imatges)
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: 3 passos (amb imatges)

Vídeo: Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: 3 passos (amb imatges)

Vídeo: Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies: 3 passos (amb imatges)
Vídeo: Estación meteorológica con Arduino | Humedad, Temperatura y luz + Relay | IoT con Ubidots 2024, Desembre
Anonim
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies
Estació meteorològica Amb Arduino, BME280 i pantalla per veure la tendència en els darrers 1-2 dies

Hola!

Aquí, a les instruccions meteorològiques, ja s’han introduït. Mostren la pressió, la temperatura i la humitat de l’aire actuals. El que els va faltar fins ara era una presentació del curs en els darrers 1-2 dies. Aquest procés tindria l'avantatge que no només podeu llegir gràficament els valors actuals, sinó també d'un cop d'ull, veure com han canviat en els darrers 1-2 dies. Com a resultat, es reconeix, per exemple, un possible canvi de temps, ja que la pressió de l’aire canvia molt. Tanmateix, també es reconeixen les relacions generals entre les magnituds mesurades.

Per exemple, la humitat disminueix quan augmenta la temperatura de l’aire. Això es deu al fet que l’aire calent pot absorbir més humitat que l’aire fred. Si la humitat relativa és aproximadament del 60% a 20 ° C, a 25 ° C l’aire podria absorbir més humitat en termes absoluts. Per tant, la humitat relativa ja no és del 60%, sinó, per exemple, només del 50%.

També podeu veure molt bé a quina hora del dia s’esperen les temperatures més altes o més baixes. O que la humitat augmenta bruscament quan plou. Ideal per a l’aficionat meteoròleg. Estaria molt content si publiquéssiu les vostres experiències als comentaris.

Pas 1: parts

Parts
Parts
Parts
Parts
Parts
Parts
Parts
Parts

Per a aquesta estació meteorològica només necessiteu 5 parts:

* Arduino mega: ebay arduino mega

* Sensor meteorològic BME280: ebay BME280

* Pantalla de 320x480 píxels per a la pantalla Arduino Mega: ebay de 320x480

* Font d'alimentació de 9 V: font d'alimentació d'eBay

* Fil elèctric

Els costos totals només són inferiors a 25 dòlars.

Pas 2: el codi Arduino

El codi Arduino
El codi Arduino
El codi Arduino
El codi Arduino
El codi Arduino
El codi Arduino

El circuit és molt senzill. Només heu de connectar el sensor al mega arduino d’aquesta manera:

Vin + 5V

GND GND

Pin SDA 20

Pin 21 de SCL

La pantalla només es connecta a la tira de connectors del mega arduino.

Aquests són els enllaços de les biblioteques arduino que necessitareu:

Biblioteca BME280:

biblioteca de sensors comuna:

El centre d’aquesta estació meteorològica és, com he dit, la representació gràfica de les dades meteorològiques. De moment, els valors s’actualitzen cada 6 minuts i els gràfics es desplacen 1 píxel cap a l’esquerra. D'aquesta manera, es poden registrar els darrers 1,5 dies. Per descomptat, això es pot canviar en qualsevol moment. Només llavors s'ha de canviar el valor de 360000 ms (= 6 minuts) i, per descomptat, l'eix de temps en hores. Aquestes són les línies que haurà de canviar:

time_neu = millis ();

if (time_neu <time_alt) // per evitar problemes després del desbordament de mil·lis

{

time_next = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // nova mesura al cap de 6 minuts

{

He decidit mantenir les escales de temperatura, pressió de l’aire i humitat sense canvis, ja que permet avaluar ràpidament, amb el pas del temps, si la pressió de l’aire és alta, mitjana o baixa, en funció de la ubicació de les lectures actuals. Si ajustés l’escala una i altra vegada, no ho reconeixeria a primera vista. L'eix temporal es troba a la posició y = 290 píxels. Les marques dels eixos Y es distingeixen a 45 píxels. Si voleu mostrar la pressió de l'aire de 940 mbar a 1000 mbar en passos de 10 mbar, procediu de la següent manera:

En primer lloc, configureu l’equació general y = k * x + d. Ara utilitzeu aquests 2 parells de valors (x = 940, y = 290) i (x = 950, y = 245). Això dóna 2 equacions amb les dues incògnites k i d: 290 = k * 940 + d i 245 = k * 950 + d. Restant ambdues equacions, obtenim: 290 - 245 = k * 940 - k * 950 + d - d. El desconegut desapareix d'aquesta manera i obtenim per k = - 45/10 = -4,5. Aquest valor per a k es situa en una de les dues equacions inicials: 290 = -4,5 * 940 + d. D’aquesta manera s’obté el valor de d, concretament d = 4520.

Si voleu que la pressió de l'aire, per exemple, representi només 955 mbar a 985 mbar, poseu els parells de valor (955, 290) i (960, 245) a l'equació de línia recta. Aleshores s’obté per k = -9 i d = 8885. De la mateixa manera, es calculen les equacions de línia recta per a la temperatura i la humitat de l’aire. Aquestes 3 equacions apareixen aquí al programa:

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

{

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

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

myGLCD.setColor (0, 0, 255);

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

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

}

}

Pas 3: els resultats

Image
Image
Els resultats
Els resultats
Els resultats
Els resultats

Una paraula al vídeo: per fer visible l'expansió del gràfic, he reduït els passos temporals fins a 1 segon. Per tant, la pantalla parpelleja fortament. En realitat, els passos temporals són de 6 minuts. Per tant, no es pot veure cap parpelleig …

M'alegraria si un o altre meteoròleg aficionat tractés de jugar la meva estació meteorològica. Una comparació amb estacions de mesurament oficials (per exemple, Universitat de Graz / Àustria) mostra la usabilitat de les corbes de mesura.

A més, estaria feliç si em poguéssiu votar al concurs de sensors i als meus altres instructius del concurs de ciències de l'aula:

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

Moltes gràcies per això.

Si esteu interessats en més projectes de física, aquí teniu el meu canal de youtube:

més projectes de física:

En aquest sentit, Eureka …

Recomanat: