» Електроника » Ардуино »Почетна метеоролошка станица заснована на Ардуину

Домаћа метеоролошка станица заснована на Ардуину


Дуго сам желео да направим мини метеоролошку станицу, уморну од гледања кроз прозор да бих погледао термометар иза стакла. Овај уређај ће заменити хигрометар, барометар и термометар и такође приказати тренутно време. У овом посту ћу вам рећи како брзо и лако саставити малу метеоролошку станицу засновану на Ардуину. Основа ће бити плоча Ардуино Нано може да користи друге плоче - Ардуино Уно, Ардуино Про мини). Подаци о атмосферском притиску и температури добићемо од сензора БМП180, а влажност и спољну температуру од ДХТ11 сензора. Сат у стварном времену ДС1302 ће указивати на тренутно време. Све информације су приказане на дворедном ЛЦД1602 дисплеју.

ДХТ11 преноси информације преко једне жице на ардуино. Напаја га напоном од 5 В. Мери влажност у опсегу од 20 до 80%. Мере температуре у опсегу од 0 до 50отприликеЦ.

Домаћа метеоролошка станица заснована на Ардуину

Сензор БМП180 мери атмосферски притисак у опсегу 300-1100 хПа, температуру у опсегу -40 +85отприликеЦ. Напон напајања је 3,3 В. Повезан је путем И2Ц комуникацијског протокола.

Сат у стварном времену ДС1302 напаја се од 5 В и повезан је путем комуникацијског протокола И2Ц. Кад се уграде у одговарајући утор, батерије ЦР2032 подржавају сат када је главна струја искључена.

ЛЦД1602 екран се напаја напоном од 5 В и такође је повезан преко И2Ц комуникацијског протокола.

Ово домаће направљени на основу готових плоча и сензора, тако да се може поновити било којем љубитељу почетника да ради с лемилицом. Истовремено можете добити основе програмирања Ардуино-а. Програмирао сам ову метеоролошку станицу у програму визуелног програмирања ФЛПРОГ за 15 минута. Нема потребе да ручно цртате сатима, овај програм помаже почетницима (и не само) брзо да науче основе програмских уређаја заснованих на Ардуино платформи.

Ко је превише лен да се поигра са програмом - скица (само ће бити потребно подесити тренутно време такта):
#инцлуде <вире.х>
#инцлуде "ДХТ_НЕВ.х"
#инцлуде <иардуино_РТЦ.х>
#инцлуде <ликуидцристал_И2Ц.х>
#инцлуде <бмп085.х>
БМП085 _бмп085 = БМП085 ();
лонг _бмп085П = 0;
лонг _бмп085Т = 0;
лонг _бмп085А = 0;

ЛикуидЦристал_И2Ц _лцд1 (0к3ф, 16, 2);
инт _диспТемпЛенгтх1 = 0;
боолеан _исНеедЦлеарДисп1;

ДХТ _дхт1;

иардуино_РТЦ _РТЦ1 (РТЦ_ДС1302, 7, 5, 6);

непотписани дугачки _дхт1ЛРТ = 0УЛ;
непотписани дугачки _дхт1Тти = 0УЛ;
инт _дисп1олдЛенгтх = 0;
непотписани дугачки _бмп0852Тти = 0УЛ;
Стринг _РТЦ1_ГетТиме2_СтрОут;
инт _дисп2олдЛенгтх = 0;
подешавање празнине ()
{
Вире.бегин ();
кашњење (10);
_бмп085.инит (МОДЕ_УЛТРА_ХИГХРЕС, 116, истина);
_РТЦ1.бегин ();
_РТЦ1.период (1);
_лцд1.инит ();
_лцд1.бацклигхт ();
_дхт1.сетуп (4);
_дхт1ЛРТ = миллис ();
_дхт1Тти = миллис ();
}
воид петља ()
{иф (_исНеедЦлеарДисп1) {_лцд1.цлеар (); _исНеедЦлеарДисп1 = 0;}
иф (_исТимер (_бмп0852Тти, 1000)) {
_бмп0852Тти = миллис ();
_бмп085.гетАлтитуде (& _ бмп085А);
_бмп085.гетПрессуре (& _ бмп085П);
_бмп085.гетТемпературе (& _ бмп085Т);
}

// Накнада: 1
иф (1) {
_диспТемпЛенгтх1 = ((((((Стринг ("Т:")) + ((_флоатТоСтрингВитРаз ((_ бмп085Т) / (10.00), 1))) + (Стринг ("*"))) + ((Стринг ( "П:")) + ((_флоатТоСтрингВитРаз ((_ бмп085П) / (133.3), 0))) + (Стринг ("*"))) + (((Стринг ("")) + ((_флоатТоСтрингВитРаз (_дхт1 . влажност, 0))) + (стринг ("%"))))) дужина ();
иф (_дисп1олдЛенгтх> _диспТемпЛенгтх1) {_исНеедЦлеарДисп1 = 1;}
_дисп1олдЛенгтх = _диспТемпЛенгтх1;
_лцд1.сетЦурсор (инт ((16 - _диспТемпЛенгтх1 / 2), 0);
_лцд1.принт ((((((Стринг ("Т:")) + ((_флоатТоСтрингВитРаз ((_ бмп085Т) / (10.00), 1))) + (Стринг ("*"))) + (((Стринг ("П:")) + ((_флоатТоСтрингВитРаз ((_ бмп085П) / (133.3), 0))) + (Стринг ("*"))) + (((Стринг ("")) + ((_флоатТоСтрингВитРаз ( _дхт1.хумидити, 0))) + (Стринг ("%")))));
} елсе {
иф (_дисп1олдЛенгтх> 0) {_исНеедЦлеарДисп1 = 1; _дисп1олдЛенгтх = 0;}
}
иф (_исТимер (_дхт1Тти, 2000)) {
иф (_исТимер (_дхт1ЛРТ, (_дхт1.гетМинимумСамплингПериод ())) {
_дхт1.реадСенсор ();
_дхт1ЛРТ = миллис ();
_дхт1Тти = миллис ();
}
}
иф (1) {
_диспТемпЛенгтх1 = ((((((Стринг ("т:")) + ((_флоатТоСтрингВитРаз (_дхт1.температуре, 0)) + (Стринг ("*"))) + (_РТЦ1_ГетТиме2_СтрОут)))) );
иф (_дисп2олдЛенгтх> _диспТемпЛенгтх1) {_исНеедЦлеарДисп1 = 1;}
_дисп2олдЛенгтх = _диспТемпЛенгтх1;
_лцд1.сетЦурсор (инт ((16 - _диспТемпЛенгтх1) / 2), 1);
_лцд1.принт ((((((Стринг ("т:"))) + ((_флоатТоСтрингВитРаз (_дхт1.температуре, 0))) + (Стринг ("*"))) + (_РТЦ1_ГетТиме2_СтрОут)));
} елсе {
иф (_дисп2олдЛенгтх> 0) {_исНеедЦлеарДисп1 = 1; _дисп2олдЛенгтх = 0;}
}
_РТЦ1_ГетТиме2_СтрОут = _РТЦ1.геттиме ("Х: и: сД");

}
Стринг _флоатТоСтрингВитРаз (флоат вредност, инт раз)
{

повратни низ (вредност, раз);
}
боол _исТимер (непотписани дуги стартТиме, непотписани дуги период)
{
непотписана дуга струјаТиме;
цуррентТиме = миллис ();
иф (цуррентТиме> = стартТиме) {ретурн (цуррентТиме> = (стартТиме + период));} елсе {ретурн (цуррентТиме> = (4294967295-стартТиме + период));}
}

Такав уређај можете користити било где или код куће, у природи или у њему аутомобил. Могуће је напајање круга из батерија помоћу плоче за пуњење, на крају ће бити преносиви модел метеоролошке станице.

Све информације можете добити гледајући видео:


Листа материјала и алата

Ардуино Нано Боард
дворедни ЛЦД 16060 екран;
- сат реалног времена ДС1302;
- сензор атмосферског притиска и температуре БМП180;
- сензор температуре и влажности ДХТ11;
-блицно пуњење са телефона;
- било које погодно кућиште
пинцета;
маказе;
лемљење жељеза;
Цамбридге;
тестер;
- повезивање жица;
Четворожични за даљински сензор.

Први корак. Прављење зграде за метеоролошку станицу

Покупила сам пластичну кутију из продавнице Фик Прице (укупно 17п). Унапред исечени прозор за приказ у поклопцу. Затим је делимично изрезао преграде у кутији, направио рупе за УСБ прикључак Ардуино плоче, отвор за сензор БМП180 БМП180 сензор ће бити смештен на спољној страни кућишта да спречи претерано загревање од е преливи изнутра. Након што сам изнутра осликао тело домаћег производа јер је пластика провидна. Кутија се затвара кваком и у њој се сви елементи лијепо уклапају.


Корак други Дијаграм монтаже уређаја.

Схема фотографија


Затим треба да повежете све плоче и сензоре временске станице према шеми. То радимо помоћу монтажних жица са одговарајућим конекторима. Нисам успоставио везу лемљењем, тако да у будућности, када неки модул не успе (или из других разлога), можете лако да га замените. На вијчаном прикључку прикључен је кабл сензора ДХТ11 који иде према улици. Напајање се може напајати из УСБ конектора Ардуино плоче на рачунар или напајањем напона од 7-12В на ВИН и ГНД пин.

Прво сам саставио круг изван кућишта и програмирао га и отклонио грешком у програму ФЛПРОГ.

Фото блок дијаграм у програму ФЛПРОГ.

Када сам први пут програмирао и укључио круг метеоролошке станице, радио је. Сада је постало могуће да се временски подаци налазе у броду и у соби. Генерално, испала је занимљива кућна метеоролошка станица са много различитих функција.

Фотографија је завршена

Добар домаћи дизајн састављен је викендом. Било је узбудљиво сами направити занимљив и користан апарат. Мислим да бисте сами направили такав уређај, мислим да то може учинити и почетник, јер не захтева много времена и новца. Можете је применити где год желите у кући у сеоској викендици. Током читавог посла прошла су два викенда, узео сам сву електронику у Алиекпресс. Остатак материјала нашао сам на хеликоптеру. На основу Ардуино платформе можете саставити широку палету корисних уређаја.

Хвала свима на пажњи, желим вам успех и срећу и у животу и у раду!
9.2
8.2
8.5

Додајте коментар

    • осмехнасмеши секакаокдонткновиахоонеа
      шефеогреботинабудаладада-даагресивантајна
      извиниплесданце2данце3пардонпомоћпића
      станипријатељидоброгоодгоодзвиждукзалутатијезик
      димпљескатицраиизјавитиисмијавајућидон-т_ментионпреузимање
      топлотаирефуллаугх1мдасастанакмоскингнегативан
      нот_икокицеказнитичитатиуплашитиплашипретрага
      подругљивтханк_иоуовото_цлуеумникакутнаслажем се
      лошепчелаблацк_еиеблум3поцрвењетихвалити седосаде
      цензурисанпријатносецрет2претипобедаиусун_беспецтацлед
      шокреспектлолпреведендобродошликрутоииа_за
      иа_добриипомагачне_хулиганне_отходифлудзабраназатвори

Саветујемо вам да прочитате:

Предајте га смартфону ...