Карта на метеорологичната станция. BMP085 Модул на сензор за барометрично налягане за arduino (или как да направите метеорологична станция със собствените си ръце). Измервател на скоростта и посоката на вятъра

MBOU средно училище Selikhinsky селско селище

Тема на проекта

„Метеорологична станция у дома“

Завършено:

Пуви Райнис, ученик от 5 клас

Ръководител:

Бессмертная О.А.

2016 г

Тема : "Метеорологична станция у дома."

Хипотеза: Възможно ли е да се създаде метеорологична станция у дома.

Цел: Създаване на метеорологична станция у дома и наблюдение на промените във времето.

Задачи:

    Разберете какво е метеорологична станция.

    Изучаване на историята на фенологията.

    Проучете структурата на метеорологичната станция.

    Направете метеорологична станция у дома;

    Наблюдавайте времето и записвайте резултатите от наблюденията в таблица;

Изследователски методи:

    търсене (събиране на информация по темата)

    наблюдения

    практично (изработване на устройства)

    аналитичен (сравнение на резултатите)

    Въведение.

Когато изучавахме темата „Времето и метеорологични наблюдения“ в урок по география, бяхме помолени да направим метеорологично устройство със собствените си ръце и да направим наблюдения на времето според това устройство. Имах въпрос: „Възможно ли е да се създаде метеорологична станция у дома и да се извършват наблюдения върху времето?“

Нашият далечен предшественик е бил силно зависим от превратностите на времето. Той не разбираше същността и закономерностите на природните явления и обясняваше всичко неразбираемо с наличието на свръхестествена, "божествена" сила. По „волята на боговете” изгря слънце, заваля дъжд, реките пресъхнаха, вятърът задуха.

Всички народи обожествяваха Слънцето, Луната, вятъра, светкавицата и гръмотевицата. Източните славяни, преди да приемат християнството, особено почитаха Перун, земеделския бог, дарител на дъжд, създател на светкавици и гръмотевици, в неговата сила беше появата на пролетна зеленина на земята и дърветата. След като приеха нова вяра, нашите предци започнаха да почитат Иля Гръмовержеца.

Много народи смятаха Слънцето за основния източник на живот на Земята. Наричаха го „Принц на Земята и Цар на Небето“. Луната била почитана като принцеса.

Преди появата на специални инструменти, прогнозата за времето се основаваше единствено на визуални наблюдения на атмосферните явления, което позволяваше да се установят някои закономерности дори в древността. Придобитият опит продължава да се развива и натрупва и се предава от поколение на поколение в продължение на много векове.

    Из историята на фенологията.

Фенология - наука за закономерностите на сезонното развитие на природата. Развитието на фенологията се определя от изискванията на практиката (селско стопанство, риболов, лов, горско стопанство, опазване на природата, здравеопазване и др.).

Фенологията позволява да се предскажат сезонни явления и да се планират стопански дейности (мерки за опазване на околната среда, време на селскостопанска работа и др.) В съответствие с времето на тези явления.

(№1.)

Има доказателства, че най-древните народи на земята - китайците и египтяните - в своята земеделска практика са успели да следват сезонното развитие на природата. Сезонните явления са отразени в редица произведения на древни автори (например гръцкия философ Теофраст (372-287 г. пр. н. е.) и римския писател Плиний Млади (62-114 г. сл. н. е.)).

През Средновековието в руски и чуждестранни хроники и хроники понякога се водят записи за времето на началото на най-важните сезонни явления (например в Краковския манастир за 1490-1527 г., в японския дворец микадо от 812 г. и т.н.). Тези материали обаче останаха без систематизация и научна обработка.

В Русия най-старият се счита за ръкописен календар от 1670 г., а първият печатен календар трябва да се счита за „Светци или календарът, издаден от Копиевски в Амстердам и датиран от 1702 г.

Първата идея за необходимостта от провеждане на наблюдения на сезонни природни явления в Русия принадлежи на Петър I.

През 1721 г. Петър I пише до AD от Москва до Санкт Петербург. Менишков: „Когато дърветата започнат да се разпръскват, тогава им заповядайте да ни изпращат новини за тези, седмични, залепени на хартия с подписани номера, за да разберете къде е започнала пролетта по-рано.“ И с указ на суверена, издаден на 28 март 1722 г., на адмирал Круйс е наредено да води систематични записи за времето в Санкт Петербург.

През втората половина на 18 век пазачите на Кремълската стена са били натоварени със задължението да отбелязват състоянието на замръзване, началото на снежна буря, дебелината на снежната покривка, естеството на вятъра, градушката, гръмотевичните бури и други метеорологични индикатори.

От 1864 г. Киевският народен календар започва да се публикува с прогноза за времето за всеки месец. Нейната цел била „да дава на народа знания в популярна форма в строго научни статии и в справочен отдел, приспособен към нуждите на народа“. Сега тази задача е метеорологията, науката за времето. Името си получава от гръцката дума "метеора" - "нещо в небето".

След революцията от 1917 г. метеорологията продължава да се подобрява. В момента хидрометеорологичната служба разполага с хиляди наблюдателни станции, много обсерватории и редица изследователски институции. Служителите на метеорологичните служби се стремят да предоставят информация не само за близкото бъдеще, но и за дългосрочен план.

№2.

    Концепцията за метеорологична станция, нейният състав.

Метеорологична станция - набор от различни инструменти за метеорологични измервания (наблюдения на времето).

В тесен смисъл метеорологичната станция е институция, която извършва метеорологични наблюдения. Синоптични индекси са присвоени на основните официални метеорологични станции в света. В Русия повечето метеорологични станции се управляват от Росхидромет. В зависимост от зададения обем наблюдения, метеорологичните станции имат определена категория. Данните на метеорологичните станции на СССР бяха публикувани в месечника "Метеорологичен месец".

Има аналогови и цифрови метеорологични станции.

Класическата (аналогова) метеостанция разполага с:

1. Термометър за измерване на температурата на въздуха и почвата.

2. Барометър за измерване на налягане.

3. Анемометър за посоката на вятъра.

4. Дъждомер (плювиограф) за измерване на валежите.

5. Хигрометър за измерване на влажността на въздуха

6. Снегомер - релса, предназначена за измерване на дебелината на снежната покривка по време на метеорологични наблюдения.

7. Термограф - рекордер, непрекъснато записващ температурата на въздуха.

№3.

4. метеорологични инструменти:

Термометър (гръцки θέρμη - топлина; μετρέω - измервам) - уред за измерване на температурата на въздуха, почвата, водата и др. Има няколко вида термометър: течен; механични; електронни;

Барометър (старогръцки βάρος - „гравитация“ и μετρέω - „измервам“) - устройство за измерване на атмосферното налягане. Живачният барометър е изобретен от италианския математик и физик Еванджелиста Торичели през 1644 г. Той представлява плоча с налят в нея живак и епруветка (колба), поставена с отвора надолу. Когато атмосферното налягане се повиши, живакът в епруветката се повиши, а когато се понижи, живакът спадна. Поради неудобството този дизайн престава да се използва и отстъпва място на анероиден барометър, но методът, по който е направен такъв барометър, започва да се използва в термометрите.

А.А. Летягин. География. Начален курс: 5 клас: учебник за студенти от образователни организации / A.A. Летягин; изд. В.П. Дронова.-3-то изд., финал. и допълнителни - М .: Ventana-Graf, 2015 - 160s.

Направи си сам РЪКОВОДСТВО ЗА ПРОСТА ДОМАШНА МЕТЕОСТАНЦИЯ

Ако компютърът е включен цял ден или дори денонощно, той може да се използва за управление на домашна метеорологична станция. Целта е да се създаде проста и евтина метеорологична станция, която ще включва персонален компютър (PC). Компютърът действа като четец, процесор и изпращач на измерени метеорологични данни към уебсайта Meteopost. Комуникацията между компютъра и измервателния уред ще се осъществява чрез 1-Wire мрежа.

Състав на измервателния комплекс
1. Персонален компютър с операционна система Windows XP и по-нова версия и свободен COM порт.
2. Адаптер за COM порт (1wire - RS232 конвертор)
3. 4-жилен Ethernet кабел с усукана двойка, дължината трябва да е достатъчна от COM порта до измервателния уред
4. 5V DC захранване с добро регулиране на напрежението
5. Измервателен блок (монтиран на открито)
6. Компютърен софтуер - приложение "Метеорологична станция".

ВАРИАНТ #1 - ЕДИН СЕНЗОР

Първо, помислете за най-простия вариант - метеорологична станция с един температурен сензор. Това не изисква допълнително захранване (елемент 4). И системата е много опростена. Адаптерът за COM порта (елемент 2) може да бъде направен по тази схема. Адаптерът се състои от два ценерови диода за 3.9V и 6.2V, два диода на Шотки и един резистор.

Схема на адаптер за COM порт


Адаптер в D-SUB корпус

Точката на запояване на кабела и температурния сензор, включително, и проводниците на сензора трябва да бъдат добре защитени от влага. Най-добре е да използвате лепило на полиуретанова основа.


Хидроизолационни сензорни проводници

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

ЦЕНА НА РАДИО ЧАСТИ - не повече от 50 UAH.

ВАРИАНТ #2 - ЧЕТИРИ СЕНЗОРА

По-сложна метеорологична станция с четири сензора: температура, влажност, светлина, налягане. Тъй като само температурният датчик ще бъде цифров, а останалите ще бъдат аналогови, системата използва четириканален ds2450 ADC. Този ADC поддържа 1-wire протокол. Веригата изисква допълнително захранване. Захранването трябва да осигурява стабилност на високо напрежение. Но тъй като веригата на горния адаптер има недостатък - невъзможността за свързване на външен източник на захранване към сензорите поради липса на реална маса (-), ние използваме различна верига на адаптера. Този адаптер също се побира в корпуса на D-SUB COM порта. Сега в кабела са включени три проводника: земя (-), + 5v и данни.


Схема на адаптер за COM порт с външно захранване

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


Схема на измервателния блок

Измервателният модул трябва да бъде поставен в корпус и така че платката и сензорите да са защитени от пряко излагане на валежи и слънчева радиация. За тези цели е подходяща кутия от плътна пяна. В стените на кутията (дъното и стената от сенчестата страна) трябва да направите повече дупки за вентилация. Желателно е стените на кутията да се облепят отвътре с алуминиево фолио за допълнителна защита срещу инфрачервено лъчение, в противен случай ще има грешка при измерване на температурата. Всички сензори, с изключение на осветлението, са поставени директно върху платката. Сензорът за светлина (фоторезистор) се отстранява от платката върху проводници и се монтира в отвора в долната част на корпуса от пяна. Така че повърхността на сензора да гледа надолу. В този случай валежите няма да паднат върху сензора и особено през зимата това ще го предпази от заледяване. Сензорът за светлина за хидроизолация трябва да се третира например с прозрачно лепило на основата на полиуретан (силиконовият уплътнител не издържа теста, пропуска ток). Отнасяйте се включително (!) И светлочувствителната зона на фоторезистора. Налейте кабелите на сензора с лепило и ги поставете в изолационна тръба. Запоете краищата на проводниците към малка дъска. И запоете проводниците от измервателния уред към тази платка. Напълнете местата за запояване с парафин. В противен случай, когато вали силен дъжд с вятър, метеорологичната станция може да не работи и ще трябва да я разглобите и да изсушите всичко. Устройството може да бъде свързано към кабела с помощта на конектор. Но трябва да използвате специален водоустойчив конектор - системата ще работи при трудни метеорологични условия.

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


Измервателна единица на скоба

Изходното напрежение на захранващия блок (PSU) трябва да бъде в рамките на 4,8-5,3V. Старо зарядно за телефон също ще свърши работа. Ако обаче няма стабилизатор в захранването, трябва да го добавите към захранването, т.к. Стабилното напрежение е много важно за точността на измерването. Поне можеш да провериш с тестер дали десети или стотни от волта се променят на изхода на PSU. Не се допускат скокове от десети от волта. По-долу е показана проста схема на 5v стабилизатор. На входа на PSU може да бъде от 7 до 17V. Изходът ще бъде около 5V. След това трябва да свържете нашия кабел (който отива към измервателния уред) към захранването и да измерите напрежението с тестер в другия край на кабела. Това напрежение може да е малко по-ниско, отколкото директно на изхода на PSU поради съпротивлението на кабела. Това измерено напрежение трябва да бъде въведено в настройките на приложението като "Захранващо напрежение на сензора".


Типична схема на регулатор на напрежението

ЦЕНА НА АКСЕСОАРИ ЗА МЕТЕОСТАНЦИЯТА

Приблизителна цена на радиокомпонентите (цени за 2015 г. за магазина).
1. Температурен сензор ds18b20 - 25 UAH
2. ADC ds2450 - 120 UAH
3. Фоторезистор LDR07 - 6 UAH
4. Сензор за влажност HIH-5030 - 180 UAH
5. Сензор за налягане MPX4115A- 520 UAH.
ОБЩО: 850 UAH или $37

Останалите елементи общо струват не повече от 50 UAH, захранването може да се вземе например от старата "такса" за телефона.


Маркиране на радиоелементи

СОФТУЕР ЗА МЕТЕОРОЛОГИЧНА СТАНЦИЯ

Разработихме приложение за Windows, което ще предоставим безплатно на всеки, който иска да сглоби такава метеостанция. Това ще ви позволи да гледате времето на вашия компютър.


прозорец на приложението за компютър

Температурата на въздуха, показана в системната област

Приложението може да изпраща всички измерени данни на нашия сървър "Meteopost" и на специална страница (пример) можете да видите всички метеорологични данни от компютърен браузър. Страницата е адаптирана и за браузър на мобилен телефон.


Екранна снимка на браузъра на мобилен телефон

ЗАКЛЮЧЕНИЕ
Можете да спестите от цената на частите, ако ги купувате от китайците на AliExpress. Възможно е метеорологичната станция да се сглоби без нито един от сензорите, с изключение на температурния сензор. Нашият ADC има един свободен вход, така че можете да изпратите сигнал от сензора за вятър към него. Но тъй като сме в града, просто няма къде да монтираме и тестваме такъв датчик. В градските райони няма да има адекватно измерване на скоростта и посоката на вятъра. Начините да направите сами сензор за скорост на вятъра са описани подробно от много ентусиасти в мрежата. Фабричният сензор е доста скъп.

Сглобяването на такава метеорологична станция е по силите на радиолюбител със средни умения. За още по-голямо опростяване можете да не развъждате печатната платка, а да я сглобите чрез повърхностен монтаж върху макет. Проверено - работи.

Опитахме се да създадем достъпна и евтина метеорологична станция. По-специално, компютърът е включен в системата за това. Ако е изключено, тогава трябва да направите друг дисплей, модул за пренос на данни към мрежата и т.н., което значително ще увеличи цената. Например, сега популярната "Netatmo Weather Station" с подобни измерени параметри струва около 4000 UAH ($200).

Всеки, който иска да направи такава метеостанция е готов да помогне с консултации. Ние също така ще предоставим необходимия софтуер и ще свържем вашата станция с нашия уебсайт.

Гледането на времето е много вълнуващо занимание. Реших да изградя моята метеорологична станция въз основа на популярната .

Прототипът на метеорологичната станция изглежда така:

Функции на моята метеорологична станция:

  • измерване и показване на стайни и външни температури;
  • показване на текущото време (часове и минути);
  • показване на текущите фази на луната и лунния ден;
  • прехвърляне на резултатите от измерването към компютър чрез серийна връзка;
  • предаване на резултатите от измерването по протокол MQTTизползване на приложение на компютър.


шестнадесетичен
-файл
фърмуер за (версия от 9 май 2018 г.) - .
Как се флашва шестнадесетичен-файл към борда АрдуиноОписал съм.

Микроконтролер Arduino Nano 3.0

„Сърцето“ на моята метеорологична станция е микроконтролерът eBay):

За да контролирам индикацията и запитването на сензори, използвам таймер 1 Ардуино, предизвикващи прекъсвания с честота 200 Hz (период - 5 ms).

Индикатор

За показване на измерените показания на сензорите и текущото време, свързах се с Ардуиночетирицифрен LED индикатор Foryard FYQ-5643BHс общи аноди (анодите на еднакви сегменти от всички разряди се комбинират).
Индикаторът съдържа четири седемсегментни цифри и две разделителни (часови) точки:

Анодите на индикатора са свързани чрез токоограничаващи резистори към клемите Ардуино:

освобождаване от отговорност 1 2 3 4
заключение A3 A2 D3 D9

Сегментни катоди, свързани към щифтове Ардуино:

сегмент а b ° С д д f ж стр
заключение D7 D12 D4 D5 D6 D11 D8 D13

Сегментът на индикатора светва, ако анодът на съответния разряд има висок потенциал (1) и нисък потенциал (0) на катода.

Използвам динамична индикация за показване на информация на индикатора - само една цифра е активна в даден момент. Активните разряди се редуват с честота 200 Hz (период на показване 5 ms). В същото време трептенето на сегментите е незабележимо за очите.

Датчик за температура DS18x20

За възможността за дистанционно измерване на температурата свързах сензор , който осигурява широк спектър от измервания на външна температура. Сензорът е свързан към шината 1 проводники има три изхода - мощност ( VCC), данни ( DAT), Земята ( GND):

сензорен изход VCC DAT GND
заключение Ардуино 5V A1 GND

Между щифтове VCCи DATВключих 4.7k ома издърпващ резистор.

За да конвертирате между градуси по Целзий и Фаренхайт, можете да използвате следната плоча:

Поставих сензора извън прозореца на къщата в пластмасов калъф от химикал:

\

Професионалните метеорологични станции използват екран на Stevenson, за да предпазят термометъра от пряка слънчева светлина и да позволят на въздуха да циркулира. екран на Стивънсън):

Сензор за налягане и температура BMP280

Живачните и анероидните барометри традиционно се използват за измерване на атмосферното налягане.

AT живачен барометъратмосферното налягане се балансира от теглото на живачен стълб, чиято височина се използва за измерване на налягането:

AT анероиден барометъризползва се компресия и разтягане на кутията под атмосферно налягане:

За измерване на атмосферното налягане и стайната температура в моята домашна метеорологична станция използвам сензор - малък smd- 2 x 2,5 мм сензор, базиран на пиезорезистивна технология:

Носна кърпичка със сензор е закупена от пазара eBay:

Сензорът е свързан към шината I2C(данни за контакт - SDA/SDI, щифт за синхронизиране - SCL/SCK):

сензорен изход VCC GND SDI SCK
заключение Ардуино 3V3 GND A4 A5

адафрут- файлове Adafruit_Sensor.h, Adafruit_BMP280.h, Adafruit_BMP280.cpp.

Единици за атмосферно налягане

Сензор чрез функция readPressureдава стойността на атмосферното налягане в паскали. Основната единица за измерване на атмосферното налягане е хектопаскал(hPa) (1 hPa = 100 Pa), чийто аналог е извънсистемната единица " милибар" (mbar) (1 mbar = 100Pa = 1hPa). За преобразуване между често използвани единици за несистемно налягане " милиметър живачен стълб" (mm Hg) и хектопаскали се използват следните съотношения:
1 hPa = 0,75006 mmHg Изкуство. ≈ 3/4 mm Hg; 1 mmHg =1,3332 hPa ≈ 4/3 hPa.

Зависимостта на атмосферното налягане от надморската височина

Атмосферното налягане може да бъде представено както в абсолютна, така и в относителна форма.
Абсолютно налягане QFE(Английски) абсолютно налягане) е действителното атмосферно налягане, без да се взема предвид корекцията над морското равнище.
Атмосферното налягане намалява с около 1 hPa с увеличаване на надморската височина от 1 m:

Барометричната формула ви позволява да определите корекцията на показанията на барометъра, за да получите относително налягане (в mmHg):
$\Delta P = 760 \cdot (1 - (1 \over (10^ ( (0.0081350 \cdot H) \over (T + 0.00178308 \cdot H) ))))$ ,
където $T$ е средната температура на въздуха по скалата на Ранкин, ° Ра, $H$ - височина над морското равнище, футове.
Преобразуване на градуси Целзий в градуси Ранкин:
$^(\circ)Ra = (^(\circ)C \cdot 1.8) + 491,67$
Барометричната формула се използва за барометрична нивелация - определяне на височини (с грешка 0,1 - 0,5%). Формулата не отчита влажността на въздуха и изменението на ускорението на свободното падане с височина. При малки разлики във височината тази експоненциална зависимост може да се апроксимира с достатъчна точност чрез линейна зависимост.
Относително налягане QNH(Английски) относително налягане, Морска височина с Q-код) е атмосферното налягане, коригирано спрямо средното морско ниво. Средно морско ниво, MSL) (за Еи температура 15 градуса по Целзий) и първоначално се настройва, като се вземе предвид надморската височина, на която се намира метеостанцията. Може да се намери от данните на метеорологичната служба, показанията на калибрирани инструменти на обществени места, летището (от доклади METAR), от интернет.
Например за близкото летище Гомел ( UMGG) Мога да видя действителния доклад за времето METARна ru.allmetsat.com/metar-taf/russia.php?icao=UMGG :
UMGG 191800Z 16003MPS CAVOK M06/M15 Q1014 R28/CLRD//NOSIG ,
където Q1014- налягане QNHна летището е 1014 hPa.
История на бюлетините METARдостъпен от aviationwxchartsarchive.com/product/metar.
За нормално относително атмосферно налягане QNHприема се налягане от 760 mm Hg. Изкуство. или 1013.25 hPa (при температура 0ºС, под географска ширина 45º на северното или южното полукълбо).
Настроих налягането за анероидния барометър QNHс винта за настройка на чувствителността:

Прогноза за времето

Анализът на промените в налягането ви позволява да изградите прогноза за времето и нейната точност е толкова по-висока, колкото по-рязко се променя налягането. Например, едно старо основно правило на навигатора е, че спад на налягането от 10 hPa (7,5 mmHg) за период от 8 часа означава, че ви очакват силни ветрове.

Откъде идва вятърът? Въздухът тече към центъра на зоната с ниско налягане, вятър- хоризонтално движение на въздуха от области с високо налягане към области с ниско налягане (високото атмосферно налягане изтласква въздушни маси в области с ниско атмосферно налягане). Ако налягането е много ниско, вятърът може да достигне буря. В същото време в района намаленаналягане (барична депресия или циклон), топлият въздух се издига и образува облаци, които често носят дъждили сняг.

Посоката на вятъра в метеорологията е посоката, от която духа вятърът:

Тази посока е намалена до осем точки.

Често се използва алгоритъм за прогнозиране на времето въз основа на атмосферното налягане и посоката на вятъра. Замбрети.

Сензор за влажност

За определяне на относителната влажност на въздуха използвам модула DHT11(закупен от пазара eBay):

Сензор за влажност DHT11има три изхода - мощност ( + ), данни ( навън), Земята ( - ):

сензорен изход + навън -
заключение Ардуино 5V D10 GND

За да работя със сензора, използвам библиотеката от адафрут- файлове DHT.h, DHT.cpp.

Влажността характеризира количеството водни пари, съдържащи се във въздуха. Относителна влажностпоказва съотношението на влага във въздуха (като процент) по отношение на максимално възможното количество при текущата температура. Използва се за измерване на относителна влажност :

За човек оптималният диапазон на влажност на въздуха е 40 ... 60%.

Часовник за реално време

Като часовник за реално време приложих модула RTC DS1302(носна кърпичка с часовник е закупена на пазара eBay):

Модул DS1302свързан към автобуса 3 проводник. За да използвате този модул с Ардуиноразработена библиотека arduino_RTC(от iarduino.ru).

Табло с модул DS1302има пет пина, които свързах към щифтовете на платката Ардуино Нано:

заключение RTC VCC GND RST CLK DAT
заключение Ардуино 5V GND D2 D1 D0

За да поддържам правилните показания на часовника, когато захранването е изключено, поставих батерия в гнездото на платката. CR2032.

Точността на моя часовников модул не беше много висока - часовникът е по-бърз с около една минута за четири дни. Затова нулирам минутите на "нула" и часа до най-близкия, като задържам бутона, свързан към щифта A0 на Arduino, след включване на захранването на метеорологичната станция. След инициализацията щифт A0 се използва за прехвърляне на данни през серийната връзка.

Прехвърляне на данни към компютър и работа по MQTT протокол

За прехвърляне на данни чрез серийна връзка към Ардуиносвързва USB-UARTконвертор:

Заключение Ардуиноизползва се за прехвърляне на данни във формат 8N1(8 бита данни, без паритет, 1 стоп бит) при 9600 bps. Данните се предават на пакети, като дължината на пакета е 4 знака. Прехвърлянето на данни се извършва в " малко взрив" режим, без да използвате хардуерния сериен порт Ардуино.

Формат на предаваните данни:

Параметър 1-ви байт 2-ри байт 3-ти байт 4-ти байт
външна температура о интервал или минус десетки градуси или пространство единици градуси
стайна температура аз интервал или минус десетки градуси или пространство единици градуси
Атмосферно налягане стр стотици mm Изкуство. десетки mm Hg единици mmHg с.
относителна влажност ч пространство десетки процента или интервал процентни единици
текущо време десетки часове единици часове десетки минути единици минути

MQTT

golangприложение - клиент на протокола MQTT, който изпраща информацията, получена от метеорологичната станция към сървъра ( MQTT-брокер) :

Обслужване ви позволява да създадете акаунт с безплатен план " " (ограничения: 10 връзки, 10 Kbps):

За да следите показанията на метеорологичната станция, можете да използвате Android-Приложение :

Храна

За захранване на метеорологичната станция използвам зарядно от стар мобилен телефон. Motorola, извеждащ напрежение 5 V с ток до 0,55 A и свързан към контактите 5V(+) и GND (-):

Можете да използвате и 9 V батерия за захранване, свързана към контактите VIN номер(+) и GND (-).

Работа на метеорологичната станция

При стартиране сензорите се инициализират и проверяват.

При липса на сензор DS18x20издава се грешка "E1", ако няма датчик - грешка "E3".

След това започва работният цикъл на метеорологичната станция:

  • измерване и показване на външна температура;
  • измерване и показване на стайна температура;
  • измерване и показване на атмосферното налягане и тенденцията на неговото изменение;
  • измерване и показване на относителна влажност на въздуха;
  • показване на текущото време;
  • показване на фазата на луната и лунния ден.


Видеоклип на моята метеорологична станция е достъпен на моя -канал: https://youtu.be/vVLbirO-FVU

Температурен дисплей

При измерване на температура се показват две цифри за температурата, а за отрицателна температура знак минус (със символ за градус в най-дясната цифра);
за външна температура знакът за градус се показва в горната част:


за стайна температура - по-долу:

Дисплей за налягане

При измерване на налягането се показват три цифри на налягането в mmHg (със символа " П" в най-дясната цифра):

Ако налягането падне рязко, тогава вместо символа " П"символът" се показва в крайната дясна цифра Л"ако е нараснал рязко - тогава" з". Критерият за остротата на промяната е 8 mm Hg за 8 часа:

Тъй като метеорологичната ми станция показва абсолютно налягане ( QFE), тогава показанията се оказват малко подценени в сравнение с информацията в резюмето METAR(който осигурява QNH) (14 UTC, 28 март 2018 г.):

Коефициентът на налягане (според АТИС) беше $(1015 \над 998) = $1,017. Надморска височина на летище Gomel (ICAO код UMGG) над морското равнище е 143,6 м. Температурата според ATIS е 1 ° ° С.

Показанията на моята метеостанция почти съвпаднаха с абсолютното налягане QFEСпоред АТИС!

Макс./мин. налягане ( QFE), записани от моята метеорологична станция за целия период на наблюдение:

Показване на относителна влажност

Относителната влажност на въздуха се показва като процент (символът за процент се показва в двете десни цифри):

Дисплей за текущо време

Текущият час се показва на индикатора във формат "ЧЧ:ММ", като разделителното двоеточие мига веднъж в секунда:

Показване на фазите на луната и лунния ден

Първите две цифри на индикатора показват текущата лунна фаза, а следващите две - текущия лунен ден:

Луната има осем фази (дадени са английски и руски (сини - неточни) имена):

На фазовия индикатор се показват с пиктограми:

фаза пиктограма
нарастващ сърп (полумесец)
намаляващ полумесец (полумесец)

Прехвърляне на данни към компютър

Ако свържете метеорологичната станция с USB-UARTпреобразувател (например, базиран на микросхема CP2102) свързан с USB-порт на компютъра, тогава можете да използвате терминалната програма, за да наблюдавате данните, предавани от метеорологичната станция:

Разработих на език за програмиране golangпрограма, която води дневник на метеорологичните наблюдения и изпраща данни към услугата и може да се гледа на Android-смартфон с помощта на приложението :

Според дневника на метеорологичните наблюдения можете например да изградите графика на промените в атмосферното налягане:
пример за графика със забележим минимум на налягането


пример за графика с леко повишаване на налягането

Планирани подобрения:

  • добавяне на сензори за посока и скорост на вятъра

В метеорологичните станции анемометър с три чаши (1) се използва за измерване на скоростта на вятъра, а ветропоказател (2) се използва за определяне на посоката на вятъра:

Използва се и за измерване на скоростта на вятъра. анемометри с нажежена жица(Английски) анемометър с гореща тел). Като нагрята жица можете да използвате волфрамова жичка от електрическа крушка със счупено стъкло. В индустриалните анемометри с горещ проводник сензорът обикновено се намира върху телескопична тръба:

Принципът на работа на това устройство е, че топлината се отстранява от нагревателния елемент поради конвекция от въздушен поток - вятър. В този случай съпротивлението на нишката се определя от температурата на нишката. Законът за промяна на съпротивлението на нишката $R_T$ от температурата $T$ има формата:
$R_T = R_0 \cdot (1 + (\alpha \cdot (T - T_0)))$,
където $R_0$ е съпротивлението на нишката при температура $T_0$, $\alpha$ е температурният коефициент на съпротивление (за волфрам $\alpha = 4,5\cdot(10^(-3) (^(\circ)(C^ ( -1))))$).

При промяна на скоростта на въздушния поток температурата се променя при постоянен ток на нажежаемата жичка (анемометър с постоянен ток, англ. CCA). Ако температурата на нагревателния елемент се поддържа постоянна, тогава токът през елемента ще бъде пропорционален на скоростта на въздушния поток (анемометър с постоянна температура, англ. CTA).

Следва продължение

- Влажност:

Диапазон на измерване 20÷90%.

Точност ±5%.

Резолюция 1%.

- Температура:

Диапазон на измерване 0÷50 о С.

Точност ±2 o C.

Резолюция 1 o C.

4. Измерване на налягане и температура с датчик BMP-180.

- Налягане:

Диапазон на измерване 225÷825 mm Hg. Изкуство.

Точност ±1 mm Hg. Изкуство.

Разделителна способност 1 mm Hg. Изкуство.

- Температура:

Диапазон на измерване -40.0÷85.0 о С.

Точност ±1 o C.

Резолюция 0,1 o C.

5. Циклична анимирана промяна на показанията.

6. Режим на кукувица. Кратък звуков сигнал на всеки час. Ако е активиран и само през деня.

7. Звукови натискания на бутони. Кратък звуков сигнал само през деня.

8. Записване на настройките в енергонезависимата памет на микроконтролера.

Настройка.

1. Влизането в настройките и скролирането в менюто става с бутонаМЕНЮ .

2. Превключване на параметъра за настройка в рамките на една страница от менюто с бутонКОМПЛЕКТ .

3. Настройка на параметъра с бутонитеПЛЮС / МИНУС . Бутоните работят на едно натискане, като при задържане се извършва ускорен монтаж.

4. Параметърът за настройка мига.

5. След 10 секунди от последното натискане на бутоните устройството ще премине в основен режим, настройките ще бъдат записани в паметта.

6. Страници с менюта.

CLOC :

- Нулиране на секунди.

– настройка на минути.

- сверяване на часовника.

– задаване на ежедневна корекция на точността на курса. Символът от висок ред° С . Диапазон на настройка±25 сек.

ALAr :

- минути на алармата.

- будилник.

– активиране на аларма. Символът от висок редА. В младши На , ако будилникът е активиран,НА - ако е забранено.

– активиране на режим „кукувица“. Героите във висок редкуб. В младши На ако работата с кукувица е активирана,НА - ако е забранено.

DiSP :

– индикация за времетраене. На индикаторад xx . Диапазон на настройка

– продължителност на индикацията на влажността. На индикатораз xx . Диапазон на настройка 0 ÷ 99 сек. Ако е зададен на 0, тогава параметърът няма да се показва.

– продължителност на индикация на температурата, измерена от датчика за влажност. На индикаторатХхх . Диапазон на настройка 0 ÷ 99 сек. Ако е зададен на 0, тогава параметърът няма да се показва.

– продължителност на индикацията на налягането. На индикатораП xx . Диапазон на настройка 0 ÷ 99 сек. Ако е зададен на 0, тогава параметърът няма да се показва.

– продължителност на индикация на температурата, измерена от датчика за налягане. На индикатораtPxx . Диапазон на настройка 0 ÷ 99 сек. Ако е зададен на 0, тогава параметърът няма да се показва.

- скорост на анимацията. Символът от висок ред С. Диапазон на настройка 0 ÷ 99. Колкото по-малка е стойността, толкова по-висока е скоростта.

LiGH :

НИГО- настройки за нощен режим.

– минути активиране на нощен режим.

– часове за активиране на нощен режим.

– яркост на индикатора в нощен режим. Символът от висок ред н. Диапазон на настройка 0 ÷ 99. Яркостта на индикатора съответства на нощен режим.

ден- настройки на дневния режим.

– минути работа през деня.

– работно време през деня.

– яркост на индикатора в дневен режим. Символът от висок ред д. Диапазон на настройка 0 ÷ 99. Яркостта на индикатора съответства на дневния режим.

Работа на устройството.

1. В основния режим има циклична смяна на информацията на индикатора. Задава се следната изходна последователност: време - влажност (в най-висок ред символът з) – температура, измерена от сензора за влажност – налягане (в най-значимата цифра символ П) е температурата, измерена от сензора за налягане. Ако продължителността на показване на който и да е параметър е зададена на 0, тогава той няма да се показва на индикатора.

2. От основния режим можете да превключвате дисплея с бутоните ПЛЮС/МИНУС.

3. В случай на грешка при отчитане на данни от сензора DHT11, на индикатора се показват тирета при индикация на температура и влажност.

4. Ако алармата е активирана (вижте настройките), се включва точка, когато часът се показва в най-малката цифра. В зададения час се активира звуков сигнал - всеки втори двоен сигнал за една минута. Звуковият сигнал може да бъде изключен предварително чрез натискане на произволен бутон. Когато алармата изгасне, часът се показва на индикатора за 30 секунди.

5. Всеки ден (в 0 часа, 0 минути и 30 секунди) времето се коригира цифрово., DS1307 .

4. Типът на индикатора (общ анод или катод) се избира с джъмпер. Ако джъмперът е зададен, тогава се избира индикаторът с общ анод.

5. Диаграмата показва два индикатора, само един е инсталиран.

6. Пищялката трябва да има вграден генератор. В зависимост от консумацията му по ток може да се наложи поставяне на усилвател (транзисторен ключ).

По време на дискусиите и подобренията във форумната тема се появиха няколко различни версии на този проект.

Актуализираното съдържание ще бъде публикувано тук възможно най-скоро. Кратки описания в архива

Благодарност студиен тандемза подготовка на материали и тестване на фърмуера.

Ще имаш нужда

  • - Arduino платка или еквивалент;
  • - сензор за температура и влажност DHT11;
  • - датчик за налягане BMP085;
  • - сензор за въглероден диоксид MQ135;
  • - LCD дисплей 1602;
  • - потенциометър 10 kOhm;
  • - корпус за метеорологичната станция;
  • - парче фолио от фибростъкло;
  • - винтове за закрепване на компоненти;
  • - компютър;
  • - свързващи проводници;
  • - конектор за захранване;
  • - поялник.

Инструкция

Първо трябва да изберете правилния случай. Всички компоненти на бъдещата стайна метеорологична станция трябва да се поберат там. Такива случаи се продават в много магазини за радиоелектроника. Или използвайте всеки друг случай, който намерите.
Помислете как ще бъдат поставени всички компоненти вътре. Изрежете прозорец, за да закрепите LCD дисплея, ако няма такъв. Ако поставите вътре сензор за въглероден диоксид, който се нагрява доста, тогава го поставете от противоположната страна на другите сензори или го направете дистанционен. Осигурете отвор за захранващия конектор.

Няколко думи за използваните компоненти.
LCD 1602 използва 6 щифта Arduino + 4 за захранване (подсветка и синтезатор на знаци).
Сензор за температура и влажност DHT11 се свързва към всеки цифров щифт. За да прочетем стойностите, ще използваме библиотеката DHT11.rar, която може да бъде изтеглена например тук: https://yadi.sk/d/1LiFmQWITGPAY
Сензорът за налягане BMP085 е свързан чрез интерфейса I2C към два пина на Arduino: SDA - към аналогов пин A4 и SCL - към аналогов пин A5. Моля, обърнете внимание, че към сензора се подава напрежение +3,3 V за захранване.
Сензорът за въглероден диоксид MQ135 е свързан към един аналогов щифт.
По принцип за оценка на метеорологичната ситуация е достатъчно да имате данни за температурата, влажността и атмосферното налягане, а сензорът за въглероден диоксид не е задължителен.
Но използвайки всичките 3 сензора, ще имаме включени 7 цифрови и 3 аналогови пина на Arduino. Е, храна, разбира се.

Схемата на метеорологичната станция е показана на фигурата. Тук всичко е ясно.

Нека напишем скица за Arduino. Текстът на програмата, поради значителния си обем, е даден като връзка в приложението към статията в раздел „Източници“. Целият код е снабден с подробни и разбираеми коментари.
Качете скицата в паметта на контролера на платката Arduino.

Ще направим печатна платка за поставяне на компоненти вътре в кутията - това е най-удобното решение за конфигуриране и свързване на сензори. За производството на печатна платка у дома използвам технологията "лазерно гладене" (описахме я подробно в предишни статии) и ецване с лимонена киселина. Да предвидим места за джъмпери ("джъмпери") на платката, за да може да се изключват сензорите. Това ще бъде полезно, ако трябва да препрограмирате микроконтролера, когато искате да промените програмата.
Използвайки запояване, ще инсталираме сензори за налягане и газ.
За да инсталирате платката Arduino Nano, е удобно да използвате специални адаптери или гнезда със стъпка 2,54. Но при липса на тези детайли и поради спестяване на място вътре в кутията, аз също ще инсталирам Arduino чрез запояване.
Температурният сензор ще бъде разположен на известно разстояние от таблото и ще бъде топлоизолиран от вътрешността на метеорологичната станция с помощта на специално изолиращо уплътнение.
Нека да осигурим места за свързване на външно захранване към нашата домашна платка. Ще използвам обикновено зарядно 5V от стар счупен рутер. Плюс 5 волта от зарядното устройство ще бъдат приложени към щифта Vin на платката Arduino.
LCD екранът ще бъде завинтен директно към кутията, към предната част. Той ще бъде свързан чрез проводници с конектори тип Dupont за бързо свързване.

Ако намерите грешка, моля, изберете част от текста и натиснете Ctrl+Enter.