Indholdsfortegnelse:

Warmte indeksmåler: 11 trin
Warmte indeksmåler: 11 trin

Video: Warmte indeksmåler: 11 trin

Video: Warmte indeksmåler: 11 trin
Video: Natuurkunde uitleg Warmte 4: Soortelijke Warmte 2024, November
Anonim
Warmte indeksmåler
Warmte indeksmåler

Med denne instruerbare kan du lave dine egne varme indeksmålere.

En varm indeksmåler giver den følelsesstemperatur op på basis af den omgivende temperatur og luftfartssikkerhed.

Denne måler er beregnet til inden for, men kan udenfor bruges, hvis der ikke bruges noget netlag, og en vindplads kan bruges.

Forbrugsvarer

- Particle Photon met breadboard

- Temperatursensor (TMP36)

- Afstandssensor for afstand mellem 10 og 20 cm.

- Batteri

- 220 Ohm weerstand

- Brødbræt trådjes, 9+

- Mobiele telefon + Computer

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plade + hvidpapir

- Gewichtjes, denk aan kleine loodjes of metalen plaatjes

Valgfri:

- LCD -skærm + 10k Ohm potentiometer + han/hun jumper trådjes, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Trin 1: De Photon Instellen

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

Benodigdheden:- Mobiltelefon

- Foton

- Computer

Download partikelappen på din telefon, og lav en partikelkonto.

Stop USB-kabelfaktoren i din computer, gør brug af foton og sæt wifi.

Dette kan via setup.particle.io.

Trin 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

For at gøre det muligt for hende at lave et hydrometer, kan du bruge en minimumsbredde på 60 cm

De har ikke kunnet afgøres, eller de kan blive opbevaret (på egen risiko).

Trin 3: Gør Een Horisontal Opstilling Med Daaraan Een Kastje

Maak Een Horisontal Opstilling Med Daaraan Een Kastje
Maak Een Horisontal Opstilling Med Daaraan Een Kastje
Maak Een Horisontal Opstilling Med Daaraan Een Kastje
Maak Een Horisontal Opstilling Med Daaraan Een Kastje
Maak Een Horisontal Opstilling Med Daaraan Een Kastje
Maak Een Horisontal Opstilling Med Daaraan Een Kastje

Benodigdheden:- Zeep

- Hout + lijm

- Gereedschap

Gør en ombygning, hvor den vandrette parkeringshøjde kan afspilles og tegneserie eneste beskyttelse

Ontvet de paardenhaar

Span de haar horizontaal, hos minimum 50 cm. Det er tilstrækkeligt, at jeg kan bruge det til at bekræfte (se følgende stap)

Trin 4: Gør et foto til en LCD-skærm

Brug et foto til LCD-skærmen
Brug et foto til LCD-skærmen

Benodigdheden:- Hout en houtlijm

- Gereedschap: zaag

Lav en enkel houten bag uden dæksel med en planke, der dør i midten, som en skillelinje. På denne planke skal brødbrættet med de fotoniske passagerer også bruges, hvis de kan bruges sammen. Desuden kan den ene side af den bakke, der er lavet til LCD-skærmen. Dette skal parallelt være med det plan, der skal bruges. Hvis de er færdige, kan de også vise, at de kan sidde ved siden af, at hun kan blive sammen med den kant, hvor vægtene på hendes hænger.

Trin 5: Maak Een Hefboom

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

Benodigdheden:- 2 potloden

- Kurk

- Kartonnen plade + hvidpapir

- Gewichtjes

- Gereedschap: vijl en boor

Boor een gat i det kastje og sted det korte potlood. Den lange potlood burde blive udført, så denne på den korte potlood kan balancere.

Læg en med papir i en plade (i dette tilfælde karton) og placer denne på den anden side af den hefboom.

Forbind de paardenhaar til de hefboom og balance denne ud med en vægtje (se billede 3 ringen).

Trin 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 (ekstraudstyr)

- Ekstra tråd og loddesæt (ekstraudstyr)

Til valg med en afstand på mindst 12 cm til en relativ luftfartssikkerhed fra +- 60%.

Hvis der er behov for en opzetstukje.

Hvis de fjernbetjening af afstandssensoren ikke kan træne, skal vi først forlade den.

Trin 7: Code Schrijven

Benodigdheden:- Computer med partikelkonto

Gå til build.particle.io og lav en ny app til. Noem denne eksempelvis HeatIndex.

Under biblioteker kan du søge efter LiquidCrystal og importere disse i appen.

Derefter kan følgende kode blive anvendt i appen:

Læs de kommentarer godt døren, da du vil begynde, hvad en elk stykkeje kode præcis gør.

Også, hvis der er et problem, er det godt at kommentere på råd.

// Inkluder følgende biblioteker: #include #include

// De analoge læsestifter til alle sensorer i denne build:

int tempSensor = A0; int disSensor = A1;

// Udgivelsesregler:

// Forsinkelsestid og hændelsesnavn for udgivelse. // Forsinkelse i millisekunder. int delayTime = 15000; String eventName = "Faktisk_Temperatur";

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

// Liquid crystal display code ////////////////////////////////////////////////// //////////////////// // Initialiser displayet med datapinnene LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Indstil grænser for varmeindeksværdier

int forsigtighed = 27; int eCD = 33; int fare = 40; int ekstrem = 52;

// Returnerer en meddelelse for en bestemt varmeindeksværdi.

Stringbesked (int hI) {if (hI <forsigtighed) {return "Ingen forsigtighed."; } if (hI <eCD) {return "Forsigtig!"; } hvis (hI <fare) {return "Ekstrem forsigtighed!"; } hvis (hI <ekstrem) {return "Fare !!"; } returner "EKSTREM FARE !!"; }

// Meddelelsen på displayets anden linje.

String message2 = "Faktisk T:";

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

// Distance sensor code ////////////////////////////////////////////////////// //////////////////////////////////////////////// Minimum og maksimal råværdi sensoren returnerer. int minD = 2105; int maxD = 2754;

// Faktiske råværdier returnerede sensoren hver 5 mm.

int ti = 2754; int tenP = 2691; int eleven = 2551; int elevenP = 2499; int tolv = 2377; int tolvP = 2276; int tretten = 2206; int trettenP = 2198; int fjorten = 2105;

// Returnerer afstanden i cm, der tilhører en råværdi for hver 5 mm.

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

// Beregner den faktiske afstand i cm, som afstandssensoren fangede.

float calculateDis (int start, float stop, int måling) {float distance = getDis (start); flyde trin = (stop - start)/10; for (int i = 0; i <5; i ++) {if (måling = (start-trin)) {returafstand; } start = start - trin; afstand = afstand + 0,1; }}

// Kontrollerer de store grænser afstandssensoren er imellem.

flydeafstand (int måling) {// Hvis afstandssensoren ikke var mellem 10 og 14 cm, // kender vi ikke den faktiske afstand og returnerer 10. if (måling maxD) {retur 10,0; } if (måling <= trettenP) {return calcDis (trettenP, fjorten, måling); } hvis (måling <= tretten) {return calcDis (tretten, trettenP, måling); } hvis (måling <= tolvP) {return calcDis (tolvP, tretten, måling); } hvis (måling <= tolv) {return calcDis (tolv, tolvP, måling); } if (måling <= elevenP) {return calcDis (elevenP, tolv, måling); } hvis (måling <= elleve) {return calcDis (eleven, elevenP, måling); } hvis (måling <= tenP) {return calcDis (tenP, eleven, måling); } hvis (måling <= ti) {return calcDis (ti, tenP, måling); } // Kode bør aldrig komme her. return -2; }

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

// Temperatursensorkode ///////////////////////////////////////////////// //////////////////////////////////////////////////// ////////////////////////////////////////////////// / // Den maksimale spænding i mV, der bruges til temperatursensoren. float maxV = 3300,0;

// Grundspænding og ledsagende temperatur, som temperatursensoren returnerer.

// Spændingen er i mV. int baseV = 750; int baseT = 25;

// Beregner temperaturen ud fra den målte værdi ved den analoge pin.

float calculatemp (int måling) {float spænding = ((maxV/4096)*måling); float diff = baseV - spænding; flyde temp = baseT - (diff/10); retur temp; }

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

// Fugtighedsberegninger ////////////////////////////////////////// ////////////////////////////////////// // Variabler til fugtighedsberegninger // kommer fra faktiske fugtighedsfølere. flyde h15 = 10,0; flyde h30 = 10,5; flyde h60 = 11,5; flyde h75 = 12,0; flyde h90 = 12,5; flyde trin H = 0,167;

// Returnerer den relative luftfugtighed for et bestemt afstandsområde.

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

// Returnerer den relative luftfugtighed.

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

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

// Varmeindeksformel ////////////////////////////////////////////////////// //////////////////////////////////////////// Konstanter brugt i varmeindeks formel float c1 = -8.78469475556; float c2 = 1.61139411; float c3 = 2,33854883889; float c4 = -0,14611605; float c5 = -0,0123008094; float c6 = -0,0164248277778; float c7 = 0,002211732; float c8 = 0,00072546; float c9 = -0.000003582;

// Formlen for varmeindeks, der tager en temperatur og relativ luftfugtighed.

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

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

// Andre påvirkninger/variabler //////////////////////////////////////////////// /////////////////////////////////////////////// ////////////////////////////////////////// Returnerer en strengrepræsentation af en float afrundet ned til en decimal. String rOne (float num) {int værdi = rund (num*10); String output = (String) værdi; char end = output [strlen (output) -1]; int venstre = værdi/10; Streng begynder = (streng) tilbage; return begin + "." + ende; }

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

/ Al kode her skal køres en gang på Photon, før looping -funktionerne starter.

void setup () {// Konfigurer LCD's antal kolonner og rækker: lcd.begin (16, 2); }

// Alle koder her sløjfes og skal indeholde hentning af data, forfining af dem og sætte dem online.

void loop () {// Få temperatur og fugtighed. float temp = calculatemp (analogRead (tempSensor)); float dis = distance (analogRead (disSensor)); int hum = fugtighed (dis); String fugtig ((String) hum; // Beregn varmeindekset. float hI = heatIndex (temp, hum); // Konfigurer outputstrengen, og udskriv alle meddelelser på LCD -displayet. String output = rOne (hI); lcd.setCursor (0, 0); lcd.print (meddelelse (rund (hI))); lcd.setCursor (0, 1); lcd.print (meddelelse2 + output + "C"); output = output + "" + fugtigt; // Publicer varmeindeksværdierne online og vent, før du går i loop igen. Particle.publish (eventName, output); forsinkelse (delayTime); }

Trin 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 og brødbræt

- Temperatursensor

- 220 Ohm weerstand

- Afstandssensor

- LCD-skærm og 10k Ohm potentiometer (ekstraudstyr)

- Genoeg brødbræt trådjes, 9+

- Han/hun jumper trådjes, 12 (valgfri)

Forbindelse af 3,3V med de + skinner til samme kant og forbinder jord til skinner.

Forbindelse af 5V af foton til de andre kant på de + skinner til die kant.

Stop temperatursensoren med masser af plads til brødbrættet.

Forbindelse af analoge udgange af temperaturfølere med A0 og de jord med skinner.

Gendan stander for input af sensor og tilslutter weerstand med 3.3V skinner.

Den afstandssensor, der kan bruges til indgang i 3.3V -skinner, stopper, jordes i jordskinner og analoge output i A1, og foton stopper.

Som en LCD-skærm vil det kunne fungere som følgende:

1. Forbindelse af potentiometer til brødbræt med 5V på jorden.

2. Tilslutning af følgende jumpertråd til LCD-skærmen, hvor pin 1 har en visning af rand på skærmen.

Pin 1, 5 og 16 fra LCD til jorden. Pin 2 og 15 naar 5V.

Tilslutning af analoge output af potentiometer, middelstik, met pin 3 af LCD.

3. Forbind de følgende foton pins til LCD ben med jumper tråde.

Pin D5 til Pin 4

Pin D4 til Pin 6

Pin D3 til Pin 11

Pin D2 til Pin 12

Pin D1 til Pin 13

Pin D0 til Pin 14

Som de fotoner, der nu er angivet, og det potentiometer, der skal bruges, skal opbevares på LCD-skærmen med forskellige forskelle.

Trin 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 (ekstraudstyr)

Nu kan fotonen være klar til brug, da den kan placeres på LCD-skærmen, og den kan ikke placeres. Nu er det et godt øjeblik, hvor de foton, der kan hentes på en powerbank, men det er naturligvis ikke obligatorisk.

Trin 10: Kalibreren (valgfri)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperaturmeter

- Rolmaat

- Kodeudlæsning for at kunne vente på, at de følelsesmæssige data skal bruges

Hvis softwaren ikke kan blive ved med at fungere med sensoren, kan den bruges til at registrere den selv.

Temperaturmålerne kan uden problemer foretages med målinger med en temperaturmåler til registrering af sensoren.

For luftfartssikkerheden skal først den afstandssensor, der skal kalibreres, kunne bruges på afstand med hjælp af en kamerapartner, og derefter vil den muligvis kunne meddele, at luftfartssikkerheden er god til at mete og opdage en virkelig luftvagtmåler/sensor.

I den bijgeleverde kode zitten kommentarer, der angives, hvor denne kalibreringsvariabel står.

Trin 11: De Warmte Index Meter kan bruges til brug

Mange steder!

Anbefalede: