Daftar Isi:

Pengukur Indeks Warmte: 11 Langkah
Pengukur Indeks Warmte: 11 Langkah

Video: Pengukur Indeks Warmte: 11 Langkah

Video: Pengukur Indeks Warmte: 11 Langkah
Video: Solusi biar hp gak cepet panas, 100% berkerja mendinginkan hp 2024, Juli
Anonim
Pengukur Indeks Warmte
Pengukur Indeks Warmte

Met deze yang dapat diinstruksikan kun je je eigen warmte index meter dibuat.

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

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

Perlengkapan

- Partikel Foton bertemu papan tempat memotong roti

- Sensor suhu (TMP36)

- Afstandssensor voor afstanden tussen 10 en 20 cm.

- Bank Daya

- penyangga 220 Ohm

- draadjes papan tempat memotong roti, 9+

- Telepon seluler + Komputer

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plaatje + wit papier

- Gewichtjes, denk aan kleine loodjes dari metalen plaatjes

Pilihan:

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

- Pengukur Luchtvochtigheids

- Pengukur suhu - Rolmaat

Langkah 1: De Foton Instellen

De Foton Stella
De Foton Stella
De Foton Stella
De Foton Stella

Benodigdheden:- Telepon seluler

- Foton

- Komputer

Unduh aplikasi partikel op je telefoon en maak een akun partikel.

Stop de usb-kabel van de photon di komputer je, klaim de photon en stel de wifi in.

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 minimal 60 cm

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

Langkah 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje

Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Maak Een Horizontale Opstelling Met 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 horizontaltaal, bij voorkeur minimal 50 cm. Zorg dat er genoeg haar over is 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 breadboard bertemu de foton 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 met het plankje dat in de bak is 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

- Kurki

- 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 (in dit geval karton) en 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).

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

Benodigdeden:

- Sensor Afstand

- Opzetstukje (optioneel)

- Ekstra draad en solder set (optioneel)

Bij voorkeur met een afstand 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: Kode Schrijven

Benodigdheden:- Komputer bertemu partikel akun

Ga naar build.particle.io dan maak een nieuwe app aan. Indeks Panas Noem deze bijvoorbeeld.

Di perpustakaan, zoek LiquidCrystal dan impor deze di aplikasi.

Dan kan de volgende kode gekopieerd worden di aplikasi:

Lihat komentar goed door als je wilt begrijpen wat elk stukje kode precies doet.

Ook al er een masalah optreedt adalah het goed om de komentar te raadplegen.

// Sertakan library berikut:#include #include

// Pin pembacaan analog untuk semua sensor dalam build ini:

int sensor suhu = A0; int sensor = A1;

// Aturan penerbitan:

// Waktu tunda dan nama acara untuk penerbitan. // Waktu tunda dalam milidetik. int waktu tunda = 15000; String eventName = "Actual_Temperature";

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

// Kode tampilan kristal cair //////////// //////////////////////////////////////////////// ////////////////// // Inisialisasi tampilan dengan pin data LiquidCrystal lcd(D5, D4, D3, D2, D1, D0);

// Atur batas untuk nilai indeks panas

int hati-hati = 27; int eCD = 33; int bahaya = 40; int ekstrim = 52;

// Mengembalikan pesan untuk nilai indeks panas tertentu.

String pesan(int hI) { if(hI < hati-hati) { return "Tidak hati-hati."; } if(hI < eCD) { return "Perhatian! "; } if(hI < bahaya) { return "Sangat hati-hati!"; } if(hI < ekstrim) { return "Bahaya!! "; } return "BAHAYA EKSTRIM!!"; }

// Pesan pada baris kedua tampilan.

String pesan2 = "T Sebenarnya: ";

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

// Kode sensor jarak /////////////////////////// //////////////// //////////////////////////////////// // Nilai mentah minimum dan maksimum yang dikembalikan sensor. int minD = 2105; int maksD = 2754;

// Nilai mentah aktual yang dikembalikan sensor setiap 5mm.

int sepuluh = 2754; int tenP = 2691; int sebelas = 2551; int sebelasP = 2499; int dua belas = 2377; int dua belasP = 2276; int tiga belas = 2206; int tiga belasP = 2198; int empat belas = 2105;

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

float getDis(int number) { switch(number){ case 2754: return 10; kasus 2691: kembalikan 10.5; kasus 2551: kembalikan 11; kasus 2499: pengembalian 11.5; kasus 2377: pengembalian 12; kasus 2276: kembalikan 12,5; kasus 2206: pengembalian 13; kasus 2198: kembalikan 13.5; kasus 2105: kembalikan 14; } }

// Menghitung jarak sebenarnya dalam cm yang ditangkap oleh sensor jarak.

float countDis(int start, float stop, int measurement) { float distance = getDis(start); float langkah = (berhenti - mulai)/10; for(int i = 0; i < 5; i++) { if(pengukuran = (langkah awal)){ jarak kembali; } mulai = mulai - langkah; jarak = jarak + 0,1; } }

// Memeriksa batas besar sensor jarak di antara keduanya.

float distance(int measurement) { // Jika jarak sensor tidak antara 10 dan 14 cm, // kita tidak mengetahui jarak sebenarnya dan kembali 10. if(measurement maxD) { return 10.0; } if(pengukuran <= tiga belasP) { kembali menghitungDis(tiga belasP, empat belas, pengukuran); } if(pengukuran <= tiga belas) { return countDis(tiga belas, tiga belasP, pengukuran); } if(pengukuran <= dua belasP) { kembali menghitungDis(dua belasP, tiga belas, pengukuran); } if(pengukuran <= dua belas) { kembali menghitungDis(dua belas, dua belasP, pengukuran); } if(pengukuran <= sebelasP) { kembali menghitungDis(sebelasP, dua belas, pengukuran); } if(pengukuran <= sebelas) { kembali menghitungDis(sebelas, sebelasP, pengukuran); } if(pengukuran <= sepuluhP) { return countDis(tenP, sebelas, pengukuran); } if(pengukuran <= sepuluh) { return countDis(sepuluh, sepuluhP, pengukuran); } // Kode tidak boleh sampai di sini. kembali -2; }

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

// Kode sensor suhu ///////////////////////////////////////////////////////////// ////////////// //////////////////////////////////////////////////// //////////////////////////////////////////////////////////// / // Tegangan maksimum dalam mV yang digunakan untuk sensor suhu. float maxV = 3300.0;

// Tegangan dasar dan suhu yang menyertai yang dikembalikan oleh sensor suhu.

// Tegangan dalam mV. int basisV = 750; int basisT = 25;

// Menghitung suhu dari nilai terukur pada pin analog.

float countTemp(int pengukuran) { float voltage = ((maxV/4096)*pengukuran); float diff = baseV - tegangan; float temp = baseT - (diff/10); kembali suhu; }

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

// Perhitungan kelembaban //////////////////////// /////////////////////////////////////// ///////////////////////////// // Variabel untuk perhitungan kelembaban, // berasal dari sensor kelembaban aktual. mengapung h15 = 10,0; mengapung h30 = 10,5; mengapung h60 = 11.5; mengapung h75 = 12.0; mengapung h90 = 12,5; float langkahH = 0,167;

// Mengembalikan kelembaban relatif untuk rentang jarak tertentu.

int countHum(float diff, float lowH, float highH, int start) { float diff = dis - lowH; float i1 = diff/langkahH; int i = bulat(i1); int keluaran = (mulai + (5*i)); kembali keluaran; }

// Mengembalikan kelembaban relatif.

int kelembaban(float dis) { if (dis <= h30) { kembali menghitungHum(dis, h15, h30, 15); } if (dis <= h60) { kembali menghitungHum(dis, h30, h60, 30); } if (dis <= h75) { kembali menghitungHum(dis, h60, h75, 60); } if (dis <= h90) { kembali menghitungHum(dis, h75, h90, 75); } kembalikan 100; }

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

// Rumus indeks panas /////////////////////////// ////////////////////////////////// ///////////////////////////////// // Konstanta yang digunakan dalam rumus indeks panas float c1 = -8.78469475556; float c2 = 1.61139411; pelampung c3 = 2.33854883889; float c4 = -0,14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; float c7 = 0,002211732; mengapung c8 = 0,00072546; mengapung c9 = -0,000003582;

// Rumus indeks panas yang mengambil suhu dan kelembaban relatif.

float heatIndex(float t, int h) { kembali 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/variabel lain /////////////////////////////////////////////////////////// ////// //////////////////////////////////////////////////////////// ////////////////////////////////// // Mengembalikan representasi string float yang dibulatkan ke bawah hingga satu desimal. String rOne(float num) { int nilai = bulat(num*10); Output string = nilai (String); char end = keluaran[strlen(keluaran)-1]; int kiri = nilai/10; String mulai = (String) kiri; kembali mulai + "." + akhir; }

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

/ Semua kode di sini harus dijalankan sekali di Foton sebelum fungsi perulangan dimulai.

void setup() { // Mengatur jumlah kolom dan baris LCD: lcd.begin(16, 2); }

// Semua kode di sini sedang dilingkarkan dan harus berisi pengambilan data, memperbaikinya, dan meletakkannya secara online.

void loop() { // Mendapatkan suhu dan kelembapan. float temp = hitungTemp(analogRead(tempSensor)); float dis = jarak(analogRead(disSensor)); int hum = kelembaban(dis); String lembab = (String) hum; // Hitung indeks panas. float hI = heatIndex(suhu, hum); // Atur string keluaran dan cetak semua pesan pada layar LCD. Keluaran string = rOne(hI); lcd.setCursor(0, 0); lcd.print(pesan(bulat(hI))); lcd.setCursor(0, 1); lcd.print(pesan2 + keluaran + "C"); keluaran = keluaran + " " + lembab; // Publikasikan nilai indeks panas secara online dan tunggu sebelum mengulang lagi. Particle.publish(eventName, output); tunda (waktu tunda); }

Langkah 8: 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

Benodigdeden:

- Foton dan papan tempat memotong roti

- Sensor suhu

- penyangga 220 Ohm

- Mendukung sensor

- LCD-scherm dan potensiometer 10k Ohm (optioneel)

- draadjes papan tempat memotong roti Genoeg, 9+

- Jumper draadjes Pria/Wanita, 12 (optionel)

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

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

Stop de temperatuursensor ergens bertemu genoeg ruimte eromheen di papan tempat memotong roti panas.

Verbindt de analog output van de temperatuursensor bertemu A0 van de foton dan ground bertemu dengan rel ground.

Zet de weerstand voor de input van de sensor dan verbindt de weerstand bertemu dengan rel 3.3V.

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

Als je een LCD-scherm layu aansluiten werkt dat al volgt:

1. Verbindt de potensiometer aan het breadboard bertemu 5V di tanah.

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

Pin 1, 5 en 16 van de LCD naar ground. Pin 2 dan 15 naar 5V.

Verbindt de analog output van de potensiometer, de middelste pin, bertemu pin 3 van de LCD.

3. Verbindt de volgende photon pins naar LCD pin bertemu jumper draadjes.

Pin D5 dan Pin 4

Pin D4 dan Pin 6

Pin D3 dan Pin 11

Pin D2 dan Pin 12

Pin D1 dan Pin 13

Pin D0 dan Pin 14

Als de photon nu aanstaat en er aan de potensiometer dan kata-kata yang lebih mudah dioperasikan 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 (optionel)

Nu de photon klaar voor gebruik is 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 is natuurlijk niet verplicht.

Langkah 10: Kalibreren (optionel)

Benodigdeden:

- Sensor Luchtvochtigheids

- Pengukur suhu

- Rolmaat

- Keluaran kode voor rauwe waarden van de sensoren die gekalibreerd moeten worden

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

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

Voor de 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 en te vergelijken met een echechte luchtvo.

Dalam kode de bijgeleverde komentar zitten die aangeven waar dit soort kalibratie variabelen staan.

Langkah 11: Pengukur Indeks De Warmte Adalah Klaar Voor Gebruik

Plezier beludru!

Direkomendasikan: