Innehållsförteckning:

Warmte Index Meter: 11 steg
Warmte Index Meter: 11 steg

Video: Warmte Index Meter: 11 steg

Video: Warmte Index Meter: 11 steg
Video: Камеры засняли последние минуты Дебани Эскобар 2024, Juli
Anonim
Warmte indexmätare
Warmte indexmätare

Med denna instruerbara kunskap kan du göra din egen värmeindexmätare.

En värmeindexmätare ger en känslomässig uppfattning på grundval av omgivningstemperaturen och luftfuktigheten.

Denna mätare är avsedd för inom, men jag kan inte använda mits för att ingen nelag ska användas och en vindplats kan användas.

Tillbehör

- Particle Photon met breadboard

- Temperatursensor (TMP36)

- Avståndssensor för avstånd mellan 10 och 20 cm.

- Powerbank

- 220 Ohm weerstand

- Brödbräda trådjes, 9+

- Mobiele telefon + dator

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plateje + wit papier

- Gewichtjes, denk aan kleine loodjes of metalen plate

Alternativ:

- LCD -skärm + 10k Ohm potentiometer + Man/Kvinna tröja, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Steg 1: De Photon Instellen

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

Benodigdheden:- Mobiltelefon

- Foton

- Dator

Ladda ner partikelappen på din telefon och gör ett partikelkonto.

Stoppa den usb-kabel van de foton i din dator, gör anspråk på foton och ställ in wifi.

Detta kan via setup.particle.io.

Steg 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

För att kunna göra en hydrometer för att ha en ontvette kan jag behöva minst 60 cm

De har inte kunnat bestämmas, eller de kan komma att tas ut (på egen risk).

Steg 3: Gör Een Horizontale Opstelling Med Daaraan Een Kastje

Maak Een Horizontal Opstelling Met Daaraan Een Kastje
Maak Een Horizontal Opstelling Met Daaraan Een Kastje
Maak Een Horizontal Opstelling Met Daaraan Een Kastje
Maak Een Horizontal Opstelling Met Daaraan Een Kastje
Maak Een Horizontal Opstelling Met Daaraan Een Kastje
Maak Een Horizontal Opstelling Met Daaraan Een Kastje

Benodigdheden:- Zeep

- Hout + lijm

- Gereedschap

Gör en ombyggnad där den horisontella parken kan sparas och den enda skyddade erbjuder

Ontvet de paardenhaar

Span de haar horizontalaal, för minimalt 50 cm. Det är nog att hon har tillräckligt med vikt att bekräfta (se följande stap)

Steg 4: Skapa ett foto för en LCD-skärm

Skapa ett foto för LCD-skärmen
Skapa ett foto för LCD-skärmen

Benodigdheden:- Hout en houtlijm

- Gereedschap: zaag

Gör en enkel träbak utan deksel med en träplanka som står i mitten som en delare. På denna plan måste brödbrädan med foton passera även om de kan användas tillsammans. Dessutom kan jag visa att baksidan kan skapas för LCD-skärmen. Det måste parallellt vara med det som planeras för att baka är gezet. Även om de är färdiga kan jag visa att den är bredvid att hon kan träffas på den kant där vikten ligger på hennes häng.

Steg 5: Maak Een Hefboom

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

Benodigdheden:- 2 potloden

- Kurk

- Kartonnen plateje + wit papier

- Gewichtjes

- Gereedschap: vijl en boor

Boor een gat in the kastje and place it korte potlood. Den långa potlood bör kunna användas så att denna på kort potlood kan balansera.

Plocka en med papperspapper under en plåt (i den här kartongen) och placera den här för att visa den utplacerade skivan.

Anslut de paardenhaar till de hefboom och balansera denna ut med en vikt (se bild 3 ringen).

Steg 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 (tillval)

- Extra tråd och lödsats (tillval)

Om du vill ha en avstånd på minst 12 cm kan du få en relativ luftfuktighet +- 60%.

Om det behövs kan du använda en enhet.

Om du vill avlägsna avståndssensorn kan du inte heller att de bakade träden behöver först.

Steg 7: Code Schrijven

Benodigdheden:- Computer met particle account

Gå till build.particle.io och gör en ny app till. Namn här till exempel HeatIndex.

Under bibliotek, sök LiquidCrystal och importera dessa i appen.

Den följande koden kan användas i appen:

Läs de kommentarer bra dörr om du vill börja med vilken kod kod som gäller.

Även om det finns ett problem som det är bra att kommentera.

// Inkludera följande bibliotek: #include #include

// De analoga läspinnarna för alla sensorer i denna byggnad:

int tempSensor = A0; int disSensor = A1;

// Publiceringsregler:

// Fördröjningstiden och händelsens namn för publicering. // Fördröjningstid i millisekunder. int delayTime = 15000; String eventName = "Faktisk_Temperatur";

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

// Display för flytande kristaller //////////////////// Initiera displayen med datastiften LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Ställ in gränser för värmeindexvärden

int försiktighet = 27; int eCD = 33; int fara = 40; int extrem = 52;

// Returnerar ett meddelande för ett specifikt värmeindexvärde.

Strängmeddelande (int hI) {if (hI <försiktighet) {return "Ingen försiktighet."; } if (hI <eCD) {return "Varning!"; } if (hI <fara) {return "Extremt försiktig!"; } if (hI <extrem) {return "Fara !!"; } returnera "EXTREME FARE !!"; }

// Meddelandet på displayens andra rad.

String message2 = "Faktiskt T:";

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

// Avståndssensorkod //////////////////////////////////////////////// ////////////////////////////////////// int minD = 2105; int maxD = 2754;

// Faktiska råvärden returnerade sensorn var 5 mm.

int tio = 2754; int tenP = 2691; int elva = 2551; int elevenP = 2499; int tolv = 2377; int tolvP = 2276; int tretton = 2206; int trettonP = 2198; int fjorton = 2105;

// Returnerar avståndet i cm som tillhör ett råvärde för varje 5 mm.

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

// Beräknar det faktiska avståndet i cm som avståndssensorn fångade.

float calculateDis (int start, float stop, int mätning) {float distance = getDis (start); flottörsteg = (stopp - start)/10; för (int i = 0; i <5; i ++) {if (mätning = (start-steg)) {returavstånd; } start = start - steg; avstånd = avstånd + 0,1; }}

// Kontrollerar de stora gränserna som avståndssensorn är däremellan.

flottöravstånd (int -mätning) {// Om avståndssensorn inte var mellan 10 och 14 cm, // vet vi inte det faktiska avståndet och avkastningen 10. if (mätning maxD) {retur 10,0; } if (mått <= trettonP) {returberäknaDis (trettonP, fjorton, mätning); } if (mätning <= tretton) {return calcDis (tretton, trettonP, mätning); } if (mått <= tolvP) {returberäknaDis (tolvP, tretton, mätning); } if (mätning <= tolv) {return beräknaDis (tolv, tolvP, mätning); } if (mätning <= elevenP) {return calculateDis (elevenP, tolv, mätning); } if (mätning <= elva) {return calculateDis (eleven, elevenP, mätning); } if (mätning <= tenP) {return calculateDis (tenP, elva, mätning); } if (mätning <= tio) {return calcDis (tio, tenP, mätning); } // Koden ska aldrig komma hit. avkastning -2; }

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

// Temperaturgivarkod ////////////////////////////////////////////// //////////////////////////////////////////////// /////////////////////////////////////////////////////////////// / // Maximal spänning i mV som används för temperaturgivaren. float maxV = 3300.0;

// Basspänningen och tillhörande temperatur som temperaturgivaren returnerar.

// Spänningen är i mV. int basV = 750; int basT = 25;

// Beräknar temperaturen från det uppmätta värdet vid den analoga stiftet.

float calculateTemp (int -mätning) {float -spänning = ((maxV/4096)*mätning); float diff = baseV - spänning; float temp = baseT - (diff/10); returtemp; }

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

// Fuktighetsberäkningar ///////////////////////////// //////////////////// ////////////////////////////////////// Variabler för luftfuktighetsberäkningar, // kommer från faktiska fuktsensorer. flyta h15 = 10,0; flyta h30 = 10,5; flyta h60 = 11,5; flyta h75 = 12,0; flyta h90 = 12,5; flyta steg H = 0,167;

// Returnerar den relativa luftfuktigheten för ett specifikt avståndsintervall.

int calcHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = rund (i1); int output = (start + (5*i)); returutgång; }

// Returnerar den relativa luftfuktigheten.

int luftfuktighet (float dis) {if (dis <= h30) {return calcHum (dis, h15, h30, 15); } if (dis <= h60) {return calculateHum (dis, h30, h60, 30); } if (dis <= h75) {return calculateHum (dis, h60, h75, 60); } if (dis <= h90) {return calculateHum (dis, h75, h90, 75); } returnera 100; }

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

// Värmeindexformel //////////////////////////// ////////////////////////////////////////// // Konstanter som används i värmeindexformeln float c1 = -8.78469475556; flottör c2 = 1.61139411; float c3 = 2.33854883889; flottör c4 = -0,14611605; flottör c5 = -0,0123008094; flyta c6 = -0,0164248277778; float c7 = 0,002211732; flottör c8 = 0,00072546; float c9 = -0.000003582;

// Värmeindexformeln som tar en temperatur och relativ luftfuktighet.

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

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

// Andra faktorer/variabler ////////////////////////////// ////////////////////////////////////////// ////////////////////////////////////////// Returnerar en strängrepresentation av en float avrundad till en decimal. Sträng rOne (float num) {int värde = rund (num*10); String output = (String) value; char end = output [strlen (output) -1]; int vänster = värde/10; Sträng börjar = (Sträng) vänster; retur start + "." + slut; }

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

/ All kod här bör köras en gång på Photon innan looping -funktionerna startar.

void setup () {// Ställ in LCD -skärmens antal kolumner och rader: lcd.begin (16, 2); }

// All kod här loopas och bör innehålla att hämta data, förfina den och lägga den online.

void loop () {// Få temperatur och luftfuktighet. float temp = calculateTemp (analogRead (tempSensor)); float dis = distance (analogRead (disSensor)); int hum = fuktighet (dis); Sträng fuktig = (String) hum; // Beräkna värmeindex. float hI = heatIndex (temp, hum); // Ställ in utmatningssträngen och skriv ut alla meddelanden på LCD -skärmen. Strängutgång = rOne (hI); lcd.setCursor (0, 0); lcd.print (meddelande (runda (hI))); lcd.setCursor (0, 1); lcd.print (meddelande2 + utgång + "C"); output = output + "" + fuktig; // Publicera värmeindexvärdena online och vänta innan du slingar igen. Particle.publish (eventName, output); delay (delayTime); }

Steg 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 och brödbräda

- Temperatursensor

- 220 Ohm återställning

- Afstandssensor

- LCD-skärm och 10k Ohm potentiometer (tillval)

- Genoeg breadboard trådjes, 9+

- Manlig/kvinnlig tröja, 12 (tillval)

Ansluter de 3,3V foton med + räls på samma kant och förbinder marken med räls.

Anslutning av 5V från foton till andra kant på de + rails vid die kant.

Stoppa temperatursensorn eller ergens med tillräckligt med utrymme i brödbrädan.

Anslutning av analoga utgångar av temperaturmätare med A0 av foton och jord med jordskenor.

Ställ in återställningen för ingången från sensorn och ansluta den igen med 3.3V -skenorna.

Den distanssensor som kan förbindas med inmatning i 3.3V -skenor stannar, jordas i markskenor och analoga utgångar i A1 -foton kan stoppas.

Om du vill att en LCD-skärm ska fungera som följande:

1. Anslutning av potentiometern till brödbrädan med 5V på marken.

2. Anslut de följande bygeltrådarna till LCD-skärmen där stift 1 har en riktning till skärmen.

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

Anslutning av analoga utgångar av potentiometer, medelstift, stift 3 av LCD.

3. Anslut de följande fotonstiftet till LCD -stift med bygeltråd.

Pin D5 till Pin 4

Pin D4 till Pin 6

Pin D3 till Pin 11

Pin D2 till Pin 12

Pin D1 till Pin 13

Pin D0 till Pin 14

Om fotonen nu är en status och en potentiometer kan den användas på LCD-skärmen.

Steg 9: Plaats De Photon En Het LCD-Scherm in De Opstelling

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

Benodigdheden:- Powerbank (tillval)

Nu är foton färdiga att använda om de kan placeras på plattan som har placerats på LCD-skärmen och inte kan användas. Nu är det ett bra ögonblick för att foton ska kunna dras på en powerbank, men det är naturligtvis inte obligatoriskt.

Steg 10: Kalibreren (tillval)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperaturmeter

- Rolmaat

- Kodutmatning för att kunna vänta på att de sensorer som är kända måste användas

Även om programvaran inte fungerar så bra kan de använda sensorerna för att de ska kunna kännas av de egna kalibrerna.

Temperaturmätaren kan enkelt göra en temperaturmätare för sensorer med en temperaturmätare.

För luftfartsskydd måste vi först avlägsna avläsaren för att kunna distansera med hjälp av en kompanjon och sedan kommer det att vara möjligt att använda luftfartsförmågan för att kunna meta och vergeleken med en verklig luftvaktmätare/sensor.

I de bijgeleverde koden kan vi kommentera vilka typer av kalibreringsvarianter som finns.

Steg 11: De Warmte Index -mätaren kan användas

Mycket roligare!

Rekommenderad: