Mundarija:

Warmte indeks o'lchagichi: 11 qadam
Warmte indeks o'lchagichi: 11 qadam

Video: Warmte indeks o'lchagichi: 11 qadam

Video: Warmte indeks o'lchagichi: 11 qadam
Video: Weather IQ: Heat Index Explained #weather #charlotte #northcarolina 2024, Noyabr
Anonim
Warmte indeks o'lchagichi
Warmte indeks o'lchagichi

Ko'rsatkichlar bo'yicha ko'rsatma mavjud.

Hisoblagichlar indeks o'lchagichlari, shuningdek, luchtvochtigheid -ga asoslangan.

Deze meter is bedoeld voor binnen maar kan buiten worden gebruikt mits er geen neerslag valt en er een windvrij plekje wordt gebruikt.

Ta'minotlar

- Photon zarrachasi non paneli bilan uchrashdi

- Harorat sezgichi (TMP36)

- O'lcham 10 sm dan 20 sm gacha.

- Powerbank

- 220 Ohm og'irlikdagi tayanch

- Breadboard draadjes, 9+

- Mobil telefon + Kompyuter

- Paardenxar

- Xotirjamlik

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zip

- 2 ta potloden- Kurk

- Qog'ozli qog'ozdan foydalanish

- Gewichtjes, metall plaatjes dan kleine loodjes

Tanlov:

- LCD scherm + 10k Ohm potentsiometr + Erkak/Ayol jumper draadjes, 12

- Luchtvochtigheidsmetr

- Harorat o'lchagich- Rolmaat

1 -qadam: De Photon Instellen

De Photon Instellen
De Photon Instellen
De Photon Instellen
De Photon Instellen

Benodigdheden:- Mobiele telefon

- Foton

- Kompyuter

Zarrachalar hisobini yaratish uchun zarrachalar ilovasini yuklab oling.

Kompyuterda usb-kabelni o'chirib qo'ying, Wi-Fi-ni talab qiling.

Setup.particle.io orqali buni aniqlang.

2 -qadam: Paardenxar

Paardenxar
Paardenxar

Benodigdheden:- Paard

Minimal 60 sm balandlikdagi gidrometrning balandligi juda katta.

De haren kunnen has been afgeknipt, of uit de staart/manen worden getrokken (op eigen risico).

3 -qadam: "Horizontalale" opstelling bilan tanishish

Maak Een Horizontale Opstelling bilan tanishing Daaraan Een Kastje
Maak Een Horizontale Opstelling bilan tanishing Daaraan Een Kastje
Maak Een Horizontale opstelling kompaniyasi Daaraan Een Kastje bilan uchrashdi
Maak Een Horizontale opstelling kompaniyasi Daaraan Een Kastje bilan uchrashdi
Maak Een Horizontale opstelling kompaniyasi Daaraan Een Kastje bilan uchrashdi
Maak Een Horizontale opstelling kompaniyasi Daaraan Een Kastje bilan uchrashdi

Benodigdheden:- Zip

- Hout + lijm

- Gereedschap

Ufqni ochib berishni xohlaysizmi?

Ontvet paardenhaar

Balandligi 50 sm gacha bo'lgan masofa. Zo'r ma'lumot genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

4-qadam: LCD displeyda tasvirni o'zgartirish kerak

LCD displeyda tasvirni suratga olish ishlari olib boriladi
LCD displeyda tasvirni suratga olish ishlari olib boriladi

Benodigdheden:- Houtlijout

- Gereedschap: zaag

Ma'lum bo'lishicha, har bir narsani ajratib bo'ladigan bo'lsada, taxta o'ladi. Plankada ham non taxtasi ham fotondan o'tib ketadi, bu ham zo'r zo'r so'zlar bilan yoziladi. Bu erda LCD displey bilan ishlash mumkin emas. Qachonki, biz bir vaqtning o'zida bir -birimiz bilan bog'lanamiz. Als de bak klaar is kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen.

5 -qadam: Maak Een Hefboom

Maak Een Hefboom
Maak Een Hefboom
Maak Een Hefboom
Maak Een Hefboom

Benodigdheden:- 2 ta potloden

- Kurk

- Qog'ozli qog'ozdan foydalanish

- Gewichtjes

- Gereedschap: vijl en boor

Qachonki, bu eng yaxshi joy. Bu erda siz o'zingizni yaxshi ko'rasiz.

Qachonki, bu papkani bosib chiqarishni xohlamaslik uchun (bu kartonda), shuningdek, u erda ham hech narsa yo'q.

Balansni muvozanatlash uchun hisob -kitoblarni amalga oshiring (3 ta qo'ng'iroq).

6 -qadam: Plaats De Afstandmeter Onlayn Xet (karta)

Qatlamlarni o'lchash bo'yicha maslahatlar
Qatlamlarni o'lchash bo'yicha maslahatlar
Qatlamlarni o'lchash bo'yicha maslahatlar
Qatlamlarni o'lchash bo'yicha maslahatlar

Benodigdheden:

- Afsundsensor

- Optsetstukje (variant)

- Qo'shimcha lehim to'plami (variant)

O'lchamlari 12 sm dan oshmasligi kerak- +60%.

Hindistonning eng yaxshi variantlari.

Als de bedrading van de afstandssensor niet de houten bak halen zullen deze eerst verlengd moeten yomonlashdi.

7 -qadam: Shrijven kodi

Benodigdheden:- Kompyuterning zarracha hisobi

Qurilish.particle.io ilovasi bu erda emas. HeatIndex -ni yoqib yubormang.

Kutubxonalar, LiquidCrystal -ni import qilish dasturida.

Ilovada dasturiy ta'minot buzilgan kod gekopieerd:

Eshiklar ham eshiklar oldidan o'tib ketadi, bu erda kodni aniqlab bo'lmaydi.

Muammolarni tanlab bo'lgach, bu sharhlar juda yaxshi.

// Quyidagi kutubxonalarni kiriting: #include #include

// Ushbu qurilmadagi barcha sensorlar uchun analog o'qish pinlari:

int tempSensor = A0; int disSensor = A1;

// Nashr qilish qoidalari:

// Nashr qilish uchun kechikish vaqti va voqea nomi. // Kechikish vaqti millisekundlarda. int delayTime = 15000; String eventName = "Actual_Temperature";

/////////////////////////////////////////////////

// Suyuq kristalli displey kodi ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////// Displeyni LiquidCrystal lcd (D5, D4, D3, D2, D1, D0) ma'lumotlar pinlari bilan boshlang;

// Issiqlik indeksi qiymatlari uchun chegaralarni o'rnatish

int caut = 27; int eCD = 33; int xavf = 40; int ekstremal = 52;

// ma'lum bir issiqlik indeksi qiymati uchun xabarni qaytaradi.

String xabar (int hI) {if (hI <ehtiyotkorlik) {qaytish "Ehtiyot emas"; } if (hI <eCD) {"Diqqat!" qaytaring; } if (hI <xavf) {qaytish "Juda ehtiyotkorlik!"; } if (hI <Extreme) {return "Danger !!"; } "EXTREME DANGER !!" qaytaring; }

// Displeyning ikkinchi qatoridagi xabar.

String message2 = "Haqiqiy T:";

//////////////////////////////////////////////////////

// Masofa sensori kodi //////////////////////////////////////// Sensor qaytaradigan minimal va maksimal xom qiymatlar. int minD = 2105; int maxD = 2754;

// Sensor har 5 mm ga qaytariladigan haqiqiy xom qiymatlar.

int o'n = 2754; int tenP = 2691; int eleven = 2551; int elevenP = 2499; int o'n ikki = 2377; int twelveP = 2276; int o'n uchinchi = 2206; int o'n uchP = 2198; int o'n to'rt = 2105;

// Har 5 mm uchun xom qiymatga tegishli bo'lgan masofani sm bilan qaytaradi.

float getDis (int number) {switch (number) {case 2754: return 10; ish 2691: qaytish 10.5; 2551 -holat: qaytarish 11; ish 2499: qaytarish 11,5; ish 2377: qaytish 12; ish 2276: qaytish 12,5; 2206 ishi: 13 qaytarish; ish 2198: qaytish 13,5; 2105 -holat: 14 -qaytarish; }}

// Haqiqiy masofani masofa sensori olgan sm bilan hisoblab chiqadi.

float calcedDis (int start, float stop, int o'lchov) {float distance = getDis (start); float qadam = (to'xtatish - boshlash)/10; for (int i = 0; i <5; i ++) {if (o'lchov = (boshlang'ich qadam)) {qaytish masofasi; } start = start - qadam; masofa = masofa + 0,1; }}

// masofa sensori orasidagi katta chegaralarni tekshiradi.

suzuvchi masofa (int o'lchov) {// Agar masofa sensori 10 dan 14 sm gacha bo'lmagan bo'lsa, // biz haqiqiy masofani bilmaymiz va qaytamiz 10. if (o'lchov maxD) {qaytish 10.0; } if (o'lchov <= o'n uchP) {return calcDis (o'n uchP, o'n to'rt, o'lchov); } if (o'lchov <= o'n uch) {return calcDis (o'n uch, o'n uchP, o'lchov); } if (o'lchov <= o'n ikkiP) {qaytarishni hisoblashDis (o'n ikkiP, o'n uch, o'lchov); } if (o'lchov <= o'n ikki) {return calcDis (o'n ikki, o'n ikkiP, o'lchov); } if (o'lchov <= elevenP) {return calcDis (o'n birP, o'n ikki, o'lchov); } if (o'lchov <= o'n bir) {return calcDis (o'n bir, o'n birP, o'lchov); } if (o'lchov <= tenP) {return calcDis (tenP, o'n bir, o'lchov); } if (o'lchov <= o'n) {return calcDis (o'n, tenP, o'lchov); } // Kod bu erga hech qachon kirmasligi kerak. qaytish -2; }

///////////////////////////////////////////////////////////////////////////////////////

// harorat sensori kodi // //////////// // / / // Harorat sensori uchun mVdagi maksimal kuchlanish. suzuvchi maxV = 3300.0;

// Harorat sensori qaytadigan asosiy kuchlanish va unga mos keladigan harorat.

// Kuchlanish mVda. int baseV = 750; int baseT = 25;

// Analog pimdagi o'lchangan qiymatdan haroratni hisoblab chiqadi.

float hisoblashTemp (int o'lchov) {float kuchlanish = ((maxV/4096)*o'lchov); float diff = baseV - kuchlanish; float temp = baseT - (farq/10); qaytish harorati; }

///////////////////////////////////////////////////

// Namlik hisob -kitoblari //////////////////////////////////////////// ///////////////////////////////////////// // Namlikni hisoblash uchun o'zgaruvchilar, // haqiqiy namlik sensorlaridan keladi. float h15 = 10.0; float h30 = 10.5; float h60 = 11.5; float h75 = 12.0; float h90 = 12.5; float stepH = 0.167;

// ma'lum bir masofa oralig'idagi nisbiy namlikni qaytaradi.

int hisoblashHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = dumaloq (i1); int chiqish = (start + (5*i)); qaytish chiqishi; }

// Nisbiy namlikni qaytaradi.

int namlik (float dis) {if (dis <= h30) {return CalcHum (dis, h15, h30, 15); } if (dis <= h60) {return CalcHum (dis, h30, h60, 30); } if (dis <= h75) {return CalcHum (dis, h60, h75, 60); } if (dis <= h90) {return calcHum (dis, h75, h90, 75); } 100 qaytarish; }

///////////////////////////////////////////////////

// Issiqlik indeksining formulasi ///////////////////////////////////////////////// // Issiqlik indeksi formulasida ishlatiladigan konstantalar float c1 = -8.78469475556; float c2 = 1.61139411; float c3 = 2.33854883889; float c4 = -0.14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; float c7 = 0.002211732; float c8 = 0.00072546; float c9 = -0.000003582;

// Harorat va nisbiy namlikni oladigan issiqlik indeksi formulasi.

float issiqlik c7*t*t*h) + (c8*t*h*h) + (c9*t*t*h*h); }

///////////////////////////////////////////////////////////////////////////////

// Boshqa ma'lumot/o'zgaruvchilar ////////////////////////////////////////// ///// // ////////////////////////////////////////////////// Bir o'nlik kasrga yaxlitlangan floatning chiziqli tasvirini qaytaradi. String rOne (float num) {int value = round (num*10); String chiqishi = (String) qiymati; char oxiri = chiqish [strlen (chiqish) -1]; int chap = qiymat/10; String begin = (String) chap; qaytish boshlanadi + "." + oxiri; }

//////////////////////////////////////////////////////////////////////////////

/ Bu yerdagi barcha kodlar, loop funktsiyalari ishga tushmasidan oldin, Photon -da bir marta ishga tushirilishi kerak.

void setup () {// LCD -ning ustunlar va qatorlar sonini o'rnating: lcd.begin (16, 2); }

// Bu yerdagi barcha kodlar halqalanmoqda va ular ma'lumot olish, uni takomillashtirish va Internetga joylashtirishni o'z ichiga olishi kerak.

void loop () {// Harorat va namlikni oling. float temp = hisoblashTemp (analogRead (tempSensor)); float dis = masofa (analogRead (disSensor)); int hum = namlik (dis); String humid = (String) hum; // Issiqlik indeksini hisoblang. float hI = heatIndex (temp, hum); // Chiqish satrini o'rnating va barcha xabarlarni LCD displeyda chop eting. String chiqishi = rOne (hI); lcd.setCursor (0, 0); lcd.print (xabar (yumaloq (hI)))); lcd.setCursor (0, 1); lcd.print (xabar2 + chiqish + "C"); chiqish = chiqish + "" + nam; // Issiqlik indeksi qiymatlarini Internetda e'lon qiling va qaytadan aylanishni kuting. Particle.publish (eventName, output); kechikish (delayTime); }

8 -qadam: Verbind De Photon

Verbind de foton
Verbind de foton
Verbind de foton
Verbind de foton
Verbind de foton
Verbind de foton
Verbind de foton
Verbind de foton

Benodigdheden:

- Foton paneli

- Harorat sezgichi

- 220 Ohm og'irlikdagi tayanch

- Afsuski sezgir

- LCD-scherm 10k Ohm potentsiometr (variantli)

- Genoeg non paneli draadjes, 9+

- Erkak/Ayol jumper draadjes, 12 (variantli)

Verbindt de 3.3V van de foton + relslar bilan ham, relslar bilan ham.

Vantvid 5V von foton ham, kant ham, relslar ham.

To'xtatib turish kerakki, non -taxtada ergens genom bilan bog'liq.

Verbindt ham, temperatuursensor ham A0 vannada foton bilan erga tushdi.

Sensor 3.3V relslar bilan jihozlangan.

3.3V relsli to'xtash joyidagi eshikning eskirgan eshiklari, shuningdek, erdagi relslarda ham, A1 -da ham fotonli to'xtash moslamasida.

Qachonki, LCD-scherm qanday ma'lumotni ishlatsa bo'ladi:

1. Verbindt de potentiometer aan het breadboard met 5V en de ground.

2. Verbindt de volgende jumper draadjes a-het LCD-scherm gaarb pin 1 het dichtsbij de rand van het scherm is.

Pin 1, 5 va 16 -sonli LCD displey. 5 -sonli 2 -sonli pin.

Verbindt ham, potentsiometr ham, middelste pin ham, LCD 3 -pinli analog.

3. Vertifikatorlar, plyonkali LCD -pinlar, o'tish moslamalari bilan uchrashdi.

Pin D5 yoki Pin 4 -pin

Pin D4 yoki pin 6

Pin D3 yoki Pin 11

Pin D2 yoki Pin 12

Pin D1 yoki pin 13

Pin D0 yoki pin 14

Bundan tashqari, bu erda ham LCD displeyli blokirovka qilinmagan bo'lsa ham, siz potentsiometrni o'chirib qo'yishingiz mumkin.

9-qadam: De Opstelling-da De Photon va Het LCD-Scherm plakatlari

Plaats De Photon En Het LCD-Scherm in De Opstelling
Plaats De Photon En Het LCD-Scherm in De Opstelling

Benodigdheden:- Powerbank (variant)

Yo'q, bu ham LCD displeyli ekranni o'chirishga imkon beradi. Qachonki, bu fotokaleriya ham, Powerbank -da ham aniq emas.

10 -qadam: Kalibreren (variant)

Benodigdheden:

- Luchtvochtigheidssensor

- Harorat o'lchagich

- Rolmaat

- Kodni chiqarish vaqti -vaqti bilan aniqlanmagan

Qolaversa, dasturiy ta'minot ham sizdan ko'ra ko'proq ma'lumotga ega bo'ladi.

Eshikning eshiklari haroratni o'lchash moslamasini ochib, sensorni o'rnatdi.

Voor de luchtvochtigheid zal eerst de afstandssensor gekalibreerd weeten yomon ishlarni amalga oshirdi, lekin ular ham hamma narsani bilib olishdi.

Bijgeleverde kodida zitten sharhlar yoziladi.

11 -qadam: De Warmte indeks o'lchagichi Klaar Voor Gebruik

Yopiq!

Tavsiya: