Sadržaj:
- Pribor
- Korak 1: De Photon Instellen
- Korak 2: Paardenhaar
- Korak 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje
- Korak 4: Maak Een Kastje Voor De Photon En LCD-scherm
- Korak 5: Maak Een Hefboom
- Korak 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
- Korak 7: Šifra Schrijven
- Korak 8: Verbind De Photon
- Korak 9: De Photon En Het LCD-Scherm u De Opstellingu
- Korak 10: Kalibreren (opcioneel)
- Korak 11: De Warmte indeksni mjerač je Klaar Voor Gebruik
Video: Warmte indeksni mjerač: 11 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Met deze instructable kun je eigen warmte index meter maken.
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.
Pribor
- Foton čestica našao se na ploči
- Senzor temperature (TMP36)
- Stalak za stajanje 10 i 20 cm.
- Moćna banka
- 220 ohmski nosač
- Breadboard draadjes, 9+
- Mobilni telefon + računalo
- Paardenhaar
- Hout en houtlijm
- Gereedschap: Boormachine/schroevendraaier, zaag en vijl
- Uf
- 2 potloden- Kurk
- Kartonnen plaatje + pamet papir
- Gewichtjes, denk aan kleine loodjes od metalen plaatjes
Opcija:
- LCD scherm + 10k Ohm potenciometar + muški/ženski skakači, 12
- Luchtvochtigheidsmetar
- Temperatuurmetar- Rolmaat
Korak 1: De Photon Instellen
Benodigdheden:- Mobilni telefon
- Foton
- Računalo
Preuzmite aplikaciju za čestice na telefonu i otvorite račun za čestice.
Zaustavite usb-kabel van fotona u računalu, položite zahtjev za fotonom i bežičnim internetom.
Upišite to putem setup.particle.io.
Korak 2: Paardenhaar
Benodigdheden:- Paard
Za het maken van de haar-hidrometar heb je een ontvette paardenhaar nodig van bij voorkeur minimalno 60 cm
De haren kunnen worden afgeknipt, of uit de staart/manen worden getrokken (op eigen risico).
Korak 3: 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
Horizontalni raspon, minimalno minimalno 50 cm. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)
Korak 4: Maak Een Kastje Voor De Photon En LCD-scherm
Benodigdheden:- Hout en houtlijm
- Gereedschap: zaag
Maak een simpele houten bak zonder deksel met een houten plank die in het midden staat als een delilac. Op deze plank moet het motherboard 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. 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.
Korak 5: Maak Een Hefboom
Benodigdheden:- 2 potlodena
- Kurk
- Kartonnen plaatje + pamet papir
- 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).
Korak 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Benodigdheden:
- Afstandsensor
- Opzetstukje (optioneel)
- Extra draad en soldeer set (optioneel)
Bij voorkeur met een afen 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.
Korak 7: Šifra Schrijven
Benodigdheden:- Računalo je upoznalo račun čestica
Ga naar build.particle.io en maak een nieuwe app aan. Noem deze bijvoorbeeld HeatIndex.
U knjižnicama, preuzmite LiquidCrystal i uvezite aplikaciju u aplikaciju.
Dan kan de volgende code gekopieerd worden u aplikaciji:
Dopustite komentare goed door als je wilt begrijpen wat elk stukje code precies doet.
Ook als er een problemem optreedt is het goed om de comments te raadplegen.
// Uključuje sljedeće knjižnice: #include #include
// Analogni pinovi za čitanje za sve senzore u ovoj verziji:
int tempSensor = A0; int dissenzor = A1;
// Pravila objavljivanja:
// Vrijeme kašnjenja i naziv događaja za objavljivanje. // Vrijeme kašnjenja u milisekundama. int delayTime = 15000; String eventName = "Stvarna_temperatura";
/////////////////////////////////////////////////
// Kod za prikaz tekućih kristala ////////////// // ///////////////////////////////// //////////////////// // Pokretanje zaslona s pinovima podataka LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);
// Postavljanje granica za vrijednosti indeksa topline
int oprez = 27; int eCD = 33; int opasnost = 40; int extreme = 52;
// Vraća poruku za određenu vrijednost indeksa topline.
Poruka niza (int hI) {if (hI <oprez) {return "Bez opreza."; } if (hI <eCD) {vrati "Oprez!"; } if (hI <opasnost) {return "Krajnji oprez!"; } if (hI <ekstremno) {vrati "Opasnost !!"; } return "IZUZETNA OPASNOST !!"; }
// Poruka u drugom retku zaslona.
String message2 = "Stvarni T:";
//////////////////////////////////////////////////////
// Kod senzora udaljenosti /////////////////////////////// ////////////////// ////////////////////////////////////////// // Minimalne i maksimalne sirove vrijednosti senzor vraća. int minD = 2105; int maxD = 2754;
// Stvarne sirove vrijednosti senzor vraća svakih 5 mm.
int deset = 2754; int tenP = 2691; int jedanaest = 2551; int jedanaestP = 2499; int dvanaest = 2377; int dvanaestP = 2276; int trinaest = 2206; int trinaestP = 2198; int četrnaest = 2105;
// Vraća udaljenost u cm koja pripada sirovoj vrijednosti za svakih 5 mm.
float getDis (int number) {switch (number) {case 2754: return 10; slučaj 2691: povrat 10,5; slučaj 2551: povratak 11; slučaj 2499: povrat 11,5; slučaj 2377: povratak 12; slučaj 2276: povrat 12,5; slučaj 2206: povrat 13; slučaj 2198: povrat 13,5; predmet 2105: povrat 14; }}
// Izračunava stvarnu udaljenost u cm koju je zabilježio senzor udaljenosti.
float CalcuDis (int start, float stop, int mjerenje) {float distance = getDis (start); float step = (stop - start)/10; za (int i = 0; i <5; i ++) {if (mjerenje = (start-korak)) {povratna udaljenost; } start = start - korak; udaljenost = udaljenost + 0,1; }}
// Provjerava velike granice između kojih se nalazi senzor udaljenosti.
plutajuća udaljenost (int mjerenje) {// Ako senzor udaljenosti nije bio između 10 i 14 cm, // ne znamo stvarnu udaljenost i povratak 10. if (mjerenje maxD) {povratak 10,0; } if (mjerenje <= trinaestP) {return izračunavanjeDis (trinaestP, četrnaest, mjerenje); } if (mjerenje <= trinaest) {return CalcuDis (trinaest, trinaestP, mjerenje); } if (mjerenje <= dvanaest P) {povratak izračunatiDis (dvanaest P, trinaest, mjerenje); } if (mjerenje <= dvanaest) {return CalcuDis (dvanaest, dvanaestP, mjerenje); } if (mjerenje <= jedanaestP) {return izračunavanjeDis (jedanaestP, dvanaest, mjerenje); } if (mjerenje <= jedanaest) {return CalcuDis (jedanaest, jedanaestP, mjerenje); } if (mjerenje <= tenP) {return CalcuDis (tenP, jedanaest, mjerenje); } if (mjerenje <= deset) {return izračunavanjeDis (deset, desetP, mjerenje); } // Kod nikada ne smije doći ovdje. povrat -2; }
///////////////////////////////////////////////////////////////////////////////////////
// Kod senzora temperature ///////////////////////////////////////////////// //////////////// //////////////////////////////////////// ////////////////////////////////////////////////////////// / // Najveći napon u mV koji se koristi za osjetnik temperature. plovak maxV = 3300,0;
// Bazni napon i popratna temperatura koju senzor temperature vraća.
// Napon je u mV. int bazaV = 750; int bazaT = 25;
// Izračunava temperaturu iz izmjerene vrijednosti na analognom pinu.
float CalcuTemp (int mjerenje) {plivajući napon = ((maxV/4096)*mjerenje); float diff = baseV - napon; temp. plovka = baseT - (razlika/10); povratna temp; }
///////////////////////////////////////////////////
// Izračuni vlažnosti /////////////////////////// /////////////////////// ////////////////////////////////// Varijable za proračun vlažnosti, // dolaze od stvarnih senzora vlažnosti. plovak h15 = 10,0; plovak h30 = 10,5; plovak h60 = 11,5; plovak h75 = 12,0; plovak h90 = 12,5; plivajući korakH = 0,167;
// Vraća relativnu vlažnost zraka za određeni raspon udaljenosti.
int izračunatiHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; plovak i1 = razlika/korakH; int i = okruglo (i1); int izlaz = (početak + (5*i)); povratni izlaz; }
// Vraća relativnu vlažnost.
int vlažnost (float dis) {if (dis <= h30) {return izračunatiHum (dis, h15, h30, 15); } if (dis <= h60) {return izračunatiHum (dis, h30, h60, 30); } if (dis <= h75) {return izračunatiHum (dis, h60, h75, 60); } if (dis <= h90) {return izračunajHum (dis, h75, h90, 75); } return 100; }
///////////////////////////////////////////////////
// Formula indeksa topline //////////////////////////////// ////////////////// /////////////////////////////////////// // Konstante korištene u formuli indeksa topline plovak c1 = -8.78469475556; plovak c2 = 1,61139411; plovak c3 = 2,33854883889; plovak c4 = -0,14611605; plovak c5 = -0,0123008094; plovak c6 = -0,0164248277778; plovak c7 = 0,002211732; plovak c8 = 0,00072546; plovak c9 = -0,000003582;
// Formula indeksa topline koja uzima temperaturu i relativnu vlažnost.
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); }
///////////////////////////////////////////////////////////////////////////////
// Ostale fukcije/varijable //////////////////////////////////////////////// ////// //////////////////////////////////////////////////// /////////////////////////////////////// // Vraća prikaz niza plutajućeg zareza zaokruženog na jednu decimalu. String rOne (float num) {int value = round (num*10); String output = (String) vrijednost; char end = output [strlen (output) -1]; int lijevo = vrijednost/10; String begin = (String) left; return start + "." + kraj; }
//////////////////////////////////////////////////////////////////////////////
/ Sav kôd ovdje treba pokrenuti jednom na Photonu prije nego što počnu funkcije petlje.
void setup () {// Postavljanje broja stupaca i redaka LCD -a: lcd.begin (16, 2); }
// Sav se kôd ovdje petlja i trebao bi sadržavati dobivanje podataka, njihovo oplemenjivanje i stavljanje na mrežu.
void loop () {// Dobijte temperaturu i vlažnost. float temp = CalcuTemp (analogRead (tempSensor)); float dis = udaljenost (analogno čitanje (disSensor)); int hum = vlaga (dis); Gudač vlažan = (Gudač) hum; // Izračunajte toplinski indeks. float hI = heatIndex (temp, hum); // Postavljanje izlaznog niza i ispis svih poruka na LCD zaslonu. Izlaz niza = rOne (hI); lcd.setCursor (0, 0); lcd.print (poruka (okrugla (hI))); lcd.setCursor (0, 1); lcd.print (poruka2 + izlaz + "C"); izlaz = izlaz + "" + vlažan; // Objavite vrijednosti indeksa topline na mreži i pričekajte prije ponovne petlje. Particle.publish (eventName, output); delay (delayTime); }
Korak 8: Verbind De Photon
Benodigdheden:
- Foton i matična ploča
- Senzor temperature
- 220 ohmski nosač
- Razume senzor
- LCD-scherm i 10k Ohm potenciometar (opcionalno)
- Genovačke matične ploče draadjes, 9+
- muški/ženski skakač draadjes, 12 (opcioneel)
Verbindt de 3.3V van de photon met de + rails aan dezelfde kant en verbindt de ground aan de - tračnice.
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 analog analog output van de temperatuursensor met A0 van de photon en de ground met de ground trails.
Zet de weerstand for input de input van de sensor en verbindt de weerstand met 3.3V tračnice.
Defastandenzor može višestruko opteretiti vrata ulaza u 3.3 V tračnice koje su zaustavljene, uzemljene u dezemne tračnice i analogni izlaz u A1 van de fotona.
Osim toga, LCD-scherm wilt aansluiten werkt dat als volgt:
1. Verbindt de potenciometer a het motherboard met 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 i 16 van LCD zaslona na zemlji. Pin 2 i 15 na 5V.
Verbindt za analogni izlaz van potenciometra, srednji pin, sa pin 3 za LCD.
3. Verbindt de volgende fotonske pinove na LCD pinovima sa skakačima.
Pin D5 na pin Pin 4
Pin D4 na pin Pin 6
Pin D3 na Pin 11
Pin D2 na pin Pin 12
Pin D1 na Pin 13
Pin D0 na pin Pin 14
Als de photon nu aanstaat en er aan de potenciometer gedraaid wordt moeten er op het LCD-scherm blokjes verschijnen.
Korak 9: De Photon En Het LCD-Scherm u De Opstellingu
Benodigdheden:- Powerbank (opcionalno)
Nu de photon klaar voor gebruik is kan deze op het plankje in de bak geplaatst worden en het LCD-scherm can 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.
Korak 10: Kalibreren (opcioneel)
Benodigdheden:
- Luchtvochtigheidssensor
- Temperatuurmetar
- Rolmaat
- Kodni izlaz za 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 luchtvoch
In de bijgeleverde code zitten comments die aangeven waar dit soort kalibratie variabelen staan.
Korak 11: De Warmte indeksni mjerač je Klaar Voor Gebruik
Veel plezier!
Preporučeni:
Mjerač kvalitete zraka u zatvorenom prostoru: 5 koraka (sa slikama)
Unutarnji mjerač kvalitete zraka: Jednostavan projekt za provjeru kvalitete zraka u vašoj kući. Budući da u zadnje vrijeme često boravimo/radimo od kuće, možda bi bilo dobro pratiti kvalitetu zraka i podsjetiti se kada je vrijeme da otvorite prozor i udiše malo svježeg zraka
Jednostavan 20 LED Vu mjerač pomoću LM3915: 6 koraka
Jednostavni 20 LED Vu mjerač pomoću LM3915: Ideja o izradi VU mjerača već je dugo na popisu mojih projekata. I konačno mogu uspjeti. VU mjerač je krug za pokazatelj jačine audio signala. Krug mjerača VU obično se primjenjuje na krug pojačala tako da
KS-čaj-mjerač vremena: 4 koraka
KS-Tea-Timer: SituacijaTi si na pr. u uredu i želite skuhati čaj kako treba (npr. zeleni čaj 2 minute, crni čaj 5 minuta …), ali ponekad jednostavno propustite pravo vrijeme da prekinete kuhanje i izvadite čaj iz Vruća voda. To je vrlo
UV indeksni mjerač pomoću ML8511 ULTRAVIOLET senzora Arduino: 6 koraka
Mjerač UV indeksa pomoću ML8511 ULTRAVIOLET senzora Arduino: U ovom ćemo vodiču naučiti kako mjeriti UV indeks sunca pomoću ML8511 ULTRAVIOLET senzora. Pogledajte video! https://www.youtube.com/watch?v=i32L4nxU7_M
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: 5 koraka
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: Ovo je osnovni vodič koji podučava kako koristiti OLED zaslon sa svojim Arduinom. Koristim zaslon veličine 128x32, ali možete koristiti i zaslon različite rezolucije i promijeniti rezoluciju/koordinate prema potrebi. U ovom dijelu ću vam pokazati kako