Სარჩევი:

Warmte ინდექსის მეტრი: 11 ნაბიჯი
Warmte ინდექსის მეტრი: 11 ნაბიჯი

ვიდეო: Warmte ინდექსის მეტრი: 11 ნაბიჯი

ვიდეო: Warmte ინდექსის მეტრი: 11 ნაბიჯი
ვიდეო: Drug-resistant epilepsy: When Medications Fail to Control Seizures 2024, ივლისი
Anonim
Warmte ინდექსის მეტრი
Warmte ინდექსის მეტრი

Met deze instructable kun je je eigen warmte ინდექსის მეტრი.

Een warmte ინდექსი მეტრი geeft de gevoelstemperatuur aan op op based 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.

მარაგები

- ნაწილაკების ფოტონი შეხვდა პურის დაფას

- ტემპერატურის მგრძნობიარე (TMP36)

- Afstandssensor voor afstanden tussen 10 და 20 სმ.

- Powerbank

- 220 Ohm გვესმის

- პურის დაფა draadjes, 9+

- მობილური ტელეფონი + კომპიუტერი

- პაარდენჰარ

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- ზეპ

- 2 პოტლოდენი- კურკი

- Kartonnen plaatje + ვიტ პაპიე

- Gewichtjes, denk aan kleine loodjes of metalen plaatjes

ვარიანტი

- LCD scherm + 10k Ohm პოტენომეტრი + მამაკაცი/ქალი მხტუნავი draadjes, 12

- ლუხტვოხტიგეჰიდსმეტრი

- ტემპერატურის მრიცხველი- როლმატი

ნაბიჯი 1: De Photon Instellen

დე ფოტონ ინსტელენი
დე ფოტონ ინსტელენი
დე ფოტონ ინსტელენი
დე ფოტონ ინსტელენი

ბენოდიდგედენი:- მობილე ტელფუნი

- ფოტონი

- კომპიუტერი

ჩამოტვირთეთ ნაწილაკების აპლიკაცია ტელეფონზე და ნაწილაკების ანგარიშზე.

შეაჩერე usb-kabel van de photon თქვენს კომპიუტერში, მოითხოვეთ ფოტო და wel WiFi ქსელში.

დაარეგისტრირეთ setup.particle.io მეშვეობით.

ნაბიჯი 2: პაარდენჰარი

პაარდენჰაარი
პაარდენჰაარი

ბენოდიგდედენი:- პაარდ

Voor het maken van de haar-hydrometer heb je een ontvette paardenhaar nodig van bij voorkeur minimaal 60 სმ

De haren kunnen worden afgeknipt, of uit de staart/manen worden getrokken (op eigen risico).

ნაბიჯი 3: 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

ბენოდიგდედენი:- ზეეპი

- Hout + lijm

- გერედიშაპ

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

Ontvet de paardenhaar

Span de haar horizontaal, bij voorkeur მინიმალური 50 სმ. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)

ნაბიჯი 4: გადახედეთ ფოტოებს LCD ეკრანზე

Maak Een Kastje Voor De Photon En LCD-scherm
Maak Een Kastje Voor De Photon En LCD-scherm

ბენოდიდგედენი:- Hout en houtlijm

- გერედშაპი: ზააგ

რა თქმა უნდა, ძალიან მარტივია, როდესაც თქვენ შეხვდებით ფიცარს, რომელიც დაფარულია სტადიაში და სხვა გამყოფში. Op deze plank moet het breadboard met de photon passen als de bak op zijn zijkant wordt gezet. დარნაა კან აან დე ონდერკანტ ვან დე ბაკ და გეთ ვორდენ გემააქტ ან 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.

ნაბიჯი 5: მაკ ენ ჰეფბუმი

მააკ ეენ ჰეფბუმი
მააკ ეენ ჰეფბუმი
მააკ იენ ჰეფბუმი
მააკ იენ ჰეფბუმი

ბენოდიგდედენი:- 2 პოტლოდენი

- კურკი

- Kartonnen plaatje + ვიტ პაპიე

- გევიხტეს

- 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) და plaats deze aan het uiteinde van de hefboom.

Verbind de paardenhaar aan de hefboom en balaner deze uit met een gewichtje (zie afbeelding 3 ringen).

ნაბიჯი 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

ბენოდიდგედენი:

- აფსდენსენსორი

- Opzetstukje (optioneel)

- დამატებითი ნაკრები და შედუღების ნაკრები (ვარიანტი)

Bij voorkeur met een afstand van minimal 12 სმ ბიჯ ეენ ეხება ლუხტვოჩტიგეიდ ვან +- 60%.

ინდური ნოდიგ ოპ ოტნეზტუკე.

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

ნაბიჯი 7: კოდი Schrijven

Benodigdheden:- კომპიუტერი შეხვდა ნაწილაკების ანგარიშს

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

შიდა ბიბლიოთეკები, zoek LiquidCrystal და იმპორტი deze in app.

დან kan de volgende კოდი gekopieerd worden დე აპლიკაციაში:

კომენტარებმა გააღო კარები და ასევე მსურდა მათი კოდის დაზუსტება.

ოკ სხვაგვარად არის პრობლემის არჩევისას ის წავიდა ყველა კომენტარისგან.

// ჩართეთ შემდეგი ბიბლიოთეკები: #მოიცავს #მოიცავს

// ანალოგიური წაკითხვის ქინძისთავები ამ სენსორის ყველა სენსორისთვის:

int tempSensor = A0; int disSensor = A1;

// გამოქვეყნების წესი:

// გამოქვეყნების დაგვიანების დრო და ღონისძიების სახელი. // დროის დაყოვნება მილიწამებში. int delayTime = 15000; სიმებიანი მოვლენის სახელი = "ფაქტობრივი_ ტემპერატურა";

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

// თხევადი ბროლის ჩვენების კოდი ////////////////////////////////////////// ////////////////// // ინიციალიზირებას ჩვენება მონაცემები ქინძისთავები LiquidCrystal lcd (D5, D4, D3, D2, D1, D0);

// სითბოს ინდექსის მნიშვნელობების საზღვრების დაყენება

int caution = 27; int eCD = 33; int საფრთხე = 40; int უკიდურესი = 52;

// აბრუნებს შეტყობინებას კონკრეტული სითბოს ინდექსის მნიშვნელობისთვის.

სიმებიანი შეტყობინება (int hI) {if (hI <სიფრთხილე) {დაბრუნება "სიფრთხილით."; } if (hI <eCD) {დაბრუნება "სიფრთხილე!"; } if (hI <საფრთხე) {დაბრუნება "უკიდურესი სიფრთხილე!"; } if (hI <extreme) {დაბრუნება "Danger !!"; } დაბრუნება "EXTREME DANGER !!"; }

// შეტყობინება ეკრანის მეორე სტრიქონზე.

სიმებიანი შეტყობინება 2 = "ფაქტობრივი T:";

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

// დისტანციის სენსორის კოდი /////////////////////////////////////////// ////////////////////////////////////// მინიმალური და მაქსიმალური ნედლეული მნიშვნელობები სენსორი ბრუნდება. int minD = 2105; int maxD = 2754;

// ფაქტობრივი ნედლეული მნიშვნელობები, რომელსაც სენსორი აბრუნებდა ყოველ 5 მმ -ზე.

int ათი = 2754; int tenP = 2691; int თერთმეტი = 2551; int elevenP = 2499; int თორმეტი = 2377; int თორმეტი P = 2276; int ცამეტი = 2206; int ცამეტი P = 2198; int თოთხმეტი = 2105;

// აბრუნებს მანძილს სმ -ში, რომელიც ეკუთვნის ნედლ მნიშვნელობას ყოველ 5 მმ -ზე.

float getDis (int ნომერი) {გადართვა (ნომერი) {საქმე 2754: დაბრუნება 10; საქმე 2691: დაბრუნება 10.5; საქმე 2551: დაბრუნება 11; საქმე 2499: დაბრუნება 11.5; საქმე 2377: დაბრუნება 12; საქმე 2276: დაბრუნება 12.5; საქმე 2206: დაბრუნება 13; საქმე 2198: დაბრუნება 13.5; საქმე 2105: დაბრუნება 14; }}

// ითვლის ფაქტიურ მანძილს სმ -ში, რომელიც დაიჭირა მანძილის სენსორმა.

float calcDis (int დაწყება, float stop, int გაზომვა) {float distance = getDis (დაწყება); float step = (გაჩერება - დაწყება)/10; for (int i = 0; i <5; i ++) {if (გაზომვა = (საწყისი ეტაპი)) {დაბრუნების მანძილი; } დაწყება = დაწყება - ნაბიჯი; მანძილი = მანძილი + 0.1; }}

// ამოწმებს დიდ საზღვრებს შორის მანძილი სენსორი.

float მანძილი (int გაზომვა) {// თუ მანძილის სენსორი არ იყო 10 -დან 14 სმ -მდე, // ჩვენ არ ვიცით რეალური მანძილი და დავბრუნებთ 10. if (გაზომვა maxD) {დაბრუნება 10.0; } if (გაზომვა <= ცამეტი P) {დაბრუნება calcDis (ცამეტი P, თოთხმეტი, გაზომვა); } if (გაზომვა <= ცამეტი) {დაბრუნება calcDis (ცამეტი, ცამეტი P, გაზომვა); } if (გაზომვა <= თორმეტი P) {დაბრუნება calcDis (თორმეტი P, ცამეტი, გაზომვა); } if (გაზომვა <= თორმეტი) {დაბრუნება calcDis (თორმეტი, თორმეტი P, გაზომვა); } if (გაზომვა <= თერთმეტი P) {დაბრუნება calcDis (თერთმეტი P, თორმეტი, გაზომვა); } if (გაზომვა <= თერთმეტი) {დაბრუნება calcDis (თერთმეტი, თერთმეტი P, გაზომვა); } if (გაზომვა <= tenP) {დაბრუნება calcDis (tenP, თერთმეტი, გაზომვა); } if (გაზომვა <= ათი) {დაბრუნება calcDis (ათი, tenP, გაზომვა); } // კოდი არასოდეს უნდა მოხვდეს აქ. დაბრუნება -2; }

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

// ტემპერატურის სენსორის კოდი /////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// / // ტემპერატურის სენსორისთვის გამოყენებული მაქსიმალური ძაბვა mV- ში. float maxV = 3300.0;

// ბაზის ძაბვა და თანმხლები ტემპერატურა, რომელსაც უბრუნებს ტემპერატურის სენსორი.

// ძაბვა არის mV. int ბაზა V = 750; int baseT = 25;

// ითვლის ტემპერატურას გაზომილი მნიშვნელობიდან ანალოგურ პინზე.

float calcTemp (int გაზომვა) {float voltage = ((maxV/4096)*გაზომვა); float diff = baseV - ძაბვა; float temp = baseT - (diff/10); დაბრუნების ტემპერატურა; }

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

// ტენიანობის გამოთვლები ////////////////////////////////////////// /////////////////////////////// ტენიანობის გამოთვლების ცვლადები, // მოდის ფაქტობრივი ტენიანობის სენსორებიდან. float h15 = 10.0; float h30 = 10.5; float h60 = 11.5; float h75 = 12.0; float h90 = 12.5; float stepH = 0.167;

// აბრუნებს ფარდობით ტენიანობას კონკრეტული მანძილის დიაპაზონში.

int calcHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = მრგვალი (i1); int გამომავალი = (დაწყება + (5*i)); დაბრუნების გამომუშავება; }

// აბრუნებს ფარდობით ტენიანობას.

int ტენიანობა (float dis) {if (dis <= h30) {დაბრუნება გამოთვლა Hum (dis, h15, h30, 15); } if (dis <= h60) {დაბრუნება calcHum (dis, h30, h60, 30); } if (dis <= h75) {დაბრუნება calcHum (dis, h60, h75, 60); } if (dis <= h90) {დაბრუნება calcHum (dis, h75, h90, 75); } დაბრუნება 100; }

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

// სითბოს ინდექსის ფორმულა //////////////////////////////////////////////////// ////////////////////////////////// // სითბოს ინდექსის ფორმულაში გამოყენებული მუდმივები float c1 = -8.78469475556; float c2 = 1.61139411; float c3 = 2.33854883889; float c4 = -0.14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; float c7 = 0.002211732; float c8 = 0.00072546; float c9 = -0.000003582;

// სითბოს ინდექსის ფორმულა, რომელიც იღებს ტემპერატურას და ფარდობით ტენიანობას.

float heatIndex (float t, int h) {დაბრუნება 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*t*h*h); }

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

// სხვა აღქმა/ცვლადი /////////////////////////////////////////// ////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// // აბრუნებს ათწილადზე დამრგვალებული ათწილადის სტრიქონის გამოსახულებას. სიმებიანი rOne (float num) {int მნიშვნელობა = მრგვალი (num*10); სიმებიანი გამომავალი = (სიმებიანი) მნიშვნელობა; char ბოლოს = გამომავალი [strlen (გამომავალი) -1]; int მარცხნივ = მნიშვნელობა/10; სიმებიანი დასაწყისი = (სიმებიანი) მარცხენა; დაბრუნება იწყება + ". + დასასრული; }

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

/ ყველა კოდი აქ უნდა გაუშვათ ერთხელ Photon– ზე მარყუჟის ფუნქციების დაწყებამდე.

void setup () {// დააყენეთ LCD სვეტებისა და რიგების რაოდენობა: lcd.begin (16, 2); }

// ყველა კოდი აქ იკეტება და უნდა შეიცავდეს მონაცემების მიღებას, დახვეწას და ინტერნეტში განთავსებას.

void loop () {// მიიღეთ ტემპერატურა და ტენიანობა. float temp = calcTemp (analogRead (tempSensor)); float dis = მანძილი (analogRead (disSensor)); int hum = ტენიანობა (dis); სიმებიანი ტენიანი = (სიმებიანი) ჰუმანი; // გამოთვალეთ სითბოს ინდექსი. float hI = heatIndex (temp, hum); // დააყენეთ გამომავალი სტრიქონი და დაბეჭდეთ ყველა შეტყობინება LCD ეკრანზე. სიმებიანი გამომავალი = rOne (hI); lcd.setCursor (0, 0); lcd.print (შეტყობინება (რაუნდი (hI))); lcd.setCursor (0, 1); lcd.print (message2 + გამომავალი + "C"); გამომავალი = გამომავალი + "" + ტენიანი; // გამოაქვეყნეთ სითბოს ინდექსის მნიშვნელობები ინტერნეტში და დაელოდეთ სანამ კვლავ შეასრულებთ მარყუჟს. Particle.publish (მოვლენის სახელი, გამომავალი); დაგვიანება (delayTime); }

ნაბიჯი 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

ბენოდიდგედენი:

- ფოტო და პურის დაფაზე

- ტემპერატურის მგრძნობიარე

- 220 Ohm გვესმის

- აფსდენსენსორი

- LCD-scherm და 10k Ohm პოტენციომეტრი (სურვილისამებრ)

- Genoeg breadboard draadjes, 9+

მამაკაცი/ქალი მხტუნავი draadjes, 12 (სურვილისამებრ)

Verbindt de 3.3V van de photon met de + rails aan dezelfde kant en verbindt de ground aan de - რელსები.

Verbindt de 5V van de photon aan de andere kant aan de + რელსები 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.

ჩვენ გვესმის თქვენი სენსორის შეყვანისას და ვიცი 3.3 ვ ლიანდაგზე.

3.3V რელსების შეყვანისას თქვენ შეგიძლიათ შეაფასოთ კარები, ჩაწეროთ მიწისქვეშა რელსები და გააანალიზოთ გამომავალი A1 ამ ფოტონის საშუალებით.

როგორც ჩანს, LCD- Scherm wilt aansluiten werk dat als volgt:

1. Verbindt de potentiometer aan het breadboard 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.

მიამაგრეთ 1, 5 და 16 ეკრანზე LCD ადგილზე. მიმაგრება 2 და 15 მეტრი 5V.

ანალიტიკური გამომავალი ამ potentiometer, საშუალო pin, შეხვდა pin 3 და LCD.

3. დაათვალიერეთ ფოტონის ქინძისთავები და LCD ქინძისთავები შეხვდით ჯამპერს.

Pin D5 და pin 4

Pin D4 და pin 6

Pin D3 naar Pin 11

პინი D2 და პინ 12

პინი D1 და პინი 13

Pin D0 naar Pin 14

ეს არის ფოტოსურათის ახალი წყარო და პოტენციომეტრი, რომელიც საშუალებას გაძლევთ გამოიყენოთ LCD-scherm ბლოკები.

ნაბიჯი 9: Plaats De Photon En Het LCD-Scherm De Opstelling

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

Benodigdheden:- Powerbank (optioneel)

Nu de photon klaar voor gebruik is kan deze op het plankje in de bak geplaatst worden en het LCD-scherm kan tegen het gat geplakt worden. ეს უკვე დაწყებულია იმ მომენტში, როდესაც ფოტონის დაგვიანებული დრაიენი არის Powerbank და შეიძლება იყოს ნატურალური.

ნაბიჯი 10: კალიბრენენი (სურვილისამებრ)

ბენოდიდგედენი:

- ლუხტვოხტიგეიდსენსორი

- ტემპერატურის მრიცხველი

- როლმატი

- კოდის გამოშვება, როგორც წესი, ვან დე სენსორენ გექალიბრეერდ მოეთენ ვორდენ

ასევე პროგრამული უზრუნველყოფა nied 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 და 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 pas mogelijk zijn om de luchtvochtigheid goed te meten en te vergelijken met een echte luchtvocht.

De bijgeleverde კოდი zitten კომენტარები die aangeven waar dit soort kalibratie variabelen staan.

ნაბიჯი 11: De Warmte ინდექსის მრიცხველი არის კლაარ ვორ გებრუიკი

ვეელ პლეზიერ!

გირჩევთ: