Innholdsfortegnelse:

Warmte Index Meter: 11 trinn
Warmte Index Meter: 11 trinn

Video: Warmte Index Meter: 11 trinn

Video: Warmte Index Meter: 11 trinn
Video: Дешевое отопление из алюминия 2024, November
Anonim
Warmte indeksmåler
Warmte indeksmåler

Med denne instruerbare kan du lage din egen varme indeksmåler.

En varm indeksmåler gir den følelsesstemperaturen på grunnlag av omgivelsestemperaturen og luftfuktigheten.

Denne måleren er beregnet for innendørs, men jeg kan også bruke den uten at det er noe slikt som skal brukes.

Rekvisita

- Particle Photon met breadboard

- Temperatursensor (TMP36)

- Avstandssensor for avstand mellom 10 og 20 cm.

- Powerbank

- 220 Ohm weerstand

- Brødbrett trådjes, 9+

- Mobiltelefon + Datamaskin

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plate + wit papier

- Gewichtjes, denk aan kleine loodjes of metalen plate

Alternativ:

- LCD -skjerm + 10k Ohm potensiometer + Mann/Kvinne jumper trådjes, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Trinn 1: De Photon Instellen

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

Benodigdheden:- Mobiltelefon

- Foton

- Datamaskin

Last ned partikkelappen på en telefon og lag en partikkelkonto.

Stopp USB-kabelen for fotonene på datamaskinen din, gjør krav på fotonene og sett opp wifi.

Dette kan via setup.particle.io.

Trinn 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

For å kunne lage et hydrometer for å kunne bruke den, må du ha minst 60 cm

De kan ikke bestemmes, eller de kan oppbevares (på egen risiko).

Trinn 3: Gjør Een Horisontal Opstilling Med 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

Gjør en konstruksjon hvor den horisontale parken kan bli spandert og tegnet av en eneste beskyttelse

Ontvet de paardenhaar

Span de haar horizontaal, for minimum 50 cm. Det er tilstrekkelig å ha den høyeste og den tyngde å bekrefte (se følgende stap)

Trinn 4: Bruk en LCD-skjerm

Bruk en LCD-skjerm
Bruk en LCD-skjerm

Benodigdheden:- Hout en houtlijm

- Gereedschap: zaag

Lag en enkel trebak uten deksel med en planke i midten som en skillelinje. På denne planken må brødbrettet med fotonene passasjerer som de kan bruke for å bli sammen. Deretter kan en av de bakkantene som ble laget for LCD-skjermen. Det må være parallelt med planleggingen av det i baken. Hvis de er klare, kan de også vise at de kan samsvare med hvor mye vekt den kan henge på.

Trinn 5: Maak Een Hefboom

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

Benodigdheden:- 2 potloden

- Kurk

- Kartonnen plate + wit papier

- Gewichtjes

- Gereedschap: vijl en boor

Boor en gat in the kastje and place the korte potlood. Den lange potlood -tjenesten skal bli utført slik at denne på den korte potlooden kan balansere.

Legg en med papir i en plate (i dette tilfellet kartong) og plasser denne til å vise den ut av hefboom.

Koble de paardenhaar til de hefboom og balanserer denne ut med en vekt (se bilde 3 ringen).

Trinn 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 (tilleggsutstyr)

- Ekstra tråd og loddesett (valgfritt)

Spesielt tilgjengelig med en avstand på minst 12 cm til en relativ luftfuktighet på +- 60%.

Dersom det er nødvendig med en oppgave.

Hvis du trenger å fjerne avstandssensoren, kan ikke de houten bakene først slettes.

Trinn 7: Code Schrijven

Benodigdheden:- Computer met particle account

Gå til build.particle.io og gjør en ny app til. Noem denne for eksempel HeatIndex.

Under biblioteker, søker LiquidCrystal og importer denne i appen.

Den følgende koden kan brukes i appen:

Les de kommentarene godt dør som du vil begynne med hva som alle deler av koden krever.

Også som et problem er det godt å kommentere rådene.

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

// De analoge lesepinnene for alle sensorer i denne bygningen:

int tempSensor = A0; int disSensor = A1;

// Publiseringsregler:

// Forsinkelsestid og hendelsesnavn for publisering. // Forsinkelse i millisekunder. int delayTime = 15000; String eventName = "Faktisk_Temperatur";

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

// Displayskode for flytende krystall //////////////////// // Initialiser displayet med datapinnene LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Sett opp grenser for varmeindeksverdier

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

// Returnerer en melding for en bestemt varmeindeksverdi.

String melding (int hI) {if (hI <forsiktig) {return "Ingen forsiktighet."; } if (hI <eCD) {return "Forsiktig!"; } if (hI <fare) {return "Ekstrem forsiktighet!"; } hvis (hI <ekstrem) {return "Fare !!"; } returner "EKSTREM FARE !!"; }

// Meldingen på den andre linjen i displayet.

String message2 = "Faktisk T:";

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

// Avstandssensorkode ////////////////////////////////////////////////////// ////////////////////////////////////// int minD = 2105; int maxD = 2754;

// Faktiske råverdier returnerte sensoren hver 5 mm.

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

// Returnerer avstanden i cm som tilhører en råverdi for hver 5 mm.

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

// Beregner den faktiske avstanden i cm som avstandssensoren fanget.

float calculateDis (int start, float stop, int måling) {float distance = getDis (start); flytetrinn = (stopp - start)/10; for (int i = 0; i <5; i ++) {if (måling = (start-trinn)) {returavstand; } start = start - trinn; avstand = avstand + 0,1; }}

// Kontrollerer de store grensene avstandssensoren er mellom.

flyte avstand (int måling) {// Hvis avstandssensoren ikke var mellom 10 og 14 cm, // kjenner vi ikke den faktiske avstanden og returnerer 10. if (måling maxD) {retur 10,0; } if (måling <= trettenP) {retur calcDis (trettenP, fjorten, måling); } if (måling <= tretten) {retur calcDis (tretten, trettenP, måling); } if (måling <= tolvP) {retur beregneDis (tolvP, tretten, måling); } if (måling <= tolv) {retur calcDis (tolv, tolvP, måling); } if (måling <= elevenP) {retur calcDis (elevenP, tolv, måling); } if (måling <= elleve) {retur calcDis (elleve, elleveP, måling); } if (måling <= tenP) {retur calcDis (tenP, elleve, måling); } if (måling <= ti) {return calculateDis (ti, tenP, måling); } // Koden skal aldri komme hit. retur -2; }

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

// Temperatursensorkode ////////////////////////////////////////////// ////////////////////////////////////// //////////////////////////////////////////// / // Maksimal spenning i mV som brukes for temperatursensoren. float maxV = 3300.0;

// Basisspenningen og tilhørende temperatur som temperatursensoren returnerer.

// Spenningen er i mV. int baseV = 750; int baseT = 25;

// Beregner temperaturen fra måleverdien ved den analoge pinnen.

float calculateTemp (int måling) {float voltage = ((maxV/4096)*måling); float diff = baseV - spenning; flyte temp = baseT - (diff/10); retur temp; }

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

// Fuktighetsberegninger /////////////////////////////// ////////////////////////////////////// // Variabler for fuktighetsberegninger // kommer fra faktiske fuktighetssensorer. flyte h15 = 10,0; flyte h30 = 10,5; flyte h60 = 11,5; flyte h75 = 12,0; flyte h90 = 12,5; flytetrinn H = 0,167;

// Returnerer den relative fuktigheten for et bestemt avstandsområ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)); returutgang; }

// Returnerer den relative fuktigheten.

int fuktighet (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); } returnere 100; }

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

// Varmeindeksformel //////////////////////////// ///////////////////////' flyte c2 = 1.61139411; flyte c3 = 2.33854883889; flyte c4 = -0,14611605; flyte c5 = -0,0123008094; flyte c6 = -0,0164248277778; flyte c7 = 0,002211732; flyte c8 = 0,00072546; flyte c9 = -0.000003582;

// Varmeindeksformelen som tar en temperatur og relativ fuktighet.

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 virkninger/variabler //////////////////////////// ///////////////////////////////////////// /////////////////////////////////////////// Returnerer en strengrepresentasjon av en float avrundet ned til en desimal. String rOne (float num) {int verdi = rund (num*10); Strengutgang = (String) verdi; char end = output [strlen (output) -1]; int venstre = verdi/10; Streng begynner = (String) venstre; retur start + "." + slutt; }

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

/ All kode her bør kjøres en gang på Photon før looping -funksjonene starter.

ugyldig oppsett () {// Sett opp LCD -antallet kolonner og rader: lcd.begin (16, 2); }

// All kode her sløyfes og skal inneholde å hente data, finpusse det og sette det på nettet.

void loop () {// Få temperatur og fuktighet. float temp = calculatemp (analogRead (tempSensor)); float dis = distance (analogRead (disSensor)); int hum = fuktighet (dis); Streng fuktig = (String) nynn; // Beregn varmeindeksen. float hI = heatIndex (temp, hum); // Sett opp utdatastrengen og skriv ut alle meldingene på LCD -skjermen. Strengutgang = rOne (hI); lcd.setCursor (0, 0); lcd.print (melding (rund (hI))); lcd.setCursor (0, 1); lcd.print (melding2 + utgang + "C"); output = output + "" + fuktig; // Publiser varmeindeksverdiene på nettet og vent før du sløyfer igjen. Particle.publish (eventName, output); forsinkelse (delayTime); }

Trinn 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ødbrett

- Temperatursensor

- 220 Ohm weerstand

- Afstandssensor

- LCD-skjerm og 10k Ohm potensiometer (valgfritt)

- Genoeg breadboard trådjes, 9+

- Genser for mann/kvinne, 12 (tilleggsutstyr)

Forbindelse til 3,3V med foton med + skinner på samme kant og kobler jord til skinner.

Kobler de 5V av fotonen til de andre kantene på de + rails aan die kant.

Stopp av temperatursensor ergens med nok plass eromheen i breadboard.

Forbindelse av analoge utganger av temperatursensor med A0 -foton og bakken med jordskinner.

Gjør gjenstand for sensorinngang og tilkobling til gjenstand med 3.3V -skinner.

Avstandssensoren kan bli verbet med inngang i 3,3V -skinner som stopper, bakker i jordskinner og analoge utganger i A1 og fotonene stopper.

Som en LCD-skjerm vil du kunne kombinere følgende:

1. Potensiometerforbindelser til brødbrettet med 5V på bakken.

2. Forbindelser til de følgende jumper-trådene til LCD-skjermen, hvor pin 1 har en visning av randen på skjermen.

Pin 1, 5 og 16 av LCD til bakken. Pin 2 en 15 naar 5V.

Forbindelse av analog utgang av potensiometer, middelste pin, med pin 3 av LCD.

3. Koble de følgende fotonpinnene til LCD -pinner med jumpertråder.

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 fotografiet kan en status og et potensiometer må brukes på LCD-skjermblokkene.

Trinn 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 (tilleggsutstyr)

Nå er fotonene klare for bruk og kan brukes på planen som er plassert på LCD-skjermen. Nå er det et godt øyeblikk for at fotonene kan lagres på en powerbank, men dette er naturligvis ikke obligatorisk.

Trinn 10: Kalibreren (valgfritt)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperaturmeter

- Rolmaat

- Kodeutdata for å kunne avvente at de kjennetegnene må kjennes

Hvis programvaren ikke alltid fungerer som den skal, kan den brukes til å kjenne den selv.

Temperaturmåleren kan enkelt gjøre en temperaturmåler som kan måles med sensoren.

For luftfartssikkerheten må først avstandssensoren bli kalibrert på avstand med hjelp av en venn og deretter vil det være mulig at luftfuktigheten er god til å oppfatte og oppdage en ekte luftvaktmåler/sensor.

I den bijgeleverde koden kan vi kommentere den samme typen kalibreringsvariabler.

Trinn 11: De Warmte Index Meter er klar til bruk

Mye hyggeligere!

Anbefalt: