Sisukord:

Warmte Index Meter: 11 sammu
Warmte Index Meter: 11 sammu
Anonim
Warmte indeksi mõõtja
Warmte indeksi mõõtja

Met deze juhendatav kun je je eigen warmte index meter maken.

Een warmte index meter geeft de gevoelstemtem aan op base van de omgevingstemtem 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.

Tarvikud

- Osakeste footon ja leivaplaat

- Temperatuuriandur (TMP36)

- Afstandssensor voor afstanden tussen 10 ja 20 cm.

- Akupank

- Mõistame 220 oomi

- Leivaplaat draadjes, 9+

- Mobiiltelefon + arvuti

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Seep

- 2 potloden- Kurk

- Kartonnen plaatje + vaimukas paber

- Gewichtjes, denk aan kleine loodjes of metalen plaatjes

Valikuvõimalus:

- LCD -ekraan + 10 kΩ potentsiomeeter + isane/emane hüppaja, 12

- Luchtvochtigheidsmeter

- Temperatuuri mõõtja- Rolmaat

Samm: De Photon Instellen

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

Benodigdheden:- Mobiiltelefon

- footon

- Arvuti

Laadige alla osakeste rakendus op je telefoon en maak een particle account.

Lõpetage arvuti USB-kaabli kasutamine, nõustuge fotoonide ja WiFi-ühendusega.

Saate seda teha setup.particle.io kaudu.

2. samm: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden:- Paard

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

3. samm: 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 can worden gespannen en die tegelijkertijd enige bescherming biedt

Ontvet de paardenhaar

Horisontaalne laius, minimaalne voorkeur 50 cm. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

Samm 4: Maak Een Kastje Voor De Photon ja LCD-ekraan

Maak Een Kastje Voor De Photon ja LCD-ekraan
Maak Een Kastje Voor De Photon ja LCD-ekraan

Benodigdheden:- Hout en houtlijm

- 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 reisija ka 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 paralleelne 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.

5. samm: Maak Een Hefboom

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

Benodigdheden:- 2 potloden

- Kurk

- Kartonnen plaatje + vaimukas paber

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

6. samm: 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 (valikuline)

- Extra draad en jootekomplekt (optsioon)

Bij voorkeur met een afstand van minimumal 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.

7. samm: kood Schrijven

Benodigdheden:- Arvuti ja osakeste konto

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

Teekide alt avage rakendus LiquidCrystal ja importige rakendus.

Dan kan de volgende kood gekopieerd worden rakenduses:

Kommentaarid läksid ukse taha, aga ka nägid, et nägid, kuidas põgenesid, ja said koodi.

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

// Kaasa järgmised teegid: #include #include

// Selle ehitise kõigi andurite analooglugemisnööbid:

int tempSensor = A0; int disSensor = A1;

// Avaldamisreeglid:

// Avaldamise viivitusaeg ja sündmuse nimi. // Viiteaeg millisekundites. int delayTime = 15000; String eventName = "Tegelik_temperatuur";

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

// Vedelkristallekraani kood //////////////////////////////////////////////////// /////////////////// // Ekraani initsialiseerimine andmepistikutega LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Soojusindeksi väärtuste piiride seadistamine

int ettevaatlikkus = 27; int eCD = 33; int oht = 40; int äärmuslik = 52;

// Tagastab teate konkreetse soojusindeksi väärtuse kohta.

Stringisõnum (int hI) {if (hI <ettevaatust) {return "No ettevaatust."; } if (hI <eCD) {return "Ettevaatust!"; } if (hI <oht) {return "Äärmiselt ettevaatlik!"; } if (hI <äärmuslik) {return "Oht !!"; } tagastama "ÜLEMINE OHT !!"; }

// Teade ekraani teisel real.

String message2 = "Tegelik T:";

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

// Kaugusanduri kood ///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// // Minimaalsed ja maksimaalsed toorväärtused, mille andur tagastab. int minD = 2105; int maxD = 2754;

// Tegelikud toorväärtused andur tagastas iga 5 mm tagant.

int ten = 2754; int tenP = 2691; int üksteist = 2551; int üksteistP = 2499; int kaksteist = 2377; int kaksteistP = 2276; int kolmteist = 2206; int kolmteistP = 2198; int neliteist = 2105;

// Tagastab kauguse sentimeetrites, mis kuulub toorväärtusele iga 5 mm kohta.

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

// Arvutab kauguse anduri jäädvustatud tegeliku kauguse cm -des.

float calcDis (int start, float stop, int mõõtmine) {float distance = getDis (start); ujuk samm = (stop - start)/10; jaoks (int i = 0; i <5; i ++) {if (mõõtmine = (algus-samm)) {tagasisõidu kaugus; } algus = algus - samm; kaugus = kaugus + 0,1; }}

// Kontrollib suuri piire, mille vahel on kaugusandur.

ujuki kaugus (int mõõtmine) {// Kui kaugusandur ei olnud vahemikus 10–14 cm, // me ei tea tegelikku kaugust ja tagasipöördumist 10. if (mõõtmine maxD) {return 10,0; } if (mõõtmine <= kolmteistP) {return arvutaDis (kolmteistP, neliteist, mõõtmine); } if (mõõtmine <= kolmteist) {return calcDis (kolmteist, kolmteistP, mõõtmine); } if (mõõtmine <= kaksteistP) {return arvutaDis (kaksteistP, kolmteist, mõõtmine); } if (mõõtmine <= kaksteist) {return calculiDis (kaksteist, kaksteistP, mõõtmine); } if (mõõtmine <= üksteistP) {return calcDis (üksteistP, kaksteist, mõõtmine); } if (mõõtmine <= üksteist) {return calcDis (üksteist, üksteistP, mõõtmine); } if (mõõtmine <= kümmeP) {return arvutaDis (kümmeP, üksteist, mõõtmine); } if (mõõtmine <= kümme) {return calcDis (kümme, kümmeP, mõõtmine); } // Kood ei tohiks kunagi siia jõuda. tagasitulek -2; }

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

// Temperatuurianduri kood ///////////////////////////////////////////////////////////// ////////////////////////////////////////////- ////////////////////////////////////////////////////////////- / // Temperatuuri anduri maksimaalne pinge mV. ujuk maxV = 3300,0;

// Baaspinge ja sellega kaasnev temperatuur, mille temperatuuriandur tagastab.

// Pinge on mV. int alusV = 750; int alusT = 25;

// Arvutab temperatuuri analoogpoldi mõõdetud väärtuse põhjal.

float calcTemp (int mõõtmine) {float pinge = ((maxV/4096)*mõõtmine); float diff = baseV - pinge; ujuki temp = baseT - (dif/10); tagasivoolutemperatuur; }

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

// Õhuniiskuse arvutused ////////////////////////////////////////// /////////////////////////////// // Niiskuse arvutamise muutujad pärinevad tegelikest niiskusanduritest. ujuk h15 = 10,0; ujuk h30 = 10,5; ujuk h60 = 11,5; ujuk h75 = 12,0; ujuk h90 = 12,5; ujuki samm H = 0,167;

// Tagastab suhtelise õhuniiskuse teatud kaugusvahemikus.

int arvutaHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; ujuk i1 = diff/stepH; int i = ümmargune (i1); int väljund = (algus + (5*i)); tagasiväljund; }

// Tagastab suhtelise niiskuse.

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

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

// Soojusindeksi valem ////////////////////////////////////////////////////////// /////////////////////////////////////////////////- ujuk c2 = 1,61139411; ujuk c3 = 2,33854883889; ujuk c4 = -0,14611605; ujuk c5 = -0,0123008094; ujuk c6 = -0,0164248277778; ujuk c7 = 0,002211732; ujuk c8 = 0,00072546; ujuk c9 = -0,000003582;

// Soojusindeksi valem, mis võtab temperatuuri ja suhtelist niiskust.

ujukuumus Indeks (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); }

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

// Muud segmendid/muutujad ////////////////////////////////////////////////////////// ////// ////////////////////////////////////////////////////////////// või //////////////////////////////////////////////////////////////////////////////// /// Tagastab ujuki stringi, mis on ümardatud ühe kümnendkohani allapoole. String rOne (float number) {int väärtus = ümmargune (arv*10); String väljund = (String) väärtus; char end = väljund [strlen (väljund) -1]; int vasakul = väärtus/10; String algus = (String) vasakule; tagasitulek algab + "." + lõpp; }

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

/ Kogu siin olev kood tuleks üks kord footonil käivitada, enne kui tsüklifunktsioonid algavad.

void setup () {// LCD -veergude ja ridade arvu seadistamine: lcd.begin (16, 2); }

// Kogu siin olev kood on silmus ja see peaks sisaldama andmete hankimist, täpsustamist ja võrku panemist.

void loop () {// Hankige temperatuur ja niiskus. float temp = calcTemp (analogRead (tempSensor)); float dis = kaugus (analogRead (disSensor)); int hum = niiskus (dis); String niiske = (String) hum; // Soojusindeksi arvutamine. ujuk hI = soojusindeks (temp, hum); // Seadistage väljundstring ja printige kõik teated LCD -ekraanile. String väljund = rOne (hI); lcd.setCursor (0, 0); lcd.print (teade (ümmargune (hI)))); lcd.setCursor (0, 1); lcd.print (sõnum2 + väljund + "C"); väljund = väljund + "" + niiske; // Avaldage soojusindeksi väärtused võrgus ja oodake, enne kui uuesti loopima hakkate. Particle.publish (sündmuseNimi, väljund); viivitus (delayTime); }

8. samm: 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 ja leivalaud

- Temperatuuriandur

- Mõistame 220 oomi

- Afstandssensor

- LCD-scherm ja 10 kΩ potentsiomeeter (lisavarustus)

- Genoeg leivaplaat draadjes, 9+

- Mees/naine hüppaja draadjes, 12 (valikuline)

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

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

Stop de temperatuursensor ergens met gerueg ruimte eromheen in het leib.

Analoogse väljundi temperatuuriandur ja A0 vanad fotonid ja maapealsed rööpad.

Mõistke anduri sisendit või andurisüsteemi ja veenduge, et saame aru 3,3 V rööbastest.

Seadet saab verbonden worden door de input in 3.3V rööpad te stoppen, de ground in de ground rail ja analoge output in A1 van de photon te stoppen.

Als je een LCD-scherm wilt aansluiten werkt data als volgt:

1. Verbindt de potentsiomeeter aan het leivalaud sai 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 ja 16 LCD ekraanil. Pin 2 ja 15 naar 5V.

Analoogse väljundi potentsiaalmõõtur, keskmine tihvt, 3 -tolline LCD -ekraan.

3. Verbindt de volgende footon -tihvtid LCD -nööpnõelte ja hüppajatega.

Tihvt D5, tihvt 4

Tihvt D4, tihvt 6

Tihvt D3, tihvt 11

Tihvt D2, tihvt 12

Tihvt D1, tihvt 13

Tihvt D0, tihvt 14

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

Samm 9: Plats De Photon En Het LCD-Scherm in De Opstelling

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

Benodigdheden:- Powerbank (valikuline)

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

10. samm: Kalibreren (valikuline)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperatuuri mõõtja

- Rolmaat

- Koodi väljund voor rauwe waarden van de sensoren die gekalibreerd moeten worden

Als de software niet goed blijkt te werken met de sensoren can er voor gekozen worden om de sensoren zelf de kalibreren.

Temperatuuri mõõtja võib vrij makkelijk gekalibreerd worden door metingen met een Temperameter 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 luchtvochtigheidsmeter/sensor.

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

11. samm: De Warmte'i indeksi mõõtja on Klaar Voor Gebruik

Veel meeldivam!

Soovitan: