Isi kandungan:
- Bekalan
- Langkah 1: De Photon Instellen
- Langkah 2: Paardenhaar
- Langkah 3: Maak Een Horizontale Opstelling Bertemu Daaraan Een Kastje
- Langkah 4: Maak Een Kastje Voor De Photon En LCD-scherm
- Langkah 5: Maak Een Hefboom
- Langkah 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
- Langkah 7: Kod Schrijven
- Langkah 8: Verbind De Photon
- Langkah 9: Plaats De Photon En Het LCD-Scherm di De Opstelling
- Langkah 10: Kalibreren (optioneel)
- Langkah 11: Meter Indeks De Warmte Adalah Klaar Voor Gebruik
Video: Meter Indeks Warmte: 11 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
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
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
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
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
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
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
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
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
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:
Meter Indeks UV Menggunakan Sensor ML8511 ULTRAVIOLET Arduino: 6 Langkah
Meter Indeks UV Menggunakan Sensor ML8511 ULTRAVIOLET Arduino: Dalam tutorial ini kita akan belajar bagaimana mengukur Indeks UV Matahari menggunakan Sensor ML8511 ULTRAVIOLET. Tonton Video! https://www.youtube.com/watch?v=i32L4nxU7_M
Suapan Indeks UV EPA / IOT: 4 Langkah (dengan Gambar)
Feed / IOT Indeks UV EPA: Peranti kecil ini menarik indeks UV tempatan anda dari EPA dan memaparkan tahap UV dalam 5 warna yang berbeza dan juga memaparkan perincian mengenai OLED. UV 1-2 berwarna hijau, 3-5 berwarna kuning, 6-7 berwarna jingga, 8-10 berwarna merah, 11+ berwarna ungu
Monitor Cuaca M5Stack M5stick C Berbasis ESP32 Dengan DHT11 - Pantau Indeks Kelembapan & Haba Suhu pada M5stick-C Dengan DHT11: 6 Langkah
Monitor Cuaca Berasaskan ESP32 M5Stack M5stick C Dengan DHT11 | Pantau Indeks Kelembapan Suhu & Panas pada M5stick-C Dengan DHT11: Hai kawan-kawan, dalam instruksi ini kita akan belajar bagaimana menghubungkan antara sensor suhu DHT11 dengan m5stick-C (papan pengembangan oleh m5stack) dan memaparkannya pada paparan m5stick-C. Jadi dalam tutorial ini kita akan membaca suhu, kelembapan & panas saya
Penggera Indeks Panas: 7 Langkah
Penggera Indeks Panas: Projek ini muncul dari keperluan untuk memantau suhu di kawasan kerja, dan juga memberi isyarat ketika suhu mencapai ambang yang diberikan. Beberapa kajian berdasarkan had pendedahan suhu oleh OSHA membantu menjadikannya praktikal. Sekarang selesai
UltraV: Meter indeks UV mudah alih: 10 Langkah (dengan Gambar)
UltraV: Meter-indeks UV yang mudah dibawa: Tidak dapat mendedahkan diri kepada cahaya matahari kerana masalah dermatologi, saya menggunakan masa yang akan saya habiskan di pantai untuk membina meter sinar ultraviolet. UltraV. Ia dibina di atas Arduino Nano rev3, dengan sensor UV, penukar DC / DC untuk meningkatkan