Съдържание:

Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни: 3 стъпки (със снимки)
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни: 3 стъпки (със снимки)

Видео: Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни: 3 стъпки (със снимки)

Видео: Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни: 3 стъпки (със снимки)
Видео: Домашняя метеостанция на базе Arduino 2024, Ноември
Anonim
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни
Метеорологична станция с Arduino, BME280 и дисплей за проследяване на тенденцията през последните 1-2 дни

Здравейте!

Тук на инструкторите метеорологични станции вече са въведени. Те показват текущото въздушно налягане, температура и влажност. Това, което им липсваше досега, беше презентация на курса през последните 1-2 дни. Този процес би имал предимството, че можете не само графично да прочетете текущите стойности, но и с един поглед, да видите как са се променили през последните 1-2 дни. В резултат на това човек разпознава например евентуална промяна във времето, тъй като налягането на въздуха се променя значително. Признават се обаче и общите връзки между измерените величини.

Например, влажността намалява, когато температурата на въздуха се повиши. Това е така, защото топлият въздух може да абсорбира повече влага от студения. Ако относителната влажност е около 60% при 20 ° C, тогава при 25 ° C въздухът би могъл да абсорбира повече влажност в абсолютно изражение. Следователно относителната влажност вече не е 60%, а например само с 50% намаление.

Също така можете да видите добре в кое време на деня се очакват най -високите или най -ниските температури. Или че влажността рязко се повишава, когато вали дъжд. Идеален за хоби метеоролог. Ще се радвам, ако можете да публикувате своя опит в коментарите.

Стъпка 1: Части

Части
Части
Части
Части
Части
Части
Части
Части

За тази метеорологична станция са ви необходими само 5 части:

* Arduino mega: ebay arduino mega

* Сензор за времето BME280: ebay BME280

* 320x480 пикселен дисплей за Arduino Mega: ebay 320x480 дисплей

* + 9V захранване: захранване от ebay

* Електрическа жица

Общите разходи са само по -малко от 25 долара.

Стъпка 2: Кодът на Arduino

Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино

Схемата е много проста. Просто трябва да свържете сензора към arduino mega по този начин:

Vin +5V

GND GND

SDA щифт 20

SCL щифт 21

Дисплеят е включен само в съединителната лента на arduino mega.

Ето връзките към arduino-библиотеките, от които се нуждаете:

BME280-библиотека:

обща сензорна библиотека:

Сърцето на тази метеорологична станция е, както казах, графичното представяне на метеорологичните данни. В момента стойностите се актуализират на всеки 6 минути и графиките се изместват с 1 пиксел наляво. По този начин могат да се записват последните 1,5 дни. Разбира се, това може да се промени по всяко време. Само тогава стойността 360000 ms (= 6 минути) и разбира се времевата ос в часове трябва да се промени. Ето редовете, които ще трябва да промените:

time_neu = millis ();

if (time_neu <time_alt) // за да се избегнат проблеми след преливането на милисекунди

{

time_next = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // ново измерване след 6 минути

{

Реших да запазя непроменените скали за температура, въздушно налягане и влажност, тъй като ви позволява бързо да прецените с течение на времето дали налягането на въздуха е високо, средно или ниско, въз основа на местоположението на текущите показания. Ако щях да коригирам скалата отново и отново, нямаше да разпозная това на пръв поглед. Времевата ос се намира в позиция y = 290 пиксела. Марките по осите y са на 45 пиксела един от друг. Ако искате да покажете налягането на въздуха от 940 mbar до 1000 mbar на стъпки от 10 mbar, процедирайте както следва:

Първо, задайте общото уравнение y = k * x + d. Сега използвате тези 2 двойки стойности (x = 940, y = 290) и (x = 950, y = 245). Това дава 2 уравнения с двете неизвестни k и d: 290 = k * 940 + d и 245 = k * 950 + d. Като извадим и двете уравнения, получаваме: 290 - 245 = k * 940 - k * 950 + d - d. Неизвестното d изчезва по този начин и получаваме за k = - 45/10 = -4,5. Тази стойност за k се поставя в едно от двете начални уравнения: 290 = -4,5 * 940 + d. По този начин човек получава стойността за d, по -специално d = 4520.

Ако искате въздушното налягане например да представлява само 955 mbar до 985 mbar, поставяте двойките стойности (955, 290) и (960, 245) в праволинейното уравнение. След това се получава за k = -9 и d = 8885. По същия начин се изчисляват линейните уравнения за температурата и влажността на въздуха. Тези 3 уравнения се появяват тук в програмата:

за (i = 0; i <= 348; i ++)

{

ако (влажност ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4.5 * температура + 200);

myGLCD.drawLine (81 + i, -4,5 * температура + 200,81 + i + 1, -4,5 * температура [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel(81 + i, -4.5 * влажност + 380);

myGLCD.drawLine (81 + i, -4.5 * влажност + 380.81 + i + 1, -4.5 * влажност [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4.5 * налягане + 4520);

myGLCD.drawLine (81 + i, -9.0 * налягане + 8885, 81 + i + 1, -9.0 * налягане [i + 1] + 8885);

}

}

Стъпка 3: Резултатите

Image
Image
Резултатите
Резултатите
Резултатите
Резултатите

Една дума към видеото: За да стане видимо разширяването на графиката, намалих стъпките във времето до 1 секунда. Следователно дисплеят силно трепти. В действителност времевите стъпки са 6 минути. Така че не можете да видите трептене …

Ще се радвам, ако единият или другият метеоролог по хоби се опита да измисли метеорологичната станция. Сравнението с официалните измервателни станции (например Университета в Грац/Австрия) показва използваемостта на измервателните криви.

Освен това ще се радвам, ако можете да гласувате за мен в сензорния конкурс и за другите ми инструктажи в научния конкурс в класната стая:

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

Много благодаря за това.

Ако се интересувате от още проекти по физика, ето моят канал в youtube:

още проекти по физика:

В този смисъл Еврика …

Препоръчано: