İçindekiler:

Warmte İndeks Ölçer: 11 Adım
Warmte İndeks Ölçer: 11 Adım

Video: Warmte İndeks Ölçer: 11 Adım

Video: Warmte İndeks Ölçer: 11 Adım
Video: Earth gets scorched by hot wings... and heat waves 2024, Kasım
Anonim
Warmte İndeks Ölçer
Warmte İndeks Ölçer

Met deze öğretilebilir kun je je eigen sıcak indeks ölçer yapıldı.

Een sıcak indeks ölçer geeft de gevoelstemperatuur aan op temelleri van de omgevingstemperatuur en de luchtvochtigheid.

Deze metre, temel olarak şu anda kullanılabilir.

Gereçler

- Parçacık Fotonu breadboard ile buluştu

- Sıcaklık sensörü (TMP36)

- Afstandsensor voor afstanden tussen 10 en 20 cm.

- Taşınabilir şarj aleti

- 220 Ohm gidon

- Breadboard draadjeleri, 9+

- Mobil telefon + Bilgisayar

- Paardenhaar

- Hout en houtlijm

- Gereedschap: Boormachine/schroevendraaier, zaag en vijl

- Zeep

- 2 potloden- Kürk

- Kartonnen plaatje + akıllı kağıt

- Metalen plaatjes'lerin denk aan kleine loodje'leri

Opsiyonel:

- LCD şema + 10k Ohm potansiyometre + Erkek/Dişi jumper draadjes, 12

- Luchtvochtigheidsmetre

- Sıcaklık ölçer- Rolmaat

Adım 1: De Foton Instellen

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

Benodigdheden:- Mobil telefon

- foton

- Bilgisayar

Parçacık uygulamasını op je telefoon en maak een parçacık hesabı indirin.

Bilgisayarda usb-kabel van de photon'u durdurun, foton ve wifi'de hak talebinde bulunun.

setup.particle.io aracılığıyla yapabilirsiniz.

2. Adım: Paardenhaar

Paardenhaar
Paardenhaar

Benodigdheden: - Paard

voor het maden van de haar-hidrometre heb je een ontvette paardenhaar nodig van bij voorkeur minimaal 60 cm

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

3. Adım: 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

Benodigdheden: - Zeep

- Hout + lijm

- Gereedschap

En büyük ombouw waarbij de paardenhaar yatay kan worden gespannen en die tegelijkertijd enige bescherming biedt

Ontvet de paardenhaar

Açıklık yatay, bij voorkeur minimum 50 cm. Zorg dat er genoeg haar over is o de hefboom en het gewicht te bevestigen (zie volgende stap)

Adım 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: zaag

Maak een basit houten bak zonder deksel bir araya geldi een houten tahta kalıp içinde het midden staat als een bölücü. Op deze tahta moet het breadboard bir araya geldi de foton passen als de bak op zijn zijkant wordt gezet. LCD-scherm ile ilgili ayrıntılı bilgi için bkz. Dit gat moet paralel zijn bir araya geldi het plankje dat in de bak gezet. Als de bak klaar, kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen'dir.

Adım 5: Maak Een Hefboom

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

Benodigdheden:- 2 potloden

- Kürk

- Kartonnen plaatje + akıllı kağıt

- Gewichtjes

- Gereedschap: en boor

En iyi geceler, en iyi geceler. Her gün, her gün, her gün, her gün, her gün, her gün, her gün, her gün, her şey için, her şey düşünülür.

Kağıt üzerinde (kartonun içinde) kağıt üzerinde.

Verbind de paardenhaar aan de hefboom en dengeleyici deze uit bir araya geldi een gewichtje (zie afbeelding 3 ringen).

Adım 6: Plaats De Afstandmeter Önder Het (kartonnen) Plaatje

Plaats De Afstandmeter Önder Het (kartonnen) Plaatje
Plaats De Afstandmeter Önder Het (kartonnen) Plaatje
Plaats De Afstandmeter Önder Het (kartonnen) Plaatje
Plaats De Afstandmeter Önder Het (kartonnen) Plaatje

Benodigdheden:

- Afstandsensor

- Opzetstukje (opsiyonel)

- Ekstra sürgü ve lehim seti (optioneel)

Bij voorkeur minibüste en az 12 cm bij een relatieve luchtvochtigheid minibüsle tanıştı +- 60%.

Hindistan'ı ziyaret edin.

Als de yatak örtüleri van de afstandssensor niet de houten bak halen geçerli olan zullen deze eerst verlengd moeten worden.

7. Adım: Schrijven'i Kodlayın

Benodigdheden: - Bilgisayar parçacık hesabıyla tanıştı

En iyi uygulama için build.particle.io'yu geliştirin. Noem deze bijvoorbeeld HeatIndex.

Önder kütüphaneleri, zoek LiquidCrystal ve deze'yi uygulamada içe aktarın.

Uygulamadaki en iyi kod gekopieerd worden:

Lees de yorumlar kapıya gitti, her şey yolunda gitti.

Sorun değil, her şey yolunda.

// Aşağıdaki kitaplıkları dahil et:#include #include

// Bu yapıdaki tüm sensörler için analog okuma pinleri:

int tempSensor = A0; int algılayıcı = A1;

// Yayınlama kuralları:

// Yayınlama için gecikme süresi ve olay adı. // Milisaniye cinsinden gecikme süresi. int gecikmeZamanı = 15000; String eventName = "Gerçek_Sıcaklık";

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

// Likit kristal ekran kodu ///////////// ///////////////////////////// ////////////////// // Ekranı LiquidCrystal veri pinleriyle sıfırlayın lcd(D5, D4, D3, D2, D1, D0);

// Isı indeksi değerleri için kurulum sınırları

int dikkat = 27; int eCD = 33; int tehlike = 40; int aşırı = 52;

// Belirli bir ısı indeksi değeri için bir mesaj döndürür.

String message(int hI) { if(hI < dikkat) { return "Dikkat yok."; } if(hI < eCD) { return "Dikkat!"; } if(hI < tehlike) { return "Aşırı dikkat!"; } if(hI < aşırı) { return "Tehlike!! "; } "AŞIRI TEHLİKE!!"; }

// Ekranın ikinci satırındaki mesaj.

String message2 = "Gerçek T:";

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

// Mesafe sensörü kodu ////////////////////////// //////////////// ////////////////////////////////// // Sensörün döndürdüğü minimum ve maksimum ham değerler. int zihinD = 2105; int maksD = 2754;

// Sensörün her 5 mm'de bir döndürdüğü gerçek ham değerler.

int on = 2754; int onP = 2691; int onbir = 2551; int onbirP = 2499; int on iki = 2377; int on ikiP = 2276; int on üç = 2206; int onüçP = 2198; int on dört = 2105;

// Her 5 mm için ham bir değere ait olan mesafeyi cm cinsinden döndürür.

float getDis(int sayı) { anahtar(sayı){ durum 2754: dönüş 10; durum 2691: dönüş 10.5; vaka 2551: dönüş 11; vaka 2499: dönüş 11.5; durum 2377: dönüş 12; vaka 2276: dönüş 12.5; vaka 2206: dönüş 13; durum 2198: dönüş 13.5; durum 2105: dönüş 14; } }

// Mesafe sensörünün yakaladığı gerçek mesafeyi cm cinsinden hesaplar.

float hesaplaDis(int başlangıç, kayan nokta durdur, int ölçüm) { kayan mesafe = getDis(başlangıç); şamandıra adımı = (durdur - başlat)/10; for(int i = 0; i < 5; i++) { if(ölçüm = (başlangıç-adım)){ dönüş mesafesi; } başlangıç = başlangıç - adım; mesafe = mesafe + 0.1; } }

// Mesafe sensörünün arada olduğu büyük sınırları kontrol eder.

float mesafe(int ölçüm) { // Mesafe sensörü 10 ile 14 cm arasında değilse, // gerçek mesafeyi bilmiyoruz ve 10 döndürüyoruz. if(measurement maxD) { return 10.0; } if(ölçüm <= onüçP) { return hesaplaDis(onüçP, ondört, ölçüm); } if(ölçüm <= on üç) { return hesaplaDis(onüç, onüçP, ölçüm); } if(ölçüm <= on ikiP) { return hesaplaDis(twelveP, onüç, ölçüm); } if(ölçüm <= on iki) { return hesaplaDis(on iki, on ikiP, ölçüm); } if(ölçüm <= onbirP) { return hesaplaDis(elevenP, on iki, ölçüm); } if(ölçüm <= onbir) { return hesaplaDis(onbir, onbirP, ölçüm); } if(ölçüm <= onP) { return hesaplaDis(onP, onbir, ölçüm); } if(ölçüm <= on) { return hesaplaDis(on, tenP, ölçüm); } // Kod asla buraya gelmemelidir. dönüş -2; }

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

// Sıcaklık sensör kodu //////////////////////////////////////// ///////////// //////////////////////////////// //////////////////////////////////////////// // Sıcaklık sensörü için kullanılan mV cinsinden maksimum voltaj. kayan nokta maxV = 3300.0;

// Sıcaklık sensörünün döndürdüğü temel voltaj ve eşlik eden sıcaklık.

// Gerilim mV cinsindendir. int tabanV = 750; int tabanT = 25;

// Analog pinde ölçülen değerden sıcaklığı hesaplar.

kayan nokta hesaplaTemp(int ölçümü) { kayan gerilim = ((maxV/4096)*ölçüm); float diff = baseV - voltaj; kayan nokta sıcaklığı = baseT - (fark/10); dönüş sıcaklığı; }

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

// Nem hesaplamaları ////////////////////// /////////////////// /////////////////////////// // Nem hesaplamaları için değişkenler, // gerçek nem sensörlerinden gelir. kayan nokta h15 = 10.0; kayan nokta h30 = 10.5; kayan nokta h60 = 11.5; kayan nokta h75 = 12.0; kayan nokta h90 = 12.5; yüzer adımH = 0.167;

// Belirli bir mesafe aralığı için bağıl nemi döndürür.

int hesaplaHum(float dis, float düşükH, float yüksekH, int başlangıç) { kayan nokta diff = düş - düşükH; float i1 = fark/adımH; int i = yuvarlak(i1); int çıktı = (başlangıç + (5*i)); çıkış çıkışı; }

// Bağıl nemi döndürür.

int nem(float dis) { if (dis <= h30) { return hesaplamaHum(dis, h15, h30, 15); } if (dis <= h60) { return hesaplaHum(dis, h30, h60, 30); } if (dis <= h75) { return hesaplaHum(dis, h60, h75, 60); } if (dis <= h90) { return hesaplaHum(dis, h75, h90, 75); } 100 döndür; }

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

// Isı indeks formülü ////////////////////////// //////////////// //////////////////////////////// // Isı indeksi formülünde kullanılan sabitler float c1 = -8.78469475556; kayan nokta c2 = 1.61139411; kayan nokta c3 = 2.33854883889; kayan nokta c4 = -0.14611605; kayan nokta c5 = -0.0123008094; kayan nokta c6 = -0.0164248277778; kayan nokta c7 = 0.002211732; kayan nokta c8 = 0.00072546; kayan nokta c9 = -0.000003582;

// Sıcaklık ve bağıl nemi alan ısı indeksi formülü.

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*s*h) + (c9*t*t*h*h); }

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

// Diğer işlevler/değişkenler /////////////////////////////////////// ////// /////////////////////////////////////// //////////////////////////////// // Bir ondalık basamağa yuvarlanmış bir kayan noktanın dize temsilini döndürür. String rOne(kayan sayı) { int değer = yuvarlak(sayı*10); String çıktısı = (String) değeri; karakter sonu = çıktı[strlen(çıktı)-1]; int sol = değer/10; String başlangıç \u200b\u200b = (String) sola; dönüş başlangıç + "." + son; }

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

/ Döngü işlevleri başlamadan önce buradaki tüm kodlar Photon'da bir kez çalıştırılmalıdır.

void setup() { // LCD'nin sütun ve satır sayısını ayarlayın: lcd.begin(16, 2); }

// Buradaki tüm kodlar döngü halindedir ve veri almayı, iyileştirmeyi ve çevrimiçi duruma getirmeyi içermelidir.

void loop() { // Sıcaklık ve nemi alın. kayan nokta sıcaklığı = hesaplaTemp(analogRead(tempSensor)); float dis = mesafe(analogRead(disSensor)); int hum = nem(dis); Dize nemli = (Dize) hum; // Isı indeksini hesapla. float hI = heatIndex(sıcaklık, uğultu); // Çıktı dizisini ayarlayın ve tüm mesajları LCD ekranda yazdırın. Dizi çıktısı = rOne(hI); lcd.setCursor(0, 0); lcd.print(mesaj(yuvarlak(hI))); lcd.setCursor(0, 1); lcd.print(mesaj2 + çıktı + "C"); çıktı = çıktı + " " + nemli; // Isı indeksi değerlerini çevrimiçi olarak yayınlayın ve tekrar döngüye girmeden önce bekleyin. Particle.publish(eventName, output); gecikme(delayTime); }

Adım 8: Verbind De Photon

Verbind De Foton
Verbind De Foton
Verbind De Foton
Verbind De Foton
Verbind De Foton
Verbind De Foton
Verbind De Foton
Verbind De Foton

Benodigdheden:

- Breadboard'da Foton

- Sıcaklık sensörü

- 220 Ohm gidon

- Afstandsensor

- LCD-scherm ve 10k Ohm potansiyometre (opsiyonel)

- Genoeg devre tahtası draadjes, 9+

- Erkek/Kadın kazak draadjes, 12 (optioneel)

Verbindt de 3.3V van de foton bir araya geldi + raylar bir an dezelfde kant en ayrıntılı olarak zemin ve raylar.

Verbindt de 5V van de foton aan de andere kant aan de + raylar aan die kant.

Stop de temperatuursensor ergens, het breadboard'da genoeg ruimte eromheen ile tanıştı.

Verbindt de analog çıkışlı sıcaklık sensörü sensörü, A0 van de foton ve zemin rayları ile bir araya geldi.

3,3V raylarla bir araya gelen sensörlerin girişleri için sensörler.

De afstandssensör ve 3.3V raylarda kapı girişi worden, stopen, zemin raylarında zemin ve A1 van de foton te stopen analog çıkış.

Her şeyden önce LCD-scherm solgunluğu, her şeyden önce:

1. Verbindt de potansiyometre ve devre tahtası toprakta 5V ile buluştu.

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

Pim 1, 5 tr 16 van de LCD naar zemin. Pin 2 ve 15 naar 5V.

Verbindt de analog çıkış van de potansiyometre, de middelste pin, met pin 3 van de LCD.

3. Verbindt de volgende foton pimleri, LCD pimleri ile jumper draadjes ile bir araya geldi.

Pin D5 ve Pin 4

Pin D4 ve Pin 6

Pin D3 ve Pin 11

Pin D2 ve Pin 12

Pin D1 naar Pin 13

Pin D0 ve Pin 14

Potansiyometre ve fotonların bağımsız olarak kullanılması, LCD-scherm blokjes verschijnen.

Adım 9: De Opstelling'de Plaats De Photon En Het LCD-Scherm

De Opstelling'de Plaats De Photon En Het LCD-Scherm
De Opstelling'de Plaats De Photon En Het LCD-Scherm

Benodigdheden:- Powerbank (opsiyonel)

Çıplak foton klaar voor gebruik, LCD-scherm kan tegen het geplakt worden'de en iyi şekilde düşünülmüştür. Güç bankasından her an her şey yolunda gitti.

Adım 10: Kalibreren (optioneel)

Benodigdheden:

- Luchtvochtigheidssensor

- Sıcaklık ölçer

- Rolmaat

- Kod çıktısı voor rauwe waarden van de sensoren die gekalibreerd moeten worden

Als de yazılım niet goed blijkt te werken bir araya geldi de sensoren kan er voor gekozen worden om de sensoren zelf de Kalibreren.

Sıcaklıkölçer ve sıcaklıkölçerler, mekanik kapı metingenleri, sıcaklıkölçerler ve sensörler.

En iyi ölçümler için en iyi ve en iyi ölçümler.

De bijgeleverde kodunda zitten yorumlar die aangeven waar dit soort kalibratie variabelen staan.

Adım 11: De Warmte Endeks Ölçer Klaar Voor Gebruik

Veel plezier!

Önerilen: