Cov txheej txheem:

Warmte Index Meter: 11 Kauj Ruam
Warmte Index Meter: 11 Kauj Ruam

Video: Warmte Index Meter: 11 Kauj Ruam

Video: Warmte Index Meter: 11 Kauj Ruam
Video: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Hlis ntuj nqeg
Anonim
Warmte Index Ntsuas
Warmte Index Ntsuas

Nrog deze cov lus qhia koj yuav tsum ua raws li qhov ntsuas sov ntsuas ntsuas.

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

Deze meter yog bedoeld voor binnen maar kan buiten worden gebruikt mits er geen neerslag valt en er een windvrij plekje wordt gebruikt.

Khoom siv

- Particle Photon tau ntsib daim ntawv qhia zaub mov

- Kev ntsuas kub (TMP36)

- Ua kom pom tseeb rau ntawm tus ncej 10 thiab 20 cm.

- Powerbank

-220 Ohm weerstand

- Creadboard draadjes, 9+

- Mobiele telefoon + Computer

- Paardenhaar

- Tsis txhob ntshai

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Ziab

- 2 potloden- Kurk

- Kartonnen plaatje + wit papier

- Gewichtjes, tsis muaj kleine loodjes ntawm cov hlau plaatjes

Kev xaiv

- LCD scherm + 10k Ohm potentiometer + Txiv neej/Poj niam jumper draadjes, 12

- Luchtvochtigheidsmeter

- Kev ntsuas kub- Rolmaat

Kauj Ruam 1: De Photon Instellen

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

Benodigdheden:- Mobiele telefoon

-Photon

- Khoos phib tawj

Rub tawm cov particle app op je telefoon en maak een particle account.

Nres de usb-kabel van de photon hauv je computer, thov de photon en stel de wifi hauv.

Dit kan ntawm setup.particle.io.

Kauj ruam 2: 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, ntawm uit de staart/manen worden getrokken (op eigen risico).

Kauj Ruam 3: Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje

Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje
Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje
Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje
Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje
Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje
Maak Een Horizontale Opstelling Nrog Daaraan Een Kastje

Benodigdheden:- Zeeb

- Hout + lijm

- Gereedschap

Maak een ombouw waarbij de paardenhaar horizontaal kan worden gespannen en die tegelijkertijd enige bescherming biedt

Ontvet tsib paardenhaar

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

Kauj Ruam 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 en houtlijm

- Gereedschap: zoo

Maak een simpele houten bak zonder deksel ntsib een houten plank tuag hauv het midden staat als een divider. Op deze plank moet het breadboard ntsib 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. Dit gat moet parallel zijn ntsib het plankje dat hauv de bak yog gezet. Als de bak klaar yog kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen.

Kauj Ruam 5: Maak Een Hefboom

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

Benodigdheden:- 2 lub raj mis

- Kev

- 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 lo lus zodat deze op het korte potlood kan balanceren.

Plak een wit velletje papier onder een plaatje (hauv dit geval karton) en plaats deze aan het uiteinde van de hefboom.

Cov lus qhia ntawm paardenhaar aan de hefboom en qhov sib npaug deze uit ntsib een gewichtje (zie afbeelding 3 ringen).

Kauj Ruam 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:

- Tus neeg saib xyuas

- Kev xaiv (xaiv)

- Ntxiv draad en soldeer teeb (optioneel)

Bij voorkeur ntsib een afstand van minimaal 12 cm bij een relatieve luchtvochtigheid van +- 60%.

Indien nodig op ib yam opzetstukje.

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

Kauj Ruam 7: Code Schrijven

Benodigdheden:- Khoos phis tawj ntsib tus lej nyiaj

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

Hauv cov tsev qiv ntawv, zoek LiquidCrystal en import deze hauv de app.

Dan kan de volgende code gekopieerd worden hauv de app:

Lees de cov lus mus rau lub qhov rooj yog kuv xav tau begrijpen wat elk stukje code precies doet.

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

// Xws li cov tsev qiv ntawv hauv qab no: #include #include

// Cov lej nyeem analog rau txhua lub ntsuas hauv qhov tsim no:

int tempSensor = A0; int disSensor = A1;

// Cov cai luam tawm:

// Lub sijhawm ncua thiab lub npe txheej xwm rau tshaj tawm. // Ncua sij hawm hauv milliseconds. int delayTime = 15000; String eventName = "Tiag tiag Kub";

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

// Cov kua siv lead ua kua tso saib /////////////////////////////////////////////// ////////////////// // Initialise cov zaub nrog cov ntaub ntawv pins LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Teeb tsa ciam teb rau qhov ntsuas ntsuas cua sov

int ceeb toom = 27; int eCD = 33; int txaus ntshai = 40; int huab = 52;

// Rov qab cov lus rau tus nqi ntsuas cua sov tshwj xeeb.

Txoj hlua xov (int hI) {yog (hI <ceev faj) {rov "Tsis muaj kev ceeb toom."; } yog (hI <eCD) {rov "Ceev faj!"; } yog (hI <txaus ntshai) {rov "Ceev faj heev!"; } yog (hI <huab) {rov "Txaus ntshai !!"; } rov qab "Ua rau txaus ntshai heev !!"; }

// Cov lus ntawm kab thib ob ntawm cov zaub.

String message2 = "T Tiag tiag:";

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

// Qhov deb sensor code ////////////////////////////////////////////// //////////////////////////////////////// // Yam tsawg kawg thiab siab tshaj qhov tseem ceeb tus nqi rov qab los. int minD = 2105; tau maxD = 2754;

// Qhov tseeb raw qhov tseem ceeb lub sensor rov qab txhua txhua 5 hli.

kaum = 2754; pem tenP = 2691; kaum ib = 2551; kaum ibP = 2499; kaum ob = 2377; kaum obP = 2276; kaum peb = 2206; kaum pebP = 2198; kaum plaub = 2105;

// Rov qab qhov nrug deb hauv cm uas yog tus nqi raw rau txhua 5 hli.

ntab getDis (int tus lej) {hloov (tus lej) {rooj plaub 2754: rov qab 10; rooj plaub 2691: rov qab 10.5; rooj plaub 2551: rov qab 11; rooj plaub 2499: xa rov qab 11.5; rooj plaub 2377: xa rov qab 12; rooj plaub 2276: xa rov qab 12.5; rooj plaub 2206: rov qab 13; rooj plaub 2198: rov qab 13.5; rooj plaub 2105: rov qab 14; }}

// Xam qhov deb tiag tiag hauv cm uas lub ntsuas nrug deb tau ntes.

ntab calculDis (int pib, ntab nres, ntsuas ntsuas) {ntab nrug = getDis (pib)); ntab kauj ruam = (nres - pib)/10; rau (int i = 0; i <5; i ++) {yog (ntsuas = (pib-kauj ruam)) {rov nrug; } pib = pib - kauj ruam; nrug = nrug + 0.1; }}

// Txheeb xyuas thaj tsam loj qhov deb nrug yog nyob ib puag ncig.

ntab nrug (ntsuas ntsuas) {// Yog tias qhov ntsuas qhov nrug tsis nyob nruab nrab ntawm 10 thiab 14 cm, // peb tsis paub qhov deb tiag tiag thiab rov qab 10. yog (ntsuas maxD) {rov qab 10.0; } yog (ntsuas <= kaum pebP) {rov qab calculDis (kaum pebP, kaum plaub, ntsuas); } yog (ntsuas <= kaum peb) {xa rov qab calculDis (kaum peb, kaum pebP, ntsuas); } yog (ntsuas <= kaum ob P) {rov qab calculDis (kaum ob P, kaum peb, ntsuas); } yog (ntsuas <= kaum ob) {xa rov qab calculDis (kaum ob, kaum ob P, ntsuas); } yog (ntsuas <= kaum ibP) {xa rov qab calculDis (kaum ibP, kaum ob, ntsuas); } yog (ntsuas <= kaum ib) {xa rov qab calculDis (kaum ib, kaum ibP, ntsuas); } yog (ntsuas <= tenP) {rov qab calculDis (kaumP, kaum ib, ntsuas); } yog (ntsuas <= kaum) {xa rov qab calculDis (kaum, kaumP, ntsuas); } // Txoj cai yuav tsum tsis txhob tuaj ntawm no. rov qab -2; }

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

// Kev ntsuas qhov ntsuas kub /////////////////////////////////////////////// //////////////// //////////////////////////////////////////////////////////// / // Qhov siab tshaj plaws hauv mV siv rau qhov ntsuas kub. ntab maxV = 3300.0;

// Lub hauv paus qhov hluav taws xob thiab qhov ntsuas kub nrog qhov ntsuas kub rov qab los.

// Voltage yog hauv mV. int baseV = 750; int baseT = 25;

// Xam qhov ntsuas kub los ntawm tus nqi ntsuas ntawm tus pin analog.

ntab calculTemp (int ntsuas) {ntab voltage = ((maxV/4096)*ntsuas); ntab diff = baseV - qhov hluav taws xob; ntab temp = baseT - (diff/10); rov qab kub; }

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

// Kev suav cov av noo ///////////////////////////////////////////////// ////////////////////////////// // Variables rau kev suav cov av noo, // los ntawm qhov ntsuas huab cua tiag. ntab h15 = 10.0; ntab h30 = 10.5; ntab h60 = 11.5; ntab h75 = 12.0; ntab h90 = 12.5; ntab stepH = 0.167;

// Rov qab txheeb ze cov av noo rau qhov tshwj xeeb nrug deb.

int calculHum (ntab dis, ntab lowH, ntab highH, int pib) {ntab diff = dis - lowH; ntab i1 = diff/stepH; int i = puag ncig (i1); int cov zis = (pib + (5*i)); rov qab tso tawm; }

// Rov qab txheeb ze cov av noo.

int av noo (ntab dis) {yog (dis <= h30) {rov qab calculHum (dis, h15, h30, 15); } yog (dis <= h60) {rov qab calculHum (dis, h30, h60, 30); } yog (dis <= h75) {rov qab calculHum (dis, h60, h75, 60); } yog (dis <= h90) {rov qab calculHum (dis, h75, h90, 75); } rov qab 100; }

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

// Cov lej ntsuas cua sov ////////////////////////////////////////////// ///////////////////////////////////// // Qhov siv hauv qhov ntsuas ntsuas cua sov ntab c1 = -8.78469475556; ntab c2 = 1.61139411; ntab c3 = 2.33854883889; ntab c4 = -0.14611605; ntab c5 = -0.0123008094; ntab c6 = -0.0164248277778; ntab c7 = 0.002211732; ntab c8 = 0.00072546; ntab c9 = -0.000003582;

// Cov ntsuas ntsuas cua sov uas ntsuas kub thiab txheeb ze cov av noo.

ntab heatIndex (ntab t, int h) {rov qab 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); }

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

// Lwm yam fucntions/variables //////////////////////////////////////////// ////// //////////////////////////////////////////// ///////////////////////////////////// // Rov qab muab txoj hlua sawv cev ntawm cov ntab ntog mus rau ib tus lej. Txoj hlua rOne (ntab num) {int tus nqi = puag ncig (num*10); Txoj hlua tso tawm = (Txoj hlua) tus nqi; char kawg = tso tawm [strlen (tso tawm) -1]; int sab laug = tus nqi/10; Txoj hlua pib = (Txoj hlua) sab laug; rov pib dua + "." + kawg; }

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

/ Txhua tus lej ntawm no yuav tsum tau khiav ib zaug ntawm Photon ua ntej qhov kev ua haujlwm looping pib.

teeb tsa tsis muaj dab tsi () {// Teeb tsa LCD tus lej ntawm kab thiab kab: lcd.begin (16, 2); }

// Txhua tus lej ntawm no tab tom hloov pauv thiab yuav tsum muaj cov ntaub ntawv, hloov kho nws thiab tso nws online.

void loop () {// Tau txais qhov kub thiab txias. ntab temp = calculTemp (analogRead (tempSensor)); ntab dis = nrug (analogRead (disSensor)); int hum = humidity (cov); Txoj hlua ntub = (Txoj hlua) hum; // Xam qhov ntsuas cua sov. ntab hI = heatIndex (temp, hum); // Teeb tsa cov hlua tso tawm thiab luam tawm txhua cov lus ntawm LCD zaub. Cov hlua tso tawm = rOne (hI); lcd.setCursor (0, 0); lcd.print (lus (puag ncig (hI)))); lcd.setCursor (0, 1); lcd.print (lus2 + tawm + "C"); output = output + "" + ntub; // Tshaj tawm qhov ntsuas cua sov qhov tseem ceeb online thiab tos ua ntej rov ua dua. Particle.publish (eventName, tso tawm); ncua (delayTime); }

Kauj ruam 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

- Kev ntsuas kub

-220 Ohm weerstand

- Tus neeg saib xyuas

- LCD-scherm en 10k Ohm potentiometer (xaiv tau)

- Genoeg breadboard draadjes, 9+

- Txiv neej/Poj niam jumper draadjes, 12 (xaiv tau)

Verbindt de 3.3V van de photon ntsib de + rails aan dezelfde kant en verbindt de av aan de - ntsia

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

Nres de temperatuursensor ergens ntsib genoeg ruimte eromheen hauv het breadboard.

Verbindt de analoge output van de temperatuursensor ntsib A0 van de photon en de hauv av ntsib de hauv av

Zet de weerstand voor de input van de sensor en verbindt de weerstand ntsib de 3.3V ntsia.

De afstandssensor kan verbonden worden door de input in de 3.3V rails te stoppen, de av hauv de av tsheb ciav hlau en de analoge output in A1 van de photon te stoppen.

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

1. Verbindt de potentiometer aan het breadboard ntsib 5V en de hauv av.

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

Pin 1, 5 thiab 16 van de LCD naar av. Pin 2 en 15 naar 5V.

Verbindt de analoge output van de potentiometer, de middelste pin, ntsib tus pin 3 van de LCD.

3. Verbindt de volgende photon pins naar LCD pins ntsib jumper draadjes.

Pin D5 na Pin 4

Pin D4 na Pin 6

Pin D3 naar Pin 11

Pin D2 naar Pin 12

Pin D1 na 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.

Kauj Ruam 9: Plaats De Photon En Het LCD-Scherm hauv De Opstelling

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

Benodigdheden:- Powerbank (xaiv tau)

Nu de photon klaar voor gebruik yog kan deze op het plankje hauv de bak geplaatst worden en het LCD-scherm kan tegen het gat geplakt worden. Nu yog het een goed lub sijhawm om de photon de laten draaien op een powerbank maar dit yog natuurlijk niet verplicht.

Kauj ruam 10: Kalibreren (optioneel)

Benodigdheden:

- Luchtvochtigheidssensor

- Kev ntsuas kub

- Rolmaat

- Cov lej tso tawm rau lub sijhawm ntev van van sensoren tuag gekalibreerd moeten worden

Als de software niet goed blijkt te werken met de sensoren kan 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 afstandstand ntsib behulp van een rolmaat en daarna zal het pas mogelijk zijn om de luchtvochtigheid goed te meten en te vergelijken met een echte luchtm

Hauv de bijgeleverde cov lej zitten lus tuag aangeven waar dit soort kalibratie variabelen staan.

Kauj Ruam 11: De Warmte Index Meter Yog Klaar Voor Gebruik

Ua tsaug ntau!

Pom zoo: