INHOUDSOPGAWE:
- Voorrade
- Stap 1: De Photon Instellen
- Stap 2: Paardenhaar
- Stap 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje
- Stap 4: Maak 'n Kastje Vir Die Foton En 'n LCD-skerm
- Stap 5: Maak Een Hefboom
- Stap 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
- Stap 7: Code Schrijven
- Stap 8: Verbind De Photon
- Stap 9: Plaats De Photon En Het LCD-Scherm in De Opstelling
- Stap 10: Kalibreren (opsioneel)
- Stap 11: De Warmte Index Meter Is Klaar Voor Gebruik
Video: Warmte -indeksmeter: 11 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Met hierdie instruksies kan u u eie warmte -indeksmeter maak.
Een warmte -indeksmeter gee die gevoelstemperatuur aan op basis van die omgewingstemperatuur en die lugvochtigheid.
Hierdie meter is bedoel vir binne, maar ek kan dit ook nie gebruik nie, maar daar word nie 'n windvrye plek gebruik nie.
Voorrade
- Deeltjie foton met broodbord
- Temperatuursensor (TMP36)
- Afstandsensor voor afstand tussen 10 en 20 cm.
- Krag bank
- 220 Ohm weerstand
- Broodborddraadjes, 9+
- Telefoon + rekenaar
- Paardenhaar
- Hout en houtlijm
- Gereedschap: Boormachine/schroevendraaier, zaag en vijl
- Seep
- 2 potloden- Kurk
- Kartonnen plaatje + wit papier
- Gewichtjes, denk aan kleine loodjes of metalen plaatjes
Opsioneel:
- LCD -skerm + 10k Ohm potensiometer + Manlike/vroulike trui, 12
- Luchtvochtigheidsmeter
- Temperatuurmeter- Rolmaat
Stap 1: De Photon Instellen
Benodigdheden:- Mobiele telefoon
- foton
- Rekenaar
Laai die deeltjie -app af op u telefoon en maak 'n deeltjie -rekening.
Stop die USB-kabel van die foton op u rekenaar, maak gebruik van die foton en stel WiFi in.
Dit kan via setup.particle.io.
Stap 2: Paardenhaar
Benodigdheden:- Paard
Vir die maak van die haar-hidrometer moet u 'n ontvette kamer nodig hê om 60 cm te kies
Die haren kan afgeknip word, of uit die staart/man kan word (op eie risiko).
Stap 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Benodigdheden:- Zeep
- Hout + lijm
- Gereedschap
Maak 'n ombou waar die paardenhaar horisontaal gespeel kan word en die enkele beskerming bied
Ontvet de paardenhaar
Span haar haar horisontaal, vir minimaal 50 cm. Dit is genoeg om die hefboom en die gewig te bevestig (sien volgende stap)
Stap 4: Maak 'n Kastje Vir Die Foton En 'n LCD-skerm
Benodigdheden:- Hout en houtlijm
- Gereedschap: zaag
Maak een eenvoudige houten bak sonder deksel met 'n houtplank wat in die middelste staat as 'n verdeler is. Op hierdie plank moet die broodplank met die fotonpasiënte as die bak op sy aangesig gesamentlik word. Daarna kan die onderkant van die bak een vir die LCD-skerm gemaak word. Dit moet parallel wees met die plan wat in die bak is. As die bak klaar is, kan dit ook op sy sykant wees, en dit kan saam met die gewig aan die kant van die hangende gewig wees.
Stap 5: Maak Een Hefboom
Benodigdheden:- 2 potloden
- Kurk
- Kartonnen plaatje + wit papier
- Gewichtjes
- Gereedschap: vijl en boor
Dit is 'n plek om 'n kort potlood te plaas. Die lang potlood moet uitgevoer word sodat hierdie kort potlood kan balanseer.
Plak 'n wit papier onder 'n plaat (in die geval van karton) en plaas dit op die uiteinde van die hefboom.
Verbind die paardenhaar aan die hefboom en balanseer hierdie uit met 'n gewig (sien prent 3).
Stap 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Benodigdheden:
- Afstandsensor
- Opzetstukje (opsioneel)
- Ekstra draad en soldeerset (opsioneel)
By voorkeur met 'n afstand van minimaal 12 cm by 'n relatiewe lugvochtigheid van +- 60%.
Indien nodig op 'n opsetstukje.
As die afstandsensor nie die hout bak kan haal nie, moet ons hierdie eers verlore gaan.
Stap 7: Code Schrijven
Benodigdheden:- Rekenaar met deeltjiesrekening
Gaan na build.particle.io en maak 'n nuwe app aan. Noem hierdie byvoorbeeld HeatIndex.
Onder biblioteke, soek LiquidCrystal en invoer hierdie in die app.
Die volgende kode kan in die app gebruik word:
Lees die kommentaar goed deur as jy wil begryp wat elk stukje kode presies doen.
Ook as daar 'n probleem is, is dit goed om die kommentaar te raadpleeg.
// Sluit die volgende biblioteke in: #include #include
// Die analoog leespenne vir alle sensors in hierdie gebou:
int tempSensor = A0; int disSensor = A1;
// Publiseringsreëls:
// Die vertragingstyd en die gebeurtenisnaam vir publikasie. // Vertraag tyd in millisekondes. int delayTime = 15000; String eventName = "Werklike_Temperatuur";
/////////////////////////////////////////////////
// Vloeistofkristal vertoonkode ////////////////////////////////////////////// //////////////////// Initialiseer die skerm met die datapennetjies LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);
// Stel grense op vir hitte -indekswaardes
int versigtig = 27; int eCD = 33; int gevaar = 40; int extreme = 52;
// Wys 'n boodskap vir 'n spesifieke hitte -indekswaarde.
Stringboodskap (int hI) {if (hI <caution) {return "No caution."; } if (hI <eCD) {return "Let op!"; } if (hI <gevaar) {return "Uiters versigtig!"; } if (hI <extreme) {return "Gevaar !!"; } stuur "UITERS GEVAAR !!"; }
// Die boodskap op die tweede reël van die skerm.
String message2 = "Werklike T:";
//////////////////////////////////////////////////////
// Afstandsensorkode /////////////////////////////////// ///////////////////////////////////////////////////////////// -/ - int minD = 2105; int maxD = 2754;
// Werklike rou waardes het die sensor elke 5 mm teruggegee.
int tien = 2754; int tenP = 2691; int elf = 2551; int elfP = 2499; int twaalf = 2377; int twaalfP = 2276; int dertien = 2206; int dertienP = 2198; int veertien = 2105;
// Gee die afstand in cm wat aan 'n rou waarde behoort vir elke 5 mm.
float getDis (int number) {switch (number) {case 2754: return 10; saak 2691: opgawe 10.5; saak 2551: opgawe 11; saak 2499: opgawe 11.5; saak 2377: opgawe 12; saak 2276: opgawe 12.5; saak 2206: opgawe 13; saak 2198: opgawe 13.5; saak 2105: opgawe 14; }}
// Bereken die werklike afstand in cm wat die afstandsensor vasgelê het.
float calculeerDis (int begin, float stop, int meting) {float afstand = getDis (begin); vlotstap = (stop - begin)/10; for (int i = 0; i <5; i ++) {if (meting = (begin-stap)) {terugkeerafstand; } begin = begin - stap; afstand = afstand + 0,1; }}
// Kontroleer die groot grense wat die afstandsensor tussenin is.
dryfafstand (int meting) {// As die afstandsensor nie tussen 10 en 14 cm was nie, // weet ons nie die werklike afstand en opbrengs 10. if (meting maxD) {opgawe 10.0; } if (meting <= dertienP) {opgawe berekenDis (dertienP, veertien, meting); } if (meting <= dertien) {opgawe berekenDis (dertien, dertienP, meting); } if (meting <= twaalfP) {opgawe berekenDis (twaalfP, dertien, meting); } if (meting <= twaalf) {opgawe berekenDis (twaalf, twaalfP, meting); } if (meting <= elfP) {opgawe berekenDis (elfP, twaalf, meting); } if (meting <= elf) {opgawe berekenDis (elf, elfP, meting); } if (meting <= tenP) {opgawe berekenDis (tenP, elf, meting); } if (meting <= tien) {opgawe berekenDis (tien, tenP, meting); } // Kode moet nooit hier kom nie. terugkeer -2; }
///////////////////////////////////////////////////////////////////////////////////////
// Temperatuursensorkode ////////////////////////////////////////////////////// //////////////////////////////////////////////////// / // Die maksimum spanning in mV wat vir die temperatuursensor gebruik word. vlot maxV = 3300.0;
// Die basisspanning en gepaardgaande temperatuur wat die temperatuursensor gee.
// Spanning is in mV. int baseV = 750; int baseT = 25;
// Bereken die temperatuur van die gemete waarde by die analoog pen.
float calculeer Temp (int meting) {float voltage = ((maxV/4096)*meting); float diff = baseV - spanning; float temp = baseT - (diff/10); retoer temp; }
///////////////////////////////////////////////////
// Humiditeitsberekeninge /////////////////////////////////////////////////// ////////////////////////////////////// Variabels vir die berekening van humiditeit, // afkomstig van werklike humiditeit sensors. vlot h15 = 10,0; vlot h30 = 10,5; vlot h60 = 11,5; vlot h75 = 12,0; vlot h90 = 12,5; vlotstap H = 0,167;
// Gee die relatiewe humiditeit vir 'n spesifieke afstandsafstand.
int calcHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = rond (i1); int uitset = (begin + (5*i)); terugvoer uitset; }
// Gee die relatiewe humiditeit terug.
int humiditeit (float dis) {if (dis <= h30) {opgawe berekenHum (dis, h15, h30, 15); } as (dis <= h60) {opgawe berekenHum (dis, h30, h60, 30); } as (dis <= h75) {opgawe berekenHum (dis, h60, h75, 60); } as (dis <= h90) {opgawe berekenHum (dis, h75, h90, 75); } gee 100 terug; }
///////////////////////////////////////////////////
// Formule vir hitte -indeks ///////////////////////////////'// vlot c2 = 1.61139411; float c3 = 2.33854883889; float c4 = -0.14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; float c7 = 0.002211732; vlot c8 = 0.00072546; float c9 = -0.000003582;
// Die hitte -indeksformule wat 'n temperatuur en relatiewe humiditeit neem.
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); }
///////////////////////////////////////////////////////////////////////////////
// Ander invloede/veranderlikes //////////////////////////////////////// ///////////////////////////////////////// Gee 'n stringvoorstelling van 'n vlot afgerond tot een desimaal. String rOne (float num) {int waarde = rond (num*10); String uitset = (String) waarde; char end = output [strlen (output) -1]; int links = waarde/10; Tou begin = (Tou) links; terugkeer begin + "." + einde; }
//////////////////////////////////////////////////////////////////////////////
/ Alle kode hier moet een keer op die Photon uitgevoer word voordat die lusfunksies begin.
ongeldige opstelling () {// Stel die aantal kolomme en rye van die LCD op: lcd.begin (16, 2); }
// Alle kode word hier aangesluit en moet data bevat, dit verfyn en aanlyn plaas.
leegte () {// Kry temperatuur en humiditeit. float temp = calculeer Temp (analogRead (tempSensor)); float dis = distance (analogRead (disSensor)); int hum = humiditeit (dis); String humid = (String) hum; // Bereken die hitte -indeks. float hI = heatIndex (temp, hum); // Stel die uitvoerstring op en druk alle boodskappe op die LCD -skerm af. Stringuitset = rOne (hI); lcd.setCursor (0, 0); lcd.print (boodskap (rond (hI))); lcd.setCursor (0, 1); lcd.print (boodskap2 + uitset + "C"); output = output + "" + humid; // Publiseer die hitte -indekswaardes aanlyn en wag voordat u weer lus maak. Particle.publish (eventName, output); vertraging (delayTime); }
Stap 8: Verbind De Photon
Benodigdheden:
- Foto en broodbord
- Temperatuursensor
- 220 Ohm weerstand
- Afstandssensor
- LCD-skerm en 10k Ohm potensiometer (optioneel)
- Genoeg broodbord draadjes, 9+
- Manlike/vroulike trui, 12 (opsioneel)
Verbind die 3.3V van die foton met + rails aan dieselfde kant en verbind die grond met die rails.
Verbind die 5V van die foton aan die ander kant aan die + rails aan die kant.
Stop temperatuur temperatuur sensor met genoeg ruimte in die broodbord.
Verbind die analoge uitset van die temperatuursensor met A0 van die foton en die grond met die grondrails.
Weerstand vir die ingang van die sensor en die weerstand met die 3.3V -relings.
Die afstandsensor kan deur die invoer in die 3.3V -rails gestop word, die grond in die grondrails en die analoge uitset in A1 van die fotostoppers stop.
As u 'n LCD-skerm met die volgende kan verbind:
1. Verbindings van die potensiometer op die broodbord met 5V en die grond.
2. Verbind die volgende jumper-drade aan die LCD-skerm waar pen 1 die rand van die skerm kan sien.
Speld 1, 5 en 16 van die LCD na die grond. Pin 2 en 15 naar 5V.
Verbind die analoge uitgang van die potensiometer, die middelste pen, met pen 3 van die LCD.
3. Verbind die volgende foton penne na LCD penne met jumper draadjies.
Speld D5 na pen 4
Speld D4 na pen 6
Speld D3 na pen 11
Speld D2 na pen 12
Speld D1 na pen 13
Speld D0 na pen 14
As die foto nou 'n staat en 'n potensiële meter kan gebruik, moet dit op die LCD-skermblokke verskyn.
Stap 9: Plaats De Photon En Het LCD-Scherm in De Opstelling
Benodigdheden:- Powerbank (optioneel)
Nou is die foton klaar om te gebruik om hierdie plan op die plank te plaas wat op die LCD-skerm geplaas kan word. Dit is 'n goeie oomblik om die foto's op 'n powerbank te laat dra, maar dit is natuurlik nie verplig nie.
Stap 10: Kalibreren (opsioneel)
Benodigdheden:
- Luchtvochtigheidssensor
- Temperatuurmeter
- Rolmaat
- Kode -uitset vir die wagwoord van die sensore wat die gekalibreerde moet word, moet word
As die sagteware nie altyd goed werk om met die sensore te werk nie, kan dit vir die sensor self gekalibreer word.
Die temperatuurmeters kan vrylik deur 'n temperatuurmeting vir die sensor gemonitor word.
Vir die lugvochtigheid moet die afstandsensor eers gekalibreerd word op afstand met behulp van 'n rolmaat en daarna sal dit moontlik wees dat die lugvochtigheid goed is om met 'n werklike lugvochtigheidsmeter/sensor te reageer.
In die bygeleverde kode kan kommentare aangepas word waar hierdie soort kalibrasie veranderlik staan.
Stap 11: De Warmte Index Meter Is Klaar Voor Gebruik
Veel plezier!
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies