Sadržaj:

Warmte indeksni mjerač: 11 koraka
Warmte indeksni mjerač: 11 koraka

Video: Warmte indeksni mjerač: 11 koraka

Video: Warmte indeksni mjerač: 11 koraka
Video: Терренс Дикон раскрывает скрытую связь: сознание и энтропия 2024, Srpanj
Anonim
Warmte indeksni mjerač
Warmte indeksni mjerač

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.

Pribor

- Foton čestica našao se na ploči

- Senzor temperature (TMP36)

- Stalak za stajanje 10 i 20 cm.

- Moćna banka

- 220 ohmski nosač

- Breadboard draadjes, 9+

- Mobilni telefon + računalo

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Uf

- 2 potloden- Kurk

- Kartonnen plaatje + pamet papir

- Gewichtjes, denk aan kleine loodjes od metalen plaatjes

Opcija:

- LCD scherm + 10k Ohm potenciometar + muški/ženski skakači, 12

- Luchtvochtigheidsmetar

- Temperatuurmetar- Rolmaat

Korak 1: De Photon Instellen

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

Benodigdheden:- Mobilni telefon

- Foton

- Računalo

Preuzmite aplikaciju za čestice na telefonu i otvorite račun za čestice.

Zaustavite usb-kabel van fotona u računalu, položite zahtjev za fotonom i bežičnim internetom.

Upišite to putem setup.particle.io.

Korak 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

Za het maken van de haar-hidrometar 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 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

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

Korak 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 met een houten plank die in het midden staat als een delilac. 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 voor het LCD-scherm. Dit gat moet parallel 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.

Korak 5: Maak Een Hefboom

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

Benodigdheden:- 2 potlodena

- Kurk

- Kartonnen plaatje + pamet 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:

- Afstandsensor

- Opzetstukje (optioneel)

- Extra draad en soldeer set (optioneel)

Bij voorkeur met een afen 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.

Korak 7: Šifra Schrijven

Benodigdheden:- Računalo je upoznalo račun čestica

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

U knjižnicama, preuzmite LiquidCrystal i uvezite aplikaciju u aplikaciju.

Dan kan de volgende code gekopieerd worden u aplikaciji:

Dopustite komentare 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.

// Uključuje sljedeće knjižnice: #include #include

// Analogni pinovi za čitanje za sve senzore u ovoj verziji:

int tempSensor = A0; int dissenzor = A1;

// Pravila objavljivanja:

// Vrijeme kašnjenja i naziv događaja za objavljivanje. // Vrijeme kašnjenja u milisekundama. int delayTime = 15000; String eventName = "Stvarna_temperatura";

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

// Kod za prikaz tekućih kristala ////////////// // ///////////////////////////////// //////////////////// // Pokretanje zaslona s pinovima podataka LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Postavljanje granica za vrijednosti indeksa topline

int oprez = 27; int eCD = 33; int opasnost = 40; int extreme = 52;

// Vraća poruku za određenu vrijednost indeksa topline.

Poruka niza (int hI) {if (hI <oprez) {return "Bez opreza."; } if (hI <eCD) {vrati "Oprez!"; } if (hI <opasnost) {return "Krajnji oprez!"; } if (hI <ekstremno) {vrati "Opasnost !!"; } return "IZUZETNA OPASNOST !!"; }

// Poruka u drugom retku zaslona.

String message2 = "Stvarni T:";

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

// Kod senzora udaljenosti /////////////////////////////// ////////////////// ////////////////////////////////////////// // Minimalne i maksimalne sirove vrijednosti senzor vraća. int minD = 2105; int maxD = 2754;

// Stvarne sirove vrijednosti senzor vraća svakih 5 mm.

int deset = 2754; int tenP = 2691; int jedanaest = 2551; int jedanaestP = 2499; int dvanaest = 2377; int dvanaestP = 2276; int trinaest = 2206; int trinaestP = 2198; int četrnaest = 2105;

// Vraća udaljenost u cm koja pripada sirovoj vrijednosti za svakih 5 mm.

float getDis (int number) {switch (number) {case 2754: return 10; slučaj 2691: povrat 10,5; slučaj 2551: povratak 11; slučaj 2499: povrat 11,5; slučaj 2377: povratak 12; slučaj 2276: povrat 12,5; slučaj 2206: povrat 13; slučaj 2198: povrat 13,5; predmet 2105: povrat 14; }}

// Izračunava stvarnu udaljenost u cm koju je zabilježio senzor udaljenosti.

float CalcuDis (int start, float stop, int mjerenje) {float distance = getDis (start); float step = (stop - start)/10; za (int i = 0; i <5; i ++) {if (mjerenje = (start-korak)) {povratna udaljenost; } start = start - korak; udaljenost = udaljenost + 0,1; }}

// Provjerava velike granice između kojih se nalazi senzor udaljenosti.

plutajuća udaljenost (int mjerenje) {// Ako senzor udaljenosti nije bio između 10 i 14 cm, // ne znamo stvarnu udaljenost i povratak 10. if (mjerenje maxD) {povratak 10,0; } if (mjerenje <= trinaestP) {return izračunavanjeDis (trinaestP, četrnaest, mjerenje); } if (mjerenje <= trinaest) {return CalcuDis (trinaest, trinaestP, mjerenje); } if (mjerenje <= dvanaest P) {povratak izračunatiDis (dvanaest P, trinaest, mjerenje); } if (mjerenje <= dvanaest) {return CalcuDis (dvanaest, dvanaestP, mjerenje); } if (mjerenje <= jedanaestP) {return izračunavanjeDis (jedanaestP, dvanaest, mjerenje); } if (mjerenje <= jedanaest) {return CalcuDis (jedanaest, jedanaestP, mjerenje); } if (mjerenje <= tenP) {return CalcuDis (tenP, jedanaest, mjerenje); } if (mjerenje <= deset) {return izračunavanjeDis (deset, desetP, mjerenje); } // Kod nikada ne smije doći ovdje. povrat -2; }

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

// Kod senzora temperature ///////////////////////////////////////////////// //////////////// //////////////////////////////////////// ////////////////////////////////////////////////////////// / // Najveći napon u mV koji se koristi za osjetnik temperature. plovak maxV = 3300,0;

// Bazni napon i popratna temperatura koju senzor temperature vraća.

// Napon je u mV. int bazaV = 750; int bazaT = 25;

// Izračunava temperaturu iz izmjerene vrijednosti na analognom pinu.

float CalcuTemp (int mjerenje) {plivajući napon = ((maxV/4096)*mjerenje); float diff = baseV - napon; temp. plovka = baseT - (razlika/10); povratna temp; }

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

// Izračuni vlažnosti /////////////////////////// /////////////////////// ////////////////////////////////// Varijable za proračun vlažnosti, // dolaze od stvarnih senzora vlažnosti. plovak h15 = 10,0; plovak h30 = 10,5; plovak h60 = 11,5; plovak h75 = 12,0; plovak h90 = 12,5; plivajući korakH = 0,167;

// Vraća relativnu vlažnost zraka za određeni raspon udaljenosti.

int izračunatiHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; plovak i1 = razlika/korakH; int i = okruglo (i1); int izlaz = (početak + (5*i)); povratni izlaz; }

// Vraća relativnu vlažnost.

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

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

// Formula indeksa topline //////////////////////////////// ////////////////// /////////////////////////////////////// // Konstante korištene u formuli indeksa topline plovak c1 = -8.78469475556; plovak c2 = 1,61139411; plovak c3 = 2,33854883889; plovak c4 = -0,14611605; plovak c5 = -0,0123008094; plovak c6 = -0,0164248277778; plovak c7 = 0,002211732; plovak c8 = 0,00072546; plovak c9 = -0,000003582;

// Formula indeksa topline koja uzima temperaturu i relativnu vlažnost.

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

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

// Ostale fukcije/varijable //////////////////////////////////////////////// ////// //////////////////////////////////////////////////// /////////////////////////////////////// // Vraća prikaz niza plutajućeg zareza zaokruženog na jednu decimalu. String rOne (float num) {int value = round (num*10); String output = (String) vrijednost; char end = output [strlen (output) -1]; int lijevo = vrijednost/10; String begin = (String) left; return start + "." + kraj; }

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

/ Sav kôd ovdje treba pokrenuti jednom na Photonu prije nego što počnu funkcije petlje.

void setup () {// Postavljanje broja stupaca i redaka LCD -a: lcd.begin (16, 2); }

// Sav se kôd ovdje petlja i trebao bi sadržavati dobivanje podataka, njihovo oplemenjivanje i stavljanje na mrežu.

void loop () {// Dobijte temperaturu i vlažnost. float temp = CalcuTemp (analogRead (tempSensor)); float dis = udaljenost (analogno čitanje (disSensor)); int hum = vlaga (dis); Gudač vlažan = (Gudač) hum; // Izračunajte toplinski indeks. float hI = heatIndex (temp, hum); // Postavljanje izlaznog niza i ispis svih poruka na LCD zaslonu. Izlaz niza = rOne (hI); lcd.setCursor (0, 0); lcd.print (poruka (okrugla (hI))); lcd.setCursor (0, 1); lcd.print (poruka2 + izlaz + "C"); izlaz = izlaz + "" + vlažan; // Objavite vrijednosti indeksa topline na mreži i pričekajte prije ponovne petlje. Particle.publish (eventName, output); delay (delayTime); }

Korak 8: 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 i matična ploča

- Senzor temperature

- 220 ohmski nosač

- Razume senzor

- LCD-scherm i 10k Ohm potenciometar (opcionalno)

- Genovačke matične ploče draadjes, 9+

- muški/ženski skakač draadjes, 12 (opcioneel)

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

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

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

Verbindt de analog analog output van de temperatuursensor met A0 van de photon en de ground met de ground trails.

Zet de weerstand for input de input van de sensor en verbindt de weerstand met 3.3V tračnice.

Defastandenzor može višestruko opteretiti vrata ulaza u 3.3 V tračnice koje su zaustavljene, uzemljene u dezemne tračnice i analogni izlaz u A1 van de fotona.

Osim toga, LCD-scherm wilt aansluiten werkt dat als volgt:

1. Verbindt de potenciometer a 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 i 16 van LCD zaslona na zemlji. Pin 2 i 15 na 5V.

Verbindt za analogni izlaz van potenciometra, srednji pin, sa pin 3 za LCD.

3. Verbindt de volgende fotonske pinove na LCD pinovima sa skakačima.

Pin D5 na pin Pin 4

Pin D4 na pin Pin 6

Pin D3 na Pin 11

Pin D2 na pin Pin 12

Pin D1 na Pin 13

Pin D0 na pin Pin 14

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

Korak 9: De Photon En Het LCD-Scherm u De Opstellingu

De Photon En Het LCD-Scherm u De Opstellingu
De Photon En Het LCD-Scherm u De Opstellingu

Benodigdheden:- Powerbank (opcionalno)

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

Korak 10: Kalibreren (opcioneel)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperatuurmetar

- Rolmaat

- Kodni izlaz za 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 echte luchtvoch

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

Korak 11: De Warmte indeksni mjerač je Klaar Voor Gebruik

Veel plezier!

Preporučeni: