Isi kandungan:

Meter Indeks Warmte: 11 Langkah
Meter Indeks Warmte: 11 Langkah

Video: Meter Indeks Warmte: 11 Langkah

Video: Meter Indeks Warmte: 11 Langkah
Video: Among Us in HD (Part 47) TIMBER #Shorts 2024, Julai
Anonim
Meter Indeks Warmte
Meter Indeks Warmte

Met deze instruksikan kun je je eigen warmte index meter maken.

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

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

Bekalan

- Papan roti bertemu Partikel Photon

- Temperatuursensor (TMP36)

- Afstandssensor voor lepas tussen 10 en 20 cm.

- Bank kuasa

- 220 Ohm weerstand

- Draadjes papan roti, 9+

- Telefon Mobiele + Komputer

- Paardenhaar

- Hout dalam houtlijm

- Gereedschap: Boormachine / schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plaatje + wit papier

- Gewichtjes, denk aan kleine loodjes dari plenat logam

Pilihan:

- LCD scherm + 10k Ohm potensiometer + Lelaki / Wanita jumper draadjes, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Langkah 1: De Photon Instellen

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

Benodigdheden: - Telefon Mobiele

- Foton

- Komputer

Muat turun aplikasi zarah op je telefoon en maak een partikel.

Hentikan de usb-kabel van de photon di komputer je, tuntut de photon en stel de wifi di.

Dit kan melalui setup.particle.io.

Langkah 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden: - Paard

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

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

Langkah 3: Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje

Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje

Benodigdheden: - Zeep

- Hout + lijm

- Gereedschap

Maak een ombouw waarbij de paardenhaar horizontaal kan worden gespannen en die tegelijkertijd enige bescherming biedt

Ontvet de paardenhaar

Span de haar horizontaal, bij voorkeur minimum 50 cm. Zorg dat er genoeg haar over adalah om de hefboom en het gewicht te bevestigen (zie volgende stap)

Langkah 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

Benodigdheden: - Hout en houtlijm

- Gereedschap: zaag

Maak een simpele houten bak zonder deksel bertemu een houten plank die in het midden staat als een divider. Op deze plank moet het papan roti bertemu de photon passen als de bak op zijn zijkant wordt gezet. Daarnaa kan aan de onderkant van de bak een gat worden gemaakt voor het LCD-scherm. Dit gat moet parallel zijn bertemu het plankje dat di de bak adalah gezet. Als de bak klaar adalah kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen.

Langkah 5: Maak Een Hefboom

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

Benodigdheden: - 2 potloden

- Kurk

- Kartonnen plaatje + wit papier

- Gewichtjes

- Gereedschap: vijl en boor

Boor een gat in het kastje en plaats het korte potlood. Het lange potlood dient uitgevijld te worden zodat deze op het korte potlood kan balanceren.

Plak een wit velletje papier onder een plaatje (dalam kart gt geval) en plaats deze aan het uiteinde van de hefboom.

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

Langkah 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje

Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Plaats De Afstandmeter Onder Het (kartonnen) Plaatje

Benodigdheden:

- Afstandsensor

- Opzetstukje (optioneel)

- Set draad en soldeer tambahan (optioneel)

Bij voorkeur bertemu dengan een lalu van minimaal 12 cm bij een relatieve luchtvochtigheid van + - 60%.

Indien nodig op een opzetstukje.

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

Langkah 7: Kod Schrijven

Benodigdheden: - Akaun zarah bertemu komputer

Ga naar build.particle.io en maak een nieuwe app aan. Noem deze bijvoorbeeld HeatIndex.

Di perpustakaan, zoek LiquidCrystal dan import deze dalam aplikasi.

Dan kan de volgende code gekopieerd worden di de app:

Lees de comments goed door als je wilt begrijpen wat elk stukje code precies doet.

Selain itu, permasalahan optimum adalah yang terbaik untuk memberikan komen.

// Sertakan perpustakaan berikut: #include #include

// Pin bacaan analog untuk semua sensor dalam binaan ini:

int tempSensor = A0; int disSensor = A1;

// Peraturan penerbitan:

// Masa kelewatan dan nama acara untuk penerbitan. // Kelewatan masa dalam milisaat. int delayTime = 15000; String eventName = "Sebenar_Temperature";

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

// Kod paparan kristal cecair ///////////// ///////////////////////////// ////////////////// // Mulakan paparan dengan pin data LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Tetapkan had untuk nilai indeks haba

int berhati-hati = 27; int eCD = 33; bahaya int = 40; int melampau = 52;

// Mengembalikan mesej untuk nilai indeks haba tertentu.

Mesej rentetan (int hI) {if (hI <awas) {kembali "Tidak berhati-hati."; } jika (hI <eCD) {kembali "Awas!"; } jika (hI <bahaya) {kembali "Sangat berhati-hati!"; } jika (hI <melampau) {kembali "Bahaya !!"; } kembalikan "EKSTREM BAHAYA !!"; }

// Mesej di baris kedua paparan.

String message2 = "T Sebenar:";

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

// Kod sensor jarak ///////////////////////////// //////////////// ////////////////////////////////////// // Nilai mentah minimum dan maksimum yang dikembalikan oleh sensor. int minD = 2105; int maxD = 2754;

// Nilai mentah sebenar sensor dikembalikan setiap 5mm.

int sepuluh = 2754; int tenP = 2691; int sebelas = 2551; int elevenP = 2499; int dua belas = 2377; int TwelveP = 2276; int tiga belas = 2206; int thirteenP = 2198; int empat belas = 2105;

// Mengembalikan jarak dalam cm kepunyaan nilai mentah untuk setiap 5mm.

float getDis (nombor int) {suis (nombor) {kes 2754: pulangan 10; kes 2691: pulangan 10.5; kes 2551: pulangan 11; kes 2499: pulangan 11.5; kes 2377: pemulangan 12; kes 2276: pulangan 12.5; kes 2206: pemulangan 13; kes 2198: pemulangan 13.5; kes 2105: pemulangan 14; }}

// Mengira jarak sebenar dalam cm yang ditangkap oleh sensor jarak.

pengiraan apunganDis (int permulaan, hentian apungan, pengukuran int) {jarak apungan = getDis (permulaan); langkah apungan = (berhenti - mula) / 10; untuk (int i = 0; i <5; i ++) {if (pengukuran = (langkah awal)) {jarak balik; } mulakan = mulakan - langkah; jarak = jarak + 0.1; }}

// Memeriksa batas-batas besar jarak sensor di antara.

jarak apungan (pengukuran int) {// Sekiranya sensor jarak tidak antara 10 dan 14 cm, // kita tidak mengetahui jarak sebenar dan pulangan 10. jika (ukuran maksimumD) {return 10.0; } jika (pengukuran <= thirteenP) {return calculDis (thirteenP, empat belas, pengukuran); } jika (pengukuran <= tiga belas) {return calculDis (tiga belas, tiga belasP, pengukuran); } jika (pengukuran <= dua belas P) {return calculDis (teenP, tiga belas, pengukuran); } jika (pengukuran <= dua belas) {return calculDis (dua belas, dua belas P, pengukuran); } jika (pengukuran <= elevenP) {return calculDis (elevenP, dua belas, pengukuran); } jika (pengukuran <= sebelas) {return calculDis (sebelas, sebelasP, pengukuran); } jika (pengukuran <= tenP) {return calculDis (tenP, sebelas, ukuran); } jika (pengukuran <= sepuluh) {return calculDis (sepuluh, tenP, pengukuran); } // Kod tidak boleh sampai di sini. pulangan -2; }

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

// Kod sensor suhu /////////////////////////////////////////// ////////////// //////////////////////////////////// ////////////////////////////////////////////////// / // Voltan maksimum dalam mV yang digunakan untuk sensor suhu. float maxV = 3300.0;

// Voltan asas dan suhu yang disertakan oleh sensor suhu.

// Voltan berada dalam mV. int baseV = 750; int baseT = 25;

// Mengira suhu dari nilai yang diukur pada pin analog.

pengiraan apunganTemp (pengukuran int) {voltan apungan = ((maxV / 4096) * pengukuran); float diff = baseV - voltan; suhu apungan = baseT - (diff / 10); pulangan temp; }

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

// Pengiraan kelembapan ///////////////////////// /////////////////// ////////////////////////////// // Pemboleh ubah untuk pengiraan kelembapan, // berasal dari sensor kelembapan sebenar. apungan h15 = 10.0; apungan h30 = 10.5; apungan h60 = 11.5; apungan h75 = 12.0; apungan h90 = 12.5; langkah apunganH = 0.167;

// Mengembalikan kelembapan relatif untuk jarak jarak tertentu.

int calculHum (float dis, float lowH, float highH, int start) {float diff = dis - rendahH; apungan i1 = diff / stepH; int i = bulat (i1); output int = (mula + (5 * i)); keluaran pulangan; }

// Mengembalikan kelembapan relatif.

kelembapan int (float dis) {if (dis <= h30) {return calculHum (dis, h15, h30, 15); } jika (dis <= h60) {return calculHum (dis, h30, h60, 30); } jika (dis <= h75) {return calculHum (dis, h60, h75, 60); } jika (dis <= h90) {return calculHum (dis, h75, h90, 75); } pulangkan 100; }

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

// Formula indeks haba ///////////////////////////// //////////////// ///////////////////////////////// // Pemalar yang digunakan dalam formula indeks panas terapung c1 = -8.78469475556; apungan c2 = 1.61139411; terapung c3 = 2.33854883889; apungan c4 = -0.14611605; terapung c5 = -0.0123008094; terapung c6 = -0.0164248277778; apungan c7 = 0.002211732; apungan c8 = 0.00072546; apungan c9 = -0.000003582;

// Formula indeks haba yang mengambil suhu dan kelembapan relatif.

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); }

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

// Fungsi / pemboleh ubah lain //////////////////////////////////////////// ////// //////////////////////////////////////////// ///////////////////////////////// // Mengembalikan representasi rentetan pelampung yang dibulatkan ke bawah satu perpuluhan. String rOne (float num) {nilai int = bulat (bilangan * 10); Output rentetan = (String) nilai; char end = output [strlen (output) -1]; int kiri = nilai / 10; Rentetan bermula = (String) kiri; kembali bermula + "." + akhir; }

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

/ Semua kod di sini harus dijalankan sekali pada Photon sebelum fungsi gelung bermula.

batal persediaan () {// Sediakan lajur dan baris LCD bilangan: lcd.begin (16, 2); }

// Semua kod di sini sedang dilingkari dan harus mengandungi mendapatkan data, menyempurnakannya dan meletakkannya dalam talian.

gelung kosong () {// Dapatkan suhu dan kelembapan. terapung temp = hitungTemp (analogRead (tempSensor)); apungan dis = jarak (analogRead (disSensor)); int hum = kelembapan (dis); String humid = (String) hum; // Hitung indeks haba. terapung hI = heatIndex (temp, hum); // Siapkan rentetan output dan cetak semua pesan pada paparan LCD. Output rentetan = rOne (hI); lcd.setCursor (0, 0); lcd.print (mesej (bulat (hI))); lcd.setCursor (0, 1); lcd.print (message2 + output + "C"); output = output + "" + lembap; // Terbitkan nilai indeks haba dalam talian dan tunggu sebelum mengulangi lagi. Particle.publish (eventName, output); kelewatan (delayTime); }

Langkah 8: Verbind De Photon

Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon
Kata Kerja De Photon

Benodigdheden:

- Foton dan papan roti

- Temperatuursensor

- 220 Ohm weerstand

- Afstandssensor

- Potensiometer LCD-scherm en 10k Ohm (optioneel)

- Papan roti Genoeg draadjes, 9+

- Pelompat lelaki / wanita draadjes, 12 (optioneel)

Verbindt de 3.3V van de photon bertemu de + rails aan dezelfde kant en verbindt de ground aan de - rel.

Verbindt de 5V van de photon aan de andere kant aan de + rel aan die kant.

Stop de temperatuursensor ergens bertemu genoeg ruimte eromheen di papan roti het.

Verbindt de analoge output van de temperatuursensor bertemu A0 van de photon en de ground met de land rel.

Zet de weerstand voor de input van de sensor en verbindt de weerstand memenuhi rel 3.3V.

De afstandssensor kan verbonden worden door de input in de 3.3V rel di stoppen, de ground in de ground rel dan de analoge output di A1 van de photon te stoppen.

Als je een LCD-scherm akan menggunakan aansluiten werkt dat als volgt:

1. Verbindt de potensiometer aan het papan roti bertemu dengan 5V en de ground.

2. Verbindt de volgende jumper draadjes aan het LCD-scherm waarbij pin 1 het dichtsbij de rand van het scherm adalah.

Pin 1, 5 en 16 van de LCD bawah tanah. Pin 2 en 15 naar 5V.

Verbindt de analoge output van de potensiometer, de middelste pin, met pin 3 van de LCD.

3. Pin foton Verbindt de volgende naar Pin LCD bertemu jumper draadjes.

Pin D5 di bawah Pin 4

Pin D4 di bawah Pin 6

Pin D3 di bawah Pin 11

Pin D2 di bawah Pin 12

Pin D1 di bawah Pin 13

Pin D0 naar Pin 14

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

Langkah 9: Plaats De Photon En Het LCD-Scherm di De Opstelling

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

Benodigdheden: - Powerbank (optioneel)

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

Langkah 10: Kalibreren (optioneel)

Benodigdheden:

- Sensor Luchtvochtigheids

- Temperatuurmeter

- Rolmaat

- Kod keluaran voor rauwe waarden van de sensoren die gekalibreerd moeten worden

Als de software niet goed blijkt te werken bertemu de sensoren kan er voor gekozen worden om de sensoren zelf de kalibreren.

De temperatuurmeter kan vrij makkelijk gekalibreerd worden door metingen bertemu een temperatuurmeter te vergelijken met de sensor.

Voor de luchtvochtigheid zal eerst de afstandssensor gekalibreerd moeten worden op afstand bertemu behulp van een rolmaat en daarna zal het pas mogelijk zijn om de luchtvochtigheid goed te meten en te vergelijken bertemu een echte luchtvochtigheidsmeter / sensor.

Dalam kod de bijgeleverde komen zitten die aangeven waar dit soort kalibratie variabelen staan.

Langkah 11: Meter Indeks De Warmte Adalah Klaar Voor Gebruik

Veel plezier!

Disyorkan: