Mundarija:
- Ta'minotlar
- 1 -qadam: De Photon Instellen
- 2 -qadam: Paardenxar
- 3 -qadam: "Horizontalale" opstelling bilan tanishish
- 4-qadam: LCD displeyda tasvirni o'zgartirish kerak
- 5 -qadam: Maak Een Hefboom
- 6 -qadam: Plaats De Afstandmeter Onlayn Xet (karta)
- 7 -qadam: Shrijven kodi
- 8 -qadam: Verbind De Photon
- 9-qadam: De Opstelling-da De Photon va Het LCD-Scherm plakatlari
- 10 -qadam: Kalibreren (variant)
- 11 -qadam: De Warmte indeks o'lchagichi Klaar Voor Gebruik
Video: Warmte indeks o'lchagichi: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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
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
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
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
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)
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
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
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:
Ichki havo sifati o'lchagichi: 5 qadam (rasmlar bilan)
Uy ichidagi havo sifatini o'lchash moslamasi: Sizning uyingizdagi havo sifatini tekshirishning oddiy loyihasi. Oxirgi paytlarda biz uyda bo'lmaganimizda/ishlayotganimizda, havo sifatini kuzatish va derazani ochish vaqti kelganida o'zingizga eslatib qo'yish yaxshi bo'lardi. va toza havo iching
DIY cho'ntak o'lchamli shahar kuchlanish o'lchagichi: 5 qadam
DIY cho'ntak o'lchovli shahar kuchlanish o'lchagichi: Men sizga ko'rsatma beraman, siz o'zingizning qo'lingiz bilan elektron cho'ntakli DC kuchlanish o'lchagichini piezo signal yordamida o'zingiz tekshirishingiz mumkin. Sizga kerak bo'lgan yagona narsa - elektronika bo'yicha asosiy bilimlar va ozgina vaqt. Agar sizda biron bir savol yoki muammo bo'lsa
DIY qon kislorod o'lchagichi: 5 qadam (rasmlar bilan)
DIY qon kislorod o'lchagichi: 2020 yilda dunyo Corona Virus nomli ko'rinmas yirtqich hayvonga duch keldi. Bu Virus odamlarni juda kasal qildi & zaif Ko'p odamlar yaxshi narsalarini yo'qotdilar, birinchi navbatda katta muammo bor edi, muammo tibbiy asbob -uskunalarning etishmasligi edi
Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)
Quyoshli tuproq namligi o'lchagichi ESP8266 bilan: Ushbu yo'riqnomada biz quyosh energiyasi bilan ishlaydigan tuproq namligi monitorini ishlab chiqaramiz. U past quvvatli kodli ESP8266 Wi -Fi mikrokontroleridan foydalanadi va hamma narsa suv o'tkazmaydigan qilib tashqarida qoldirilishi mumkin. Siz ushbu retseptga aniq amal qilishingiz yoki undan olishingiz mumkin
UV indeks o'lchagichi ML8511 ULTRAVIOLET Sensor Arduino yordamida: 6 qadam
UV indeks o'lchagichi ML8511 ULTRAVIOLET sensori yordamida Arduino: Ushbu qo'llanmada biz ML8511 ULTRAVIOLET sensori yordamida Quyosh UV indeksini o'lchashni o'rganamiz. Videoni tomosha qiling! https://www.youtube.com/watch?v=i32L4nxU7_M