Taula de continguts:

Warmte Index Meter: 11 passos
Warmte Index Meter: 11 passos

Vídeo: Warmte Index Meter: 11 passos

Vídeo: Warmte Index Meter: 11 passos
Vídeo: 11. Метрики бэкенда, мониторинг и алертинг – Иван Цыбулин 2024, De novembre
Anonim
Mesurador d’índexs Warmte
Mesurador d’índexs Warmte

Met deze instructable kun je je eigen warmte index meter made.

Een warmte index meter geeft de gevoelstemperatuur aan op basis van de omgevingstemperatuur 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.

Subministraments

- Particle Photon es va reunir amb la taula de treball

- Sensor de temperatura (TMP36)

- Afstandssensor voor afstanden tussen 10 i 20 cm.

- Powerbank

- 220 Ohm entenem

- Taules de pa, 9+

- Telèfon mòbil + Ordinador

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine / schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kurk

- Kartonnen plaatje + wit paper

- Gewichtjes, denk aan kleine loodjes of metalen plaatjes

Opcional:

Pantalla LCD + potenciòmetre de 10k Ohm + pantalons de pont masculí / femení, 12

- Luchtvochtigheidsmeter

- Temperatuurmeter- Rolmaat

Pas 1: De Photon Instellen

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

Benodigdheden: - Telèfon mòbil

- Fotó

- Ordinador

Descarregueu l'aplicació particle al telèfon amb un compte de partícules.

Stop of usb-kabel van de photon in je computer, claim of photon in stel de wifi in.

Feu clic a setup.particle.io.

Pas 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, of uit de staart / manen worden getrokken (op eigen risico).

Pas 3: Maak Een Horizontale Opstelling es va reunir amb 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 kan 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)

Pas 4: Maak Een Kastje Voor De Photon En pantalla LCD

Maak Een Kastje Voor De Photon En pantalla LCD
Maak Een Kastje Voor De Photon En pantalla LCD

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 passen als de bak op zijn zijkant wordt gezet. Podeu canviar les vostres preferències a partir de les paraules que apareixen a la pantalla LCD. Dit gat moet parallel 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.

Pas 5: Maak Een Hefboom

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

Benodigdheden: - 2 potloden

- Kurk

- Kartonnen plaatje + wit paper

- 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 balanceer deze uit met een gewichtje (zie afbeelding 3 ringen).

Pas 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 (optioneel)

- Conjunt de soldadura addicional (opcional)

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

Pas 7: Codi Schrijven

Benodigdheden: - Compte de partícules amb ordinador

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

A les biblioteques següents, podeu consultar LiquidCrystal i importar-les a l'aplicació.

Podeu canviar el codi de volgende a l'aplicació:

Llegir comentaris va a les portes als joves wilt begrijpen wat elk stukje code precies doet.

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

// Incloeu les biblioteques següents: #include #include

// Els pins de lectura analògics per a tots els sensors d'aquesta compilació:

int tempSensor = A0; int disSensor = A1;

// Normes de publicació:

// El temps de retard i el nom de l'esdeveniment per publicar. // Retardar el temps en mil·lisegons. int delayTime = 15000; String eventName = "Temperatura_actual";

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

// Codi de visualització de cristall líquid ///////////// ///////////////////////////////// ////////////////// // Inicialitzeu la pantalla amb els pins de dades LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// Configureu els límits dels valors de l’índex de calor

int precaució = 27; int eCD = 33; int perill = 40; int extrem = 52;

// Torna un missatge per a un valor d'índex de calor específic.

Missatge de cadena (int hI) {if (hI <caution) {return "No cautela."; } if (hI <eCD) {return "Atenció!"; } if (hI <danger) {return "Precaució extrema!"; } if (hI <extreme) {return "Perill !!"; } torna "PERILL EXTREME !!"; }

// El missatge de la segona línia de la pantalla.

String message2 = "T real:";

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

// Codi del sensor de distància ///////////////////////////// ////////////////// //////////////////////////////////////// Valors bruts mínims i màxims que retorna el sensor. int minD = 2105; int maxD = 2754;

// Valors bruts reals que el sensor retornava cada 5 mm.

int deu = 2754; int tenP = 2691; int onze = 2551; int onzeP = 2499; int dotze = 2377; int dotzeP = 2276; int tretze = 2206; int tretzeP = 2198; int catorze = 2105;

// Retorna la distància en cm que pertany a un valor en brut per cada 5 mm.

float getDis (número int) {commutador (número) {cas 2754: retorn 10; cas 2691: retorn 10,5; cas 2551: retorn 11; cas 2499: retorn 11,5; cas 2377: retorn 12; cas 2276: retorn 12,5; cas 2206: retorn 13; cas 2198: retorn 13,5; cas 2105: retorn 14; }}

// Calcula la distància real en cm que ha capturat el sensor de distància.

float calculateDis (int start, stop float, mesura int) {float distance = getDis (start); pas flotant = (stop - start) / 10; for (int i = 0; i <5; i ++) {if (mesura = (pas inicial)) {distància de retorn; } start = start - step; distància = distància + 0,1; }}

// Comprova els grans límits entre el sensor de distància.

distància flotant (mesura int) {// Si el sensor de distància no estava entre 10 i 14 cm, // no sabem la distància real i retornem 10. si (mesura màx. D) {retornem 10,0; } if (mesura <= tretzeP) {retorn calcularDis (tretzeP, catorze, mesura); } if (mesura <= tretze) {return calculateDis (tretze, tretzeP, mesura); } if (mesura <= dotzeP) {retorn calcularDis (dotzeP, tretze, mesura); } if (mesura <= dotze) {return calculateDis (dotze, dotze P, mesura); } if (mesura <= onzeP) {return calculateDis (onzeP, dotze, mesura); } if (mesura <= onze) {return calculateDis (onze, onzeP, mesura); } if (mesura <= deuP) {return calculateDis (tenP, onze, mesura); } if (mesura <= deu) {return calculateDis (deu, tenP, mesura); } // El codi no hauria d’arribar mai. retorn -2; }

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

// Codi del sensor de temperatura ///////////////////////////////////////////////// ////////////// //////////////////////////////////////// ////////////////////////////////////////////////////// / // Voltatge màxim en mV utilitzat per al sensor de temperatura. float maxV = 3300,0;

// La tensió base i la temperatura acompanyant que retorna el sensor de temperatura.

// La tensió és en mV. int baseV = 750; int baseT = 25;

// Calcula la temperatura a partir del valor mesurat al pin analògic.

float calculateTemp (mesurament int) {tensió flotant = ((maxV / 4096) * mesura); float diff = baseV - tensió; float temp = baseT - (diff / 10); temperatura de retorn; }

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

// Càlculs d’humitat ///////////////////////// /////////////////////// //////////////////////////////// // Les variables per al càlcul de la humitat, // provenen de sensors d’humitat reals. flotador h15 = 10,0; flotador h30 = 10,5; flotador h60 = 11,5; flotador h75 = 12,0; flotador h90 = 12,5; pas flotant H = 0,167;

// Retorna la humitat relativa per a un interval de distància específic.

int calculateHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff / stepH; int i = rodó (i1); int output = (start + (5 * i)); retorn de sortida; }

// Retorna la humitat relativa.

humitat int (float dis) {if (dis <= h30) {return calculateHum (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); } tornar 100; }

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

// Fórmula de l’índex de calor ///////////////////////////// ////////////////// /////////////////////////////////// // Les constants utilitzades a la fórmula de l’índex de calor floten c1 = -8.78469475556; flotador c2 = 1,61139411; flotador c3 = 2.33854883889; flotador c4 = -0.14611605; float c5 = -0,0123008094; flotador c6 = -0,0164248277778; flotador c7 = 0,002211732; flotador c8 = 0,00072546; flotador c9 = -0,000003582;

// La fórmula de l’índex de calor que pren una temperatura i una humitat relativa.

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

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

// Altres fucions / variables //////////////////////////////////////////////// ////// //////////////////////////////////////////////// ///////////////////////////////////// Retorna una representació de cadena d'un flotador arrodonit cap avall a un decimal. Cadena rOne (float num) {valor int = round (num * 10); Sortida de cadena = valor (cadena); char final = sortida [strlen (sortida) -1]; int left = valor / 10; String begin = (String) a l'esquerra; retorn començar + "." + final; }

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

/ Tot el codi aquí s'hauria d'executar una vegada al fotó abans que s'iniciïn les funcions de bucle.

void setup () {// Configureu el nombre de columnes i files de la pantalla LCD: lcd.begin (16, 2); }

// Tot el codi aquí s’està fent un bucle i hauria de contenir obtenir dades, refinar-les i posar-les en línia.

void loop () {// Obteniu temperatura i humitat. float temp = calculateTemp (analogRead (tempSensor)); float dis = distància (analogRead (disSensor)); int hum = humitat (dis); String humid = (String) hum; // Calculeu l’índex de calor. flotador hI = calorIndex (temp, zumbit); // Configureu la cadena de sortida i imprimiu tots els missatges a la pantalla LCD. Sortida de cadena = rOne (hI); lcd.setCursor (0, 0); lcd.print (missatge (round (hI)))); lcd.setCursor (0, 1); lcd.print (missatge2 + sortida + "C"); sortida = sortida + "" + humit; // Publiqueu els valors de l’índex de calor en línia i espereu abans de tornar a fer el bucle. Particle.publish (eventName, sortida); retard (delayTime); }

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

- Fotó en taulers de suport

- Sensor de temperatuurs

- 220 Ohm entenem

- Afstandssensor

Pantalla LCD i potenciòmetre de 10k Ohm (opcional)

- Taules de pa Genoeg, 9+

Jersei masculí / femení draadjes, 12 (opcional)

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.

Stop de temperatuursensor ergens met genoeg ruimte eromheen in het breadboard.

Verbindt de analoge output van de temperatuursensor met A0 van de photon en de ground met de ground rails.

Zet de weerstand voor of input van de sensor en verbindt de weerstand met de 3.3V rails.

De afstandssensor can verbonden worden door of input in de 3.3V rails te stoppen, de ground in de ground rails en analogic output in A1 van de photon te stoppen.

També es visualitzarà una pantalla LCD que també s'utilitzarà:

1. Verbindt de potentiometer aan het breadboard met 5V en de ground.

2. Verge de volgende jumper draadjes in a LCD-screen waarbij pin 1 het dichtsbij of rand with this screen is.

Pin 1, 5 i 16 van de LCD a terra. Pin 2 en 15 naar 5V.

Verbindt of analoge output for of potentiometer, de middelste pin, met pin 3 de LCD.

3. Verbindt de volgende photon pins on LCD pins and jumper draadjes.

Pin D5 naar 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 fotons no es poden trobar en un potenciòmetre gedraaid wordt moeten er op het LCD-screen blokjes verschijnen.

Pas 9: Plaats de fotó en pantalla LCD-Scherm a De Opstelling

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

Benodigdheden: - Powerbank (optioneel)

El número de fotons que es poden utilitzar és el que es pot utilitzar per obtenir més informació sobre la pantalla LCD i la pantalla LCD. Nu is het een goed moment om de photon de laten draaien op een powerbank maar dit is natuurlijk niet verplicht.

Pas 10: Kalibreren (optioneel)

Benodigdheden:

- Luchtvochtigheidssensor

- Temperatuurmeter

- Rolmaat

- Code output voor rauwe waarden van de sensoren die 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 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 luchtvochtigtm

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

Pas 11: El mesurador d'índex de Warmte és Klaar Voor Gebruik

Veel plezier!

Recomanat: