สารบัญ:

เครื่องวัดดัชนี Warmte: 11 ขั้นตอน
เครื่องวัดดัชนี Warmte: 11 ขั้นตอน

วีดีโอ: เครื่องวัดดัชนี Warmte: 11 ขั้นตอน

วีดีโอ: เครื่องวัดดัชนี Warmte: 11 ขั้นตอน
วีดีโอ: วิธีล้างคอยล์ร้อนแอร์ https://youtu.be/FMvL-QLv6mg 2024, กรกฎาคม
Anonim
เครื่องวัดดัชนี Warmte
เครื่องวัดดัชนี Warmte

พบกับ deze ผู้สอน kun je je eigen warmte index meter ที่สร้างขึ้น

Een warmte index meter geeft de gevoelstemperatuur aan op Basis de omgevingstemperatuur en de luchtvochtigheid.

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

เสบียง

- อนุภาคโฟตอนพบเขียงหั่นขนม

- เซ็นเซอร์อุณหภูมิ (TMP36)

- Afstandsensor สำหรับ afstanden tussen 10 en 20 cm.

- พาวเวอร์แบงค์

- ขาตั้ง 220 โอห์ม

- เขียงหั่นขนม 9+

- โทรศัพท์เคลื่อนที่ + คอมพิวเตอร์

- พาเดนฮาร์

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- ซีป

- 2 potloden- เคิร์ก

- Kartonnen plaatje + ปัญญา papier

- Gewichtjes, denk aan kleine loodjes ของ metalen plaatjes

ตัวเลือก:

- LCD scherm + โพเทนชิโอมิเตอร์ 10k Ohm + draadjes จัมเปอร์ชาย/หญิง, 12

- Luchtvochtigheidsmeter

- เครื่องวัดอุณหภูมิ- Rolmaat

ขั้นตอนที่ 1: De Photon Instellen

เดอ โฟตอน อินสเตลเลน
เดอ โฟตอน อินสเตลเลน
เดอ โฟตอน อินสเตลเลน
เดอ โฟตอน อินสเตลเลน

เบโนดิกเฮเดน:- โทรศัพท์เคลื่อนที่

- โฟตอน

- คอมพิวเตอร์

ดาวน์โหลดแอปอนุภาค op je telefoon en maak een particle account

Stop de usb-kabel van de photon ในคอมพิวเตอร์ je อ้างสิทธิ์ de photon en stel de wifi ใน

กันผ่าน setup.particle.io

ขั้นตอนที่ 2: Paardenhaar

พาเดนฮาร์
พาเดนฮาร์

เบโนดิกเฮเดน:- Paard

Voor het maken van de haar-hydrometer heb je een ontvette paardenhaar nodig van bij voorkeur minimaal 60 cm

De haren kunnen worden afgeknipt, ของ uit de staart/manen worden getrokken (op eigen risico)

ขั้นตอนที่ 3: Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje

Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje
Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje
Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje
Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje
Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje
Maak Een Horizontale Opstelling พบกับ Daaraan Een Kastje

เบโนดิกเฮเดน:- Zeep

- เฮาท์ + ลิจม์

- เกรียดชัป

Maak een ombouw waarbij de paardenhaar Horizontaal kan worden gespannen en die tegelijkertijd ขอร้อง bescherming biedt

Ontvet de paardenhaar

Span de haar แนวนอน, bij voorkeur minimaal 50 ซม. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

ขั้นตอนที่ 4: Maak Een Kastje Voor De Photon En LCD-scherm

Maak Een Kastje Voor De Photon En LCD-scherm
Maak Een Kastje Voor De Photon En LCD-scherm

เบโนดิกเฮเดน:- Hout en houtlijm

- เกรียดชัป: zaag

Maak een simpele houten bak zonder deksel พบ een houten plank ตายใน het midden staat als een divider Op deze plank moet het เขียงหั่นขนม พบกับ de photon passen als de bak op zijn zijkant wordt gezet Daarnaa kan aan de onderkant van de bak een gat worden gemaakt สำหรับ het LCD-scherm. Dit gat moet parallel zijn พบ het plankje dat ใน de bak is gezet Als de bak klaar คือ kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen

ขั้นตอนที่ 5: Maak Een Hefboom

หมาก เอน เฮฟบูม
หมาก เอน เฮฟบูม
หมาก เอน เฮฟบูม
หมาก เอน เฮฟบูม

เบโนดิกเฮเดน:- 2 potloden

- เคิร์ก

- Kartonnen plaatje + ปัญญา papier

- เกวิชเชส

- Gereedschap: vijl en boor

Boor een gat ใน het kastje en plaats het korte potlood. Het lange potlood dient uitgevijld te worden zodat deze op het korte potlood kan สมดุล

Plak een wit velletje papier onder een plaatje (in dit geval karton) กับ plaats deze aan het uiteinde van de hefboom.

Verbind de paardenhaar aan de hefboom en balanceer deze uit met een gewichtje (zie afbeelding 3 ringen).

ขั้นตอนที่ 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje

Plaats De Afstandmeter Onder Het (kartonnen) ปลาตเจ
Plaats De Afstandmeter Onder Het (kartonnen) ปลาตเจ
Plaats De Afstandmeter Onder Het (kartonnen) ปลาตเจ
Plaats De Afstandmeter Onder Het (kartonnen) ปลาตเจ

เบโนดิกเฮเดน:

- อัฟสแตนต์เซ็นเซอร์

- Opzetstukje (ตัวเลือก)

- ชุดบัดกรีเสริมพิเศษ (optioneel)

Bij voorkeur พบ een afstand van minimaal 12 cm bij een relatieve luchtvochtigheid van +- 60%

ชาวอินเดีย nodig op een opzetstukje.

Als de bedrading van de afstandssensor niet de houten bak halen zullen deze eerst verlengd moeten คำ

ขั้นตอนที่ 7: รหัส Schrijven

Benodigdheden:- คอมพิวเตอร์กับบัญชีอนุภาค

Ga naar build.particle.io en maak een nieuwe app aan. ลงชื่อเข้าใช้ Noem deze bijvoorbeeld HeatIndex.

ไลบรารี่บน, zoek LiquidCrystal และการนำเข้า deze ในแอพ

Dan kan de volgende รหัส gekopieerd worden ในแอป:

แสดงความคิดเห็น goed door als je wilt begrijpen wat elk stukje code precies doet.

Ook al er een ปัญหา optreedt is het go om de comment te raadplegen.

// รวมไลบรารีต่อไปนี้:#include #include

// หมุดอ่านแบบอะนาล็อกสำหรับเซ็นเซอร์ทั้งหมดในโครงสร้างนี้:

int tempSensor = A0; int disSensor = A1;

// กฎการเผยแพร่:

// เวลาล่าช้าและชื่อเหตุการณ์สำหรับการเผยแพร่ // หน่วงเวลาเป็นมิลลิวินาที int delayTime = 15000; ชื่อเหตุการณ์สตริง = "Actual_Temperature";

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

// รหัสแสดงผลคริสตัลเหลว ///////////// ///////////////////////////// ///////////////// // เริ่มต้นการแสดงผลด้วยหมุดข้อมูล LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// ตั้งค่าขอบเขตสำหรับค่าดัชนีความร้อน

ข้อควรระวัง = 27; int eCD = 33; อันตรายภายใน = 40; int สุดขีด = 52;

// ส่งกลับข้อความสำหรับค่าดัชนีความร้อนเฉพาะ

ข้อความสตริง (int hI) { ถ้า (hI < ข้อควรระวัง) { ส่งคืน "ไม่เตือน"; } if(hI < eCD) { return "ข้อควรระวัง!"; } if(hI < อันตราย) { ส่งคืน "ข้อควรระวังอย่างยิ่ง!"; } if(hI < extreme) { return "อันตราย!!"; } ส่งคืน "อันตรายมาก!!"; }

// ข้อความบนบรรทัดที่สองของจอแสดงผล

ข้อความสตริง2 = "จริง T:";

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

// รหัสเซ็นเซอร์ระยะทาง ////////////////////////////////////////// ////////////////////////////////////// ค่าดิบต่ำสุดและสูงสุดที่เซ็นเซอร์ส่งคืน int minD = 2105; int maxD = 2754;

// ค่าดิบจริงที่เซ็นเซอร์ส่งกลับทุกๆ 5 มม.

int สิบ = 2754; int tenP = 2691; int สิบเอ็ด = 2551; int elevenP = 2499; int สิบสอง = 2377; int สิบสองP = 2276; int สิบสาม = 2206; int สิบสามP = 2198; int สิบสี่ = 2105;

// ส่งกลับระยะทางเป็นซม. ที่เป็นของค่าดิบทุกๆ 5 มม.

float getDis (หมายเลข int) { สวิตช์ (หมายเลข) { กรณี 2754: ส่งคืน 10; กรณีที่ 2691: ส่งคืน 10.5; กรณี 2551: ส่งคืน 11; กรณี 2499: ส่งคืน 11.5; กรณี 2377: ส่งคืน 12; กรณี 2276: ส่งคืน 12.5; กรณี 2206: ส่งคืน 13; กรณี 2198: ส่งคืน 13.5; กรณี 2105: ส่งคืน 14; } }

// คำนวณระยะทางจริงเป็นซม. ที่เซ็นเซอร์วัดระยะทางจับ

float คำนวณดิส (เริ่มต้น int, หยุดลอย, การวัด int) { ระยะทางลอย = getDis (เริ่มต้น); float step = (หยุด - เริ่ม)/10; for(int i = 0; i <5; i++) { if(measurement = (start-step)){ ระยะทางกลับ; } start = เริ่ม - ขั้นตอน; ระยะทาง = ระยะทาง + 0.1; } }

// ตรวจสอบขอบเขตขนาดใหญ่ที่เซ็นเซอร์ระยะอยู่ระหว่าง

ระยะลอย (การวัด int) {// หากเซ็นเซอร์ระยะทางไม่อยู่ระหว่าง 10 ถึง 14 ซม. // เราไม่ทราบระยะทางจริงและส่งกลับ 10 หาก (การวัด maxD) { คืนค่า 10.0; } if (การวัด <= สิบสามP) { ส่งคืนการคำนวณดิส (สิบสามP, สิบสี่, การวัด); } if (การวัด <= สิบสาม) { return CalculDis (สิบสาม, สิบสามP, การวัด); } if (การวัด <= สิบสองP) { ส่งคืนการคำนวณดิส (สิบสองP, สิบสาม, การวัด); } if (การวัด <= สิบสอง) { return CalculDis (สิบสอง, สิบสองP, การวัด); } if (การวัด <= elevenP) { ส่งคืนการคำนวณดิส (elevenP, สิบสอง, การวัด); } ถ้า (การวัด <= สิบเอ็ด) { ส่งคืนการคำนวณดิส (สิบเอ็ด, สิบเอ็ดP, การวัด); } if (การวัด <= tenP) { ส่งคืนการคำนวณดิส (tenP, สิบเอ็ด, การวัด); } if (การวัด <= สิบ) { ส่งคืนการคำนวณดิส (สิบ, tenP, การวัด); } // รหัสไม่ควรมาที่นี่ กลับ -2; }

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

// รหัสเซ็นเซอร์อุณหภูมิ ////////////////////////////////////////// /////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /// แรงดันไฟฟ้าสูงสุดในหน่วย mV ที่ใช้สำหรับเซ็นเซอร์อุณหภูมิ โฟลต maxV = 3300.0;

// แรงดันฐานและอุณหภูมิที่เซ็นเซอร์อุณหภูมิส่งกลับ

// แรงดันไฟเป็น mV int ฐานV = 750; ฐาน intT = 25;

// คำนวณอุณหภูมิจากค่าที่วัดได้ที่ขาอนาล็อก

float คำนวณอุณหภูมิ (การวัด int) { แรงดันลอย = ((maxV/4096) * การวัด); float diff = baseV - แรงดันไฟ; float temp = baseT - (diff/10); กลับอุณหภูมิ; }

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

// การคำนวณความชื้น //////////////////////////////////////////// ////////////////////////////// // ตัวแปรสำหรับการคำนวณความชื้น // มาจากเซ็นเซอร์ความชื้นจริง ลอย h15 = 10.0; ลอย h30 = 10.5; ทุ่น h60 = 11.5; ลอย h75 = 12.0; ลอย h90 = 12.5; ลอยขั้นตอน H = 0.167;

// ส่งกลับค่าความชื้นสัมพัทธ์สำหรับช่วงระยะทางที่กำหนด

int คำนวณฮัม (float dis, float lowH, float highH, int start) { float diff = dis - lowH; float i1 = แตกต่าง/stepH; int i = รอบ (i1); เอาต์พุต int = (เริ่ม + (5*i)); ผลตอบแทนการส่งออก; }

// คืนค่าความชื้นสัมพัทธ์

ความชื้น int (float dis) { if (dis <= h30) { return คำนวณHum (dis, h15, h30, 15); } if (dis <= h60) { ส่งคืน CalculHum (dis, h30, h60, 30); } if (dis <= h75) { ส่งคืน CalculHum (dis, h60, h75, 60); } if (dis <= h90) { return คำนวณฮัม (dis, h75, h90, 75); } ส่งคืน 100; }

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

// สูตรดัชนีความร้อน ////////////////////////////////////////// ////////////////////////////////// // ค่าคงที่ที่ใช้ในสูตรดัชนีความร้อนลอย c1 = -8.78469475556; ลอย c2 = 1.61139411; ลอย c3 = 2.33854883889; ลอย c4 = -0.14611605; ลอย c5 = -0.012308094; ลอย c6 = -0.0164248277778; ลอย c7 = 0.002211732; ลอย c8 = 0.00072546; ลอย c9 = -0.000003582;

// สูตรดัชนีความร้อนที่ใช้อุณหภูมิและความชื้นสัมพัทธ์

float heatIndex(float t, int h) { return c1 + (c2*t) + (c3*h) + (c4*t*h) + (c5*t*t) + (c6*h*h) + (c7*t*t*h) + (c8*t*h*h) + (c9*t*t*h*h); }

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

// ฟังก์ชั่น/ตัวแปรอื่นๆ ////////////////////////////////////////// ////// //////////////////////////////////////////////////////////////// /////////////////////////////////// // ผลตอบแทนที่เป็นตัวแทนสตริงของลอยโค้งมนลงไปหนึ่งทศนิยม สตริง rOne (จำนวนลอย) { ค่า int = รอบ (จำนวน * 10); เอาต์พุตสตริง = (สตริง) ค่า; ปลายถ่าน = เอาต์พุต[strlen(เอาต์พุต)-1]; int ซ้าย = ค่า/10; สตริงเริ่มต้น = (สตริง) ซ้าย; กลับเริ่มต้น + "." + จบ; }

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

/ รหัสทั้งหมดที่นี่ควรรันครั้งเดียวบนโฟตอนก่อนที่ฟังก์ชันการวนซ้ำจะเริ่มต้น

การตั้งค่าเป็นโมฆะ () {// ตั้งค่าจำนวนคอลัมน์และแถวของ LCD: lcd.begin (16, 2); }

// โค้ดทั้งหมดที่นี่กำลังวนซ้ำและควรประกอบด้วยการรับข้อมูล ปรับแต่ง และเผยแพร่ออนไลน์

void loop() { // รับอุณหภูมิและความชื้น float temp = คำนวณอุณหภูมิ (analogRead (tempSensor)); float dis = ระยะทาง (analogRead (disSensor)); int hum = ความชื้น (dis); สตริงชื้น = (สตริง) ฮัม; // คำนวณดัชนีความร้อน float hI = ดัชนีความร้อน (อุณหภูมิ, ฮัม); // ตั้งค่าสตริงเอาต์พุตและพิมพ์ข้อความทั้งหมดบนจอ LCD เอาต์พุตสตริง = rOne(hI); lcd.setCursor(0, 0); lcd.print(ข้อความ(รอบ(hI))); lcd.setCursor(0, 1); lcd.print (ข้อความ2 + เอาต์พุต + "C"); เอาต์พุต = เอาต์พุต + " " + ชื้น; // เผยแพร่ค่าดัชนีความร้อนทางออนไลน์และรอก่อนที่จะวนซ้ำอีกครั้ง Particle.publish(ชื่อเหตุการณ์, เอาต์พุต); ล่าช้า (delayTime); }

ขั้นตอนที่ 8: Verbind De Photon

คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน
คำกริยา เดอ โฟตอน

เบโนดิกเฮเดน:

- โฟตอนและเขียงหั่นขนม

- เซ็นเซอร์อุณหภูมิ

- ขาตั้ง 220 โอห์ม

- อัฟสแตนเซนเซอร์

- LCD-scherm และโพเทนชิโอมิเตอร์ 10k Ohm (ตัวเลือก)

- Genoeg breadboard draadjes, 9+

- จัมเปอร์ draadjes ชาย/หญิง 12 (ตัวเลือก)

Verbindt de 3.3V van de photon กับ de + rails aan dezelfde kant en verbindt de ground aan de - rails.

Verbindt de 5V แวนเดอโฟตอน aan de andere kant aan de + rails aan die kant.

หยุดอุณหภูมิเซ็นเซอร์ ergens พบกับ genoeg ruimte eromheen ในเขียงหั่นขนม het

Verbindt de analoge เอาต์พุต van de temperatuursensor กับ A0 van de photon en de ground กับ ground rails

Zet de weerstand สำหรับอินพุต van de sensor en verbindt de weerstand พร้อมราง 3.3V

เซ็นเซอร์ตรวจจับการป้อนข้อมูลด้วยช่องสัญญาณขาเข้าในรางขนาด 3.3V ที่ราง, รางฝังรางบนพื้นรางและเอาต์พุตแบบอะนาล็อกใน A1 แบบโฟตอนและตัวหยุด

เพิ่มเติม LCD-scherm wilt aansluiten werkt dat als volgt:

1. Verbindt de potentiometer aan het breadboard พบ 5V บนพื้น

2. คำที่ใช้ทั่วไป จัมเปอร์ draadjes aan het LCD-scherm waarbij pin 1 het dichtsbij de rand van het scherm is.

Pin 1, 5 en 16 van de LCD ใกล้กราวด์ พิน 2 en 15 กับ 5V.

Verbindt de analoge output van de potentiometer, de middelste pin, พบพิน 3 van de LCD

3. Verbindt de volgende โฟตอนพินและหมุด LCD พร้อมจัมเปอร์ draadjes

พิน D5 กับ พิน 4

พิน D4 กับ พิน 6

ปักหมุด D3 กับ หมุด 11

พิน D2 กับ พิน 12

พิน D1 กับ พิน 13

พิน D0 กับ พิน 14

Als de photon nu aanstaat en er aan de potentiometer gedraaid wordt moeten er op het LCD-scherm blokjes verschijnen.

ขั้นตอนที่ 9: Plaats De Photon En Het LCD-Scherm ใน De Opstelling

Plaats De Photon En Het LCD-Scherm ใน De Opstelling
Plaats De Photon En Het LCD-Scherm ใน De Opstelling

เบโนดิกเฮเดน:- Powerbank (ตัวเลือก)

Nu de photon klaar voor gebruik is kan deze op het plankje in de bak geplaatst worden en het LCD-scherm กัน tegen het gat geplakt worden. Nu is het een goed moment om de photon de laten op een powerbank กับ natuurlijk niet verplicht.

ขั้นตอนที่ 10: Kalibreren (ตัวเลือก)

เบโนดิกเฮเดน:

- เซ็นเซอร์ Luchtvochtigheids

- เครื่องวัดอุณหภูมิ

- โรลมาต

- รหัสเอาต์พุตสำหรับ rauwe waarden van de sensoren die gekalibreerd moeten worden

ซอฟต์แวร์ niet goed blijkt te werken met de sensoren kan er voor gekozen worden om de sensoren zelf de kalibreren.

เครื่องวัดอุณหภูม

จาก luchtvochtigheid zal eerst de afstandssensor gekalibreerd moeten worden op afstand met behulp van een rolmaat en daarna zal het pas mogelijk zijn om de luchtvochtigheid goed te meten gel ken te te meten

ในโค้ด zitten ความคิดเห็น ตาย aangeven waar dit soort kalibratie variabelen staan

ขั้นตอนที่ 11: De Warmte Index Meter คือ Klaar Voor Gebruik

เพลเซียร์!

แนะนำ: