Talaan ng mga Nilalaman:

Warmte Index Meter: 11 Mga Hakbang
Warmte Index Meter: 11 Mga Hakbang

Video: Warmte Index Meter: 11 Mga Hakbang

Video: Warmte Index Meter: 11 Mga Hakbang
Video: PAANO BUMASA NG METRO | How to read a Steel Tape Measure 2024, Nobyembre
Anonim
Warmte Index Meter
Warmte Index Meter

Nakakatagpo ng pagtuturo para sa je je eigen warmte index meter maken.

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

Ang metro ng gulong ay bedoeld voor binnen maar para buiten worden gebruikt mits er geen neerslag valt en er een windvrij plekje wordt gebruikt.

Mga gamit

- Nakilala ng Particle Photon ang breadboard

- Temperatuursensor (TMP36)

- Afstandssensor voor afstanden tussen 10 en 20 cm.

- Powerbank

- 220 Ohm naiintindihan natin

- Breadboard draadjes, 9+

- Mobiele telefoon + Computer

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine / schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plaatje + wit papier

- Gewichtjes, denk aan kleine loodjes ng metalen plaatjes

Optioneel:

- LCD scherm + 10k Ohm potentiometer + Lalaki / Babae na jumper draadjes, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Hakbang 1: De Photon Instellen

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

Benodigdheden: - Mobiele telefoon

- Photon

- Computer

I-download ang app ng maliit na butil sa iyong telepono sa loob ng maliit na account ng maliit na butil.

Ihinto ang de usb-kabel van de photon sa computer, i-claim ang photon en stel de wifi in.

Dit kan sa pamamagitan ng setup.particle.io.

Hakbang 2: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden: - Bayad

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

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

Hakbang 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 kay worden gespannen en die tegelijkertijd enige bescherming biedt

Ontvet de paardenhaar

Span de haar horizontaal, bij voorkeur minimaal 50 cm. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

Hakbang 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 para sa iyo

- Gereedschap: zaag

Maak een simpele houten bak zonder deksel met een houten plank die in het midden staat als een divider. Op deze plank moet het breadboard 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. Narito ang iyong kahilera 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.

Hakbang 5: Maak Een Hefboom

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

Benodigdheden: - 2 potloden

- Kurk

- Kartonnen plaatje + wit papier

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

Mag-isip ng mga tao sa pamamagitan ng papier onder een plaatje (in dit geval karton) en plaats deze aan het uiteinde van de hefboom.

Verbind de paardenhaar aan de hefboom en balanse deze uit met een gewichtje (zie afbeelding 3 ringen).

Hakbang 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 (opsyoneel)

- Extra draad en soldeer set (opsyoneel)

Nakilala ng Bij voorkeur ang nakatayo sa minimaal na 12 cm sa loob ng isang taon na + + 60%.

Hindien nodig op een opzetstukje.

Als de bedrading van de afstandssensor niet de houten bak halen zullen deze eerst verlengd moeten worden.

Hakbang 7: Code Schrijven

Benodigdheden: - Nakilala ng computer ang particle account

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

Sa mga silid aklatan, i-zoom ang LiquidCrystal para mag-import ng deze sa de app.

Dan kan de volgende code gekopieerd worden sa de app:

Ang mga komento ay nagpunta sa pinto als je bec begrijpen wat elk stukje code precies doet.

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

// Isama ang mga sumusunod na aklatan: # isama ang # isama

// Ang analog na nagbasa ng mga pin para sa lahat ng mga sensor sa build na ito:

int tempSensor = A0; int disSensor = A1;

// Mga panuntunan sa pag-publish:

// Ang oras ng pagkaantala at pangalan ng kaganapan para sa pag-publish. // Pag-antala ng oras sa milliseconds. int delayTime = 15000; String eventName = "Actual_Temperature";

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

// Liquid crystal display code // ///. /// // ///.

// Mga hangganan ng pag-set up para sa mga halaga ng index ng init

int pag-iingat = 27; int eCD = 33; int panganib = 40; int matindi = 52;

// Nagbabalik ng isang mensahe para sa isang tukoy na halaga ng heat index.

String message (int hI) {if (hI <caution) {return "Walang pag-iingat."; } kung (hI <eCD) {ibalik ang "Pag-iingat!"; } kung (hI <panganib) {ibalik ang "Labis na pag-iingat!"; } kung (hI <matinding) {ibalik ang "Panganib !!"; } ibalik ang "SOBRANG PELIGRONG !!"; }

// Ang mensahe sa pangalawang linya ng display.

String message2 = "Tunay na T:";

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

// Distansya sensor code // ///. // ///. int minD = 2105; int maxD = 2754;

// Tunay na halagang hilaw na ibinalik ng sensor bawat 5mm.

int ten = 2754; int tenP = 2691; int labing = 2551; int labing-isangP = 2499; int labindalawang = 2377; int doseP = 2276; int labing tatlong = 2206; int labing tatlongP = 2198; int labing-apat = 2105;

// Ibinabalik ang distansya sa cm na kabilang sa isang hilaw na halaga para sa bawat 5mm.

float getDis (int number) {switch (number) {case 2754: return 10; kaso 2691: ibalik ang 10.5; kaso 2551: ibalik ang 11; kaso 2499: ibalik ang 11.5; kaso 2377: ibalik ang 12; kaso 2276: ibalik ang 12.5; kaso 2206: ibalik ang 13; kaso 2198: ibalik ang 13.5; kaso 2105: ibalik ang 14; }}

// Kinakalkula ang aktwal na distansya sa cm na nakuha ng distansya ng sensor.

float calculDis (int start, float stop, int pagsukat) {float distance = getDis (start); float step = (stop - start) / 10; para sa (int i = 0; i <5; i ++) {kung (pagsukat = (panimulang hakbang)) {distansya ng pagbalik; } start = start - step; distansya = distansya + 0.1; }}

// Sinusuri ang malalaking hangganan na nasa pagitan ng sensor ng distansya.

float distansya (int pagsukat) {// Kung ang distansya sensor ay hindi sa pagitan ng 10 at 14 cm, // hindi namin alam ang aktwal na distansya at bumalik 10. kung (pagsukat maxD) {bumalik 10.0; } kung (pagsukat <= treseP) {return calculDis (labing-tatlongP, labing-apat, pagsukat); } kung (pagsukat <= trese) {return calculDis (labing tatlo, labing tatlongP, pagsukat); } kung (pagsukat <= doseP) {return calculDis (labingdalawangP, labing tatlong, pagsukat); } kung (pagsukat <= labindalawa) {return calculDis (labindalawa, labindalawangP, pagsukat); } kung (pagsukat <= labing-isangP) {return calculDis (labing-isangP, labindalawa, pagsukat); } kung (pagsukat <= labing-isang) {return calculDis (labing-isa, labing-isangP, pagsukat); } kung (pagsukat <= tenP) {return calculDis (tenP, labing-isang, pagsukat); } kung (pagsukat <= sampung) {return calculDis (sampu, sampungP, pagsukat); } // Ang code ay hindi dapat makarating dito. bumalik -2; }

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

// Temperatura ng sensor code // ///. // ///. // ///. / // Ang maximum na boltahe sa mV na ginamit para sa temperatura sensor. float maxV = 3300.0;

// Ang base boltahe at kasamang temperatura na ibinabalik ng sensor ng temperatura.

// Boltahe ay nasa mV. int baseV = 750; int baseT = 25;

// Kinakalkula ang temperatura mula sa sinusukat na halaga sa analog pin.

float calculTemp (int pagsukat) {float voltage = ((maxV / 4096) * pagsukat); float diff = baseV - boltahe; float temp = baseT - (diff / 10); ibalik ang temp; }

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

// Mga kalkulasyon ng kahalumigmigan // ///. // ///.????? lumutang h15 = 10.0; lumutang h30 = 10.5; float h60 = 11.5; lumutang h75 = 12.0; lumutang h90 = 12.5; float stepH = 0.167;

// Ibinabalik ang kamag-anak na kahalumigmigan para sa isang tukoy na saklaw ng distansya.

int calculHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff / stepH; int i = bilog (i1); int output = (start + (5 * i)); pagbalik ng output; }

// Ibinabalik ang kamag-anak na kahalumigmigan.

int halumigmig (float dis) {if (dis <= h30) {return calculHum (dis, h15, h30, 15); } kung (dis <= h60) {return calculHum (dis, h30, h60, 30); } kung (dis <= h75) {return calculHum (dis, h60, h75, 60); } kung (dis <= h90) {return calculHum (dis, h75, h90, 75); } ibalik ang 100; }

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

// Formula ng index ng init // ///. // ///.????? lumutang c2 = 1.61139411; lumutang c3 = 2.33854883889; lumutang c4 = -0.14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; lumutang c7 = 0.002211732; float c8 = 0,00072546; float c9 = -0.000003582;

// Ang formula ng heat index na tumatagal ng isang temperatura at kamag-anak halumigmig.

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

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

// Iba pang mga fucntion / variable // ///. // /// // // ///. // ///. String rOne (float num) {int halaga = bilog (num * 10); String output = (String) na halaga; char end = output [strlen (output) -1]; int kaliwa = halaga / 10; Magsimula ang string = (String) pakaliwa; bumalik na magsimula + "." + wakas; }

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

/ Lahat ng code dito ay dapat na pinatakbo nang isang beses sa Photon bago magsimula ang pag-andar ng looping.

void setup () {// I-set up ang bilang ng mga haligi at hilera ng LCD: lcd.begin (16, 2); }

// Lahat ng code dito ay inaikot at dapat maglaman ng pagkuha ng data, pinipino ito at inilalagay ito online.

void loop () {// Kumuha ng temperatura at halumigmig. float temp = calculTemp (analogRead (tempSensor)); float dis = distansya (analogRead (disSensor)); int hum = halumigmig (dis); String mahalumigmig = (String) hum; // Kalkulahin ang index ng init. float hI = heatIndex (temp, hum); // I-set up ang output string at i-print ang lahat ng mga mensahe sa LCD display. Output ng string = rOne (hI); lcd.setCursor (0, 0); lcd.print (mensahe (bilog (hI))); lcd.setCursor (0, 1); lcd.print (mensahe2 + output + "C"); output = output + "" + mahalumigmig; // I-publish ang mga halaga ng index ng init sa online at maghintay bago muling mag-loop. Particle.publish (eventName, output); antala (delayTime); }

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

- Photon en breadboard

- Temperatuursensor

- 220 Ohm naiintindihan natin

- Afstandssensor

- LCD-scherm tl 10k Ohm potentiometer (opsyoneel)

- Mga Genoeg breadboard draadjes, 9+

- Lalaki / Babae jumper draadjes, 12 (opsyoneel)

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

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

Itigil ang de temperatuursensor ergens na nakilala ang genoeg ruimte eromheen sa het breadboard.

Ang Verbindt de analoge output van de temperatuursensor ay nakilala ang A0 van de photon en de ground met de ground rails.

Hindi maunawaan ang voor de input van de sensor at ang verindt de weerstand na nakilala mula sa 3.3V riles.

De afstandssensor para sa pandiwang salita na pinto ng input ng de 3.3V daang-bakal sa stoppen, mula sa ground sa de ground riles at output ng analoge sa A1 van de photon te stoppen.

Narito ang LCD-scherm na aalisin sa iyong data:

1. Ang Verbindt de potentiometer aan het breadboard ay nakilala ang 5V sa de ground.

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

Pin 1, 5 tl 16 van de LCD naar ground. Pin 2 tl 15 naar 5V.

Verbindt de analoge output van de potentiometer, de middelste pin, nakilala ang pin 3 van de LCD.

3. Verbindt de volgende photon pins naar ng LCD pin na nakilala ang jumper draadjes.

Pin D5 naar ng Pin 4

Pin D4 naar Pin 6

Pin D3 naar Pin 11

Pin D2 naar Pin 12

Pin D1 naar Pin 13

Pin D0 naar Pin 14

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

Hakbang 9: Plaats De Photon En Het LCD-Scherm sa De Opstelling

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

Benodigdheden: - Powerbank (opsyoneel)

Nu de photon klaar voor gebruik is kan deze op het plankje in de bak geplaatst worden en het LCD-scherm para tegen het gat geplakt worden. Nu ay het een goed moment om de photon de laten draaien op een powerbank maar dit is natuurlijk niet verplicht.

Hakbang 10: Kalibreren (opsyoneel)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperatuurmeter

- Rolmaat

- Ang output ng code ay maaaring magbigay ng van van sensoren die gekalibreerd moeten worden

Als de software niet goed blijkt te werken met de sensoren kay 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 / sensor.

Sa de bijgeleverde code zitten komento mamatay aangeven waar dit soort kalibratie variabelen staan.

Hakbang 11: Ang De Warmte Index Meter Ay Klaar Voor Gebruik

Pakiusap ni Veel!

Inirerekumendang: