Kazalo:

Indeks toplotnega merilnika: 11 korakov
Indeks toplotnega merilnika: 11 korakov

Video: Indeks toplotnega merilnika: 11 korakov

Video: Indeks toplotnega merilnika: 11 korakov
Video: Физик РАЗВЕРНУЛ Большой Взрыв! Квантовые петли Абхая Аштекара 2024, September
Anonim
Toplotni indeksni merilnik
Toplotni indeksni merilnik

Met deze instructable kun je eigen warmte index meter maken.

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

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

Zaloge

- Foton delcev je prišel na mizo

- Senzor temperature (TMP36)

- Senzor za stališče 10 do 20 cm.

- Powerbank

- 220 ohmski nosilec

- Draadjes iz deske, 9+

- Mobilni telefon + računalnik

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plaatje + pametni papir

- Gewichtjes, denk aan kleine loodjes of metalen plaatjes

Možnost izbire:

- LCD scherm + 10k Ohm potenciometer + moški/ženski skakalec, 12

- Luchtvochtigheidsmeter

- Merilnik temperature- Rolmaat

1. korak: De Photon Instellen

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

Benodigdheden:- Mobilni telefon

- Foton

- računalnik

Prenesite aplikacijo za delce na telefonu in odprite račun za delce.

Ustavite usb-kabel van de photon in je računalnik, zahtevajte photon en stel de wifi.

To lahko storite prek setup.particle.io.

2. korak: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

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

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

Korak: 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

Horizontalni razpon, minimalno 50 cm. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

4. korak: 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 met een houten plank die in het midden staat als een delilnik. Op deze plank moet het motherboard met de photon passen als de bak op zijn zijkant wordt gezet. Daarnaa kan aan de onderkant van de bak een gat worden gemaakt for het LCD-scherm. Dit gat moet vzporedno zijn met het plankje dat in de bak is gezet. 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. korak: Maak Een Hefboom

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

Benodigdheden:- 2 potlodena

- Kurk

- Kartonnen plaatje + pametni papir

- 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 balancer deze uit met een gewichtje (zie afbeelding 3 ringen).

Korak 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:

- Senzor za stabilnost

- Opzetstukje (optioneel)

- Dodatni komplet za spajkanje (opcionalno)

Najmanjši voorkeur je dosežen z minimalnimi 12 cm in je relativen 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.

7. korak: Koda Schrijven

Benodigdheden:- Računalnik srečal račun delcev

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

V knjižnicah si oglejte LiquidCrystal in uvozite aplikacijo v aplikacijo.

Dan kan de volgende code gekopieerd worden v aplikaciji:

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

Ook als er een problemem optreedt is het goed om de comments te raadplegen.

// Vključi naslednje knjižnice: #include #include

// Analogni bralni zatiči za vse senzorje v tej zgradbi:

int tempSensor = A0; int disSensor = A1;

// Pravila objavljanja:

// Čas zakasnitve in ime dogodka za objavo. // Zakasnitev v milisekundah. int delayTime = 15000; String eventName = "Dejanska_temperatura";

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

// Koda za prikaz tekočih kristalov ////////////// ////////////////////////////////// //////////////////// // Inicializirajte zaslon s podatkovnimi zatiči LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Nastavitev meja za vrednosti indeksa toplote

int previdnost = 27; int eCD = 33; int nevarnost = 40; int extreme = 52;

// Vrne sporočilo za določeno vrednost indeksa toplote.

Sporočilo niza (int hI) {if (hI <previdno) {vrne "Brez previdnosti."; } if (hI <eCD) {vrne "Pozor!"; } if (hI <nevarnost) {return "Skrajna previdnost!"; } if (hI <ekstremno) {return "Nevarnost !!"; } return "IZJEMNA NEVARNOST !!"; }

// Sporočilo v drugi vrstici zaslona.

Niz sporočilo2 = "Dejanski T:";

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

// Koda senzorja razdalje /////////////////////////////// ////////////////// ////////////////////////////////////////// // Minimalne in maksimalne surove vrednosti, ki jih senzor vrne. int minD = 2105; int maxD = 2754;

// Dejanske surove vrednosti, ki jih senzor vrne vsakih 5 mm.

int deset = 2754; int tenP = 2691; int enajst = 2551; int enajstP = 2499; int dvanajst = 2377; int dvanajstP = 2276; int trinajst = 2206; int trinajstP = 2198; int štirinajst = 2105;

// Vrne razdaljo v cm, ki pripada surovi vrednosti za vsakih 5 mm.

float getDis (int number) {switch (number) {case 2754: return 10; primer 2691: vrnitev 10,5; primer 2551: vrnitev 11; zadeva 2499: vrnitev 11,5; primer 2377: vrnitev 12; primer 2276: vrnitev 12,5; primer 2206: vrnitev 13; zadeva 2198: vrnitev 13,5; zadeva 2105: vrnitev 14; }}

// Izračuna dejansko razdaljo v cm, ki jo je zajel senzor razdalje.

float calculiDis (int start, float stop, int merjenje) {float distance = getDis (start); plavajoči korak = (stop - start)/10; za (int i = 0; i <5; i ++) {if (merjenje = (začetni korak)) {povratna razdalja; } start = start - korak; razdalja = razdalja + 0,1; }}

// Preverja velike meje med senzorjem razdalje.

plavajoča razdalja (int merjenje) {// Če senzor razdalje ni bil med 10 in 14 cm, // ne poznamo dejanske razdalje in se vrnemo 10. if (meritev maxD) {vrne 10,0; } if (meritev <= trinajstP) {povratni izračunDis (trinajstP, štirinajst, merjenje); } if (meritev <= trinajst) {return izračunaDis (trinajst, trinajstP, meritev); } if (meritev <= dvanajstP) {povratni izračunDis (dvanajstP, trinajst, merjenje); } if (meritev <= dvanajst) {return izračunaDis (dvanajst, dvanajstP, meritev); } if (meritev <= enavenP) {return izračunaDis (enajstP, dvanajst, merjenje); } if (meritev <= enajst) {return izračunaDis (enajst, enajstP, meritev); } if (meritev <= tenP) {return izračunaDis (tenP, enajst, merjenje); } če (meritev <= deset) {povratni izračunDis (deset, desetP, meritev); } // Koda nikoli ne sme priti sem. vrnitev -2; }

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

// Koda temperaturnega senzorja /////////////////////////////////////////////// //////////////// //////////////////////////////////////// //////////////////////////////////////////////////////// / // Največja napetost v mV, uporabljena za temperaturni senzor. plovec maxV = 3300,0;

// Osnovna napetost in spremljajoča temperatura, ki jo temperaturni senzor vrne.

// Napetost je v mV. int bazaV = 750; int baseT = 25;

// Izračuna temperaturo iz izmerjene vrednosti na analognem zatiču.

float CalcuTemp (int merjenje) {float napetost = ((maxV/4096)*merjenje); float diff = baseV - napetost; plavajoča temp = baseT - (razlika/10); povratna temperatura; }

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

// Izračuni vlažnosti /////////////////////////// /////////////////////// //////////////////////////////// // Spremenljivke za izračun vlažnosti, // prihajajo iz dejanskih senzorjev vlažnosti. plovec h15 = 10,0; plovec h30 = 10,5; plovec h60 = 11,5; plovec h75 = 12,0; plovec h90 = 12,5; plavajoči korak H = 0,167;

// Vrne relativno vlažnost za določeno območje razdalje.

int CalculatorHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; plovec i1 = razlika/korak H; int i = okroglo (i1); int output = (start + (5*i)); povratni izhod; }

// Vrne relativno vlažnost.

int vlažnost (float dis) {if (dis <= h30) {povratni izračunHum (dis, h15, h30, 15); } if (dis <= h60) {return izračuna Hum (dis, h30, h60, 30); } if (dis <= h75) {return izračuna Hum (dis, h60, h75, 60); } if (dis <= h90) {return izračuna Hum (dis, h75, h90, 75); } vrni 100; }

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

// Formula indeksa toplote /////////////////////////////// ////////////////// ////////////////////////////////////// // Konstante, uporabljene v formuli indeksa toplote, plovec c1 = -8.78469475556; plovec c2 = 1,61139411; plovec c3 = 2,33854883889; plovec c4 = -0,14611605; plovec c5 = -0,0123008094; plovec c6 = -0,0164248277778; plovec c7 = 0,002211732; plovec c8 = 0,00072546; plovec c9 = -0,000003582;

// Formula indeksa toplote, ki upošteva temperaturo in relativno vlažnost.

plavajoča toplotaIndex (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); }

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

// Druge funkcije/spremenljivke ////////////////////////////////////////////// ////// ////////////////////////////////////////////////// /////////////////////////////////////// // Vrne niz predstavitev float, zaokroženo navzdol na eno decimalko. Niz rOne (plavajoče število) {vrednost int = okroglo (število*10); String output = (String) vrednost; char end = output [strlen (output) -1]; int levo = vrednost/10; String begin = (String) levo; return start + "." + konec; }

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

/ Vso kodo tukaj je treba zagnati enkrat na Photonu, preden se začnejo funkcije zanke.

void setup () {// Nastavite število stolpcev in vrstic LCD -ja: lcd.begin (16, 2); }

// Vsa koda je v zanki in mora vsebovati pridobivanje podatkov, njihovo izboljšanje in dajanje v splet.

void loop () {// Pridobite temperaturo in vlažnost. float temp = CalcuTemp (analogRead (tempSensor)); float dis = distance (analogRead (disSensor)); int hum = vlažnost (dis); String humid = (String) hum; // Izračunajte toplotni indeks. float hI = heatIndex (temp, hum); // Nastavite izhodni niz in natisnite vsa sporočila na LCD zaslonu. Niz izhod = rOne (hI); lcd.setCursor (0, 0); lcd.print (sporočilo (okroglo (hI))); lcd.setCursor (0, 1); lcd.print (sporočilo2 + izhod + "C"); output = output + "" + humid; // Vrednosti toplotnega indeksa objavite na spletu in počakajte, da se znova ponovi. Particle.publish (eventName, output); zakasnitev (delayTime); }

8. korak: Verbind De Photon

Verbind De Photon
Verbind De Photon
Verbind De Photon
Verbind De Photon
Verbind De Photon
Verbind De Photon
Verbind De Photon
Verbind De Photon

Benodigdheden:

- Foton in plošča

- Senzor temperature

- 220 ohmski nosilec

- Razume senzor

- LCD-scherm in 10k ohmski potenciometer (opcijsko)

- Genovaške plošče draadjes, 9+

- moški/ženski skakalec draadjes, 12 (opcioneel)

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

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

Stop de temperatuursensor ergens met genoeg ruimte eromheen in het board.

Verbindt de analogni izhod van temperaturnega senzorja z A0 van de photon en de ground met de talne tirnice.

Zet de weerstand for input of senzor senzorja in verbindt de weerstand met 3.3V tirnice.

Napajalni senzor lahko dobesedno obremeni vrata vhodov v tirnicah 3.3V, zaustavi, ozemlji v tleh v tleh in analogni izhod v A1, van fotona.

LCD-scherm wilt aansluiten werkt dat als volgt:

1. Verbindt de potenciometer a an het motherboard met 5V en de ground.

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

Pin 1, 5 in 16 van LCD na tleh. Pin 2 in 15 naar 5V.

Napajalni analogni izhodni potenciometer, srednji pin, 3 pin z LCD.

3. Verbindt de volgende fotonski zatiči na LCD -zatičih s skakalci.

Zatič D5 na sredini Pin 4

Zatič D4 na nožici 6

Zatič D3 na nožici 11

Pin D2 na pin Pin 12

Pin D1 na nožici 13

Zatič D0 na nožici 14

Če želite, da je fotonapetostno merilo potenciometra prilagojeno, je možno, da so na zaslonu blokirane plošče LCD-scherma.

9. korak: De Photon En Het LCD-Scherm v De Opstellingu

Plaats De Photon En Het LCD-Scherm v De Opstellingu
Plaats De Photon En Het LCD-Scherm v De Opstellingu

Benodigdheden:- Powerbank (opcioneel)

Nu de photon klaar for gebruik is an can deze op het plankje in de bak geplaatst worden en het LCD-scherm can the 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.

10. korak: Kalibreren (opcioneel)

Benodigdheden:

- Luchtvochtigheidssensor

- merilnik temperature

- Rolmaat

- Izhodna koda 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 temperaturni merilnik je lahko vgrajen v mehko temperaturno merilo z merilnikom temperature in senzorjem.

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 echte luchtvoch

In de bijgeleverde code zitten comments die aangeven waar dit soort kalibratie variabelen staan.

11. korak: Indeksni meter De Warmte je Klaar Voor Gebruik

Veel plezier!

Priporočena: