Mündəricat:
- Təchizat
- Addım 1: De Photon Instellen
- Addım 2: Paardenhaar
- Addım 3: Maak Een Horizontale Opstelling Daaraan Een Kastje ilə tanış oldu
- Addım 4: Məlumatların LCD ekranda göstərilməsi
- Addım 5: Maak Een Hefboom
- Addım 6: Təcrübə edin
- Addım 7: Schrijven kodlayın
- Addım 8: Verbind De Photon
- Addım 9: De Photstelling-də De-Opstelling-də LCD-Scherm-ni tərtib edin
- Addım 10: Kalibreren (seçim)
- Addım 11: De Warmte İndeks Ölçən Klaar Voor Gebruikdir
Video: Warmte İndeks Ölçən: 11 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Təlimat verilə bilər ki, indeksi indeks sayğacı hazırlanır.
İstehsalçı indeks ölçmə cihazları ən çox istifadə edilə bilən sistemlərdən biridir.
Sayğac ölçüsü nə qədər böyükdürsə, bir o qədər də pis deyil.
Təchizat
- Partikül Photon çörək taxtası ilə görüşdü
- Temperatür sensoru (TMP36)
- Ölçüləri 10 sm 20 sm.
- Powerbank
- 220 Ohm dayaq
- Çörək paneli lövhəsi, 9+
- Mobiele telefon + Kompüter
- Paardenhaar
- Hout en houtlijm
- Gereedschap: Boormachine/schroevendraaier, zaag en vijl
- Zeep
- 2 potloden- Kürk
- Kağız + kağız ilə
- Gewichtjes, metal plaatjes və kloine loodjes
Seçim:
- LCD scherm + 10k Ohm potensiometr + Kişi/Qadın tullanan draadjes, 12
- Luchtvochtigheidsmetr
- Temperatürmetr- Rolmaat
Addım 1: De Photon Instellen
Benodigdheden:- Mobiele telefon
- Foton
- Kompüter
Hissəcik hesabını yükləmək üçün telefon tətbiqetməsini yükləyin.
Kompüterdə usb-kabel bağlantısını dayandırın, Wi-Fi-da foton tələb edin.
Setup.particle.io vasitəsilə qeyd edin.
Addım 2: Paardenhaar
Benodigdheden:- Paard
Minimum 60 sm-dən çox olmayan hər hansı bir hidrometrdən istifadə edin.
Şəxsi məlumatların təhlili, işin staart/manenin pisləşməsi getrokken (öz riski ilə əlaqədardır).
Addım 3: Maak Een Horizontale Opstelling Daaraan Een Kastje ilə tanış oldu
Benodigdheden:- Zeep
- Hout + lijm
- Gereedschap
Mövzunu başa vurmaq üfüqdədir və ən çox maraqlanırsınızsa, bu, çox böyük bir şeydir.
Ontvet de paardenhaar
Ən üfüqi məsafə, ən azı 50 sm. Zor məlumat genoeg haar over is is de de hefboom en het gewicht te bevestigen (zie volgende stap)
Addım 4: Məlumatların LCD ekranda göstərilməsi
Benodigdheden:- Houtlij
- Gereedschap: zaag
Həqiqətən də, hər şeyi ayırmaq üçün bir plan hazırlayırıq. Planlaşdırılmış ayaqqabı lövhəsi də fotondan başqa bir sözlə də tapıla bilər. Hər hansı bir məlumat əldə etmək mümkün deyilsə, bu da LCD-ekran üzərində işləyir. Əlavə olaraq paralel olaraq hər şey plana daxil edilir. Als de bak klaar is no deze op zijnant naast de haar hasden gezet aan de kant waar de gewichtjes aan de haar hangen.
Addım 5: Maak Een Hefboom
Benodigdheden:- 2 potloden
- Kurk
- Karton + kağız ilə
- Gewichtjes
- Gereedschap: vijl en boor
Həqiqətən də hər şeyi yaxşı başa vur. Müvəqqəti olaraq hər şeyi yoxlaya bilərsiniz.
Ən çox istifadə edilə bilən sənədlər (və ya digər kartlar üçün) və ya hər hansı bir sənəddə qeyd oluna bilər.
Verbind və ya balanslaşdırıcılar bir -birindən fərqli olaraq (3 aylıq dövrdə).
Addım 6: Təcrübə edin
Benodigdheden:
- Əfsuslar olsun
- Seçim (seçim)
- Əlavə lehim dəsti (seçim)
Minimum 12 sm uzunluğunda və ən yüksək məsafədə- 60%.
İndi heç bir problem yoxdur.
Als de bedrading van de afstandssensor niet de houten bak zulen deze eerst verlengd moeten bad.
Addım 7: Schrijven kodlayın
Benodigdheden:- Kompüter hissəcik hesabına qovuşdu
Build.particle.io haqqında ən çox məlumat əldə edə bilərsiniz. HeatIndex ilə əlaqəli heç bir məlumat yoxdur.
Kitabxanalarda, LiquidCrystal -ı tətbiqdə idxal edin.
Tətbiqdə pisləşən kod gekopieerd:
Şərhlər qapıdan əvvəl açılır və əvvəlcədən yazılır.
Əlavə olaraq, şərhlər də şərhlərdə şərh edilə bilər.
// Aşağıdakı kitabxanaları daxil edin: #include #include
// Bu quruluşdakı bütün sensorlar üçün oxu oxları:
int tempSensor = A0; int intSensor = A1;
// Nəşr qaydaları:
// Nəşr üçün gecikmə vaxtı və hadisə adı. // Gecikmə vaxtı milisaniyələrdə. int delayTime = 15000; String eventName = "Aktual_Temperatur";
/////////////////////////////////////////////////
// Maye kristal ekran kodu ////////////////// LiquidCrystal lcd (D5, D4, D3, D2, D1, D0) məlumat pinləri ilə ekranı işə salın;
// İstilik indeksi dəyərləri üçün sərhədlər qurun
int caution = 27; int eCD = 33; int təhlükə = 40; int ekstremal = 52;
// Müəyyən bir istilik indeksi dəyəri üçün bir mesaj qaytarır.
String mesajı (int hI) {if (hI <caution) {return "Ehtiyatsızlıq"; } if (hI <eCD) {return "Diqqət!"; } if (hI <təhlükə) {qayıt "Çox ehtiyatlı olun!"; } if (hI <həddindən artıq) {return "Danger !!"; } "EXTREME DANGER !!" qayıt; }
// Ekranın ikinci sətirindəki mesaj.
String message2 = "Aktual T:";
//////////////////////////////////////////////////////
// Uzaqlıq sensoru kodu //////////////////////////////////////// Sensorun qaytardığı minimum və maksimum xam dəyərlər. int minD = 2105; int maxD = 2754;
// Sensorun hər 5 mm -də qaytardığı faktiki xam dəyərlər.
int on = 2754; int tenP = 2691; int eleven = 2551; int elevenP = 2499; int on iki = 2377; int on ikiP = 2276; int on üç = 2206; int onüçP = 2198; int on dörd = 2105;
// Hər 5 mm üçün xam dəyərə aid olan məsafəni sm olaraq qaytarır.
float getDis (int number) {switch (number) {case 2754: return 10; dava 2691: qaytarma 10.5; dava 2551: qayıt 11; dava 2499: 11.5 qaytar; dava 2377: qayıt 12; dava 2276: qayıt 12.5; dava 2206: geri qayıt 13; dava 2198: geri 13.5; dava 2105: 14 qaytar; }}
// Məsafə sensorunun çəkdiyi faktiki məsafəni sm ilə hesablayır.
float calcDis (int start, float stop, int ölçmə) {float distance = getDis (start); float addımı = (stop - start)/10; for (int i = 0; i <5; i ++) {if (ölçü = (başlanğıc-addım)) {dönüş məsafəsi; } start = start - addım; məsafə = məsafə + 0.1; }}
// Aralarındakı məsafə sensoru böyük sərhədləri yoxlayır.
üzmə məsafəsi (int ölçmə) {// Əgər məsafə sensoru 10 ilə 14 sm arasında deyilsə, // faktiki məsafəni və geri dönmə 10 -u bilmirik. əgər (ölçü maxD) {qaytar 10.0; } if (ölçmə <= on üçP) {qaytar hesablamaDis (on üçP, on dörd, ölçü); } if (ölçü <= on üç) {return calcDis (on üç, on üçP, ölçü); } if (ölçmə <= on ikiP) {qaytar hesablamaDis (on ikiP, on üç, ölçü); } if (ölçü <= on iki) {return calcDis (on iki, on ikiP, ölçü); } if (ölçü <= elevenP) {return calcDis (elevenP, on iki, ölçü); } if (ölçü <= on bir) {return calcDis (eleven, elevenP, ölçü); } if (ölçmə <= tenP) {qaytar hesablamaDis (tenP, on bir, ölçü); } if (ölçü <= on) {return calcDis (on, tenP, ölçü); } // Kod heç vaxt bura daxil olmamalıdır. qayıt -2; }
///////////////////////////////////////////////////////////////////////////////////////
// Temperatur sensoru kodu //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// / // İstilik sensoru üçün mV -də istifadə olunan maksimum gərginlik. float maxV = 3300.0;
// İstilik sensorunun geri qayıtdığı əsas gərginlik və müşayiət olunan temperatur.
// Gərginlik mV -dədir. int baseV = 750; int baseT = 25;
// Analoq pində ölçülmüş dəyərdən temperaturu hesablayır.
float calcTemp (int ölçü) {float gərginliyi = ((maxV/4096)*ölçü); float diff = baseV - gərginlik; float temp = baseT - (fərq/10); qaytarılma temperaturu; }
///////////////////////////////////////////////////
// Rütubət hesablamaları ///////////////////////////////////////// Rütubət hesablamaları üçün dəyişənlər, // faktiki rütubət sensorlarından gəlir. float h15 = 10.0; float h30 = 10.5; float h60 = 11.5; float h75 = 12.0; şamandıra h90 = 12.5; float stepH = 0.167;
// Müəyyən bir məsafə aralığında nisbi rütubəti qaytarır.
int CalcHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = yuvarlaq (i1); int çıxışı = (start + (5*i)); geri dönüş; }
// Nisbi rütubəti qaytarır.
int rütubət (float dis) {if (dis <= h30) {return CalcHum (dis, h15, h30, 15); } if (dis <= h60) {return CalcHum (dis, h30, h60, 30) qaytar; } if (dis <= h75) {return CalcHum (dis, h60, h75, 60); } if (dis <= h90) {return calcHum (dis, h75, h90, 75) qaytar; } 100 qaytar; }
///////////////////////////////////////////////////
// İstilik indeksi düsturu ///////////////////////////////////////////////// İstilik indeksi düsturunda istifadə olunan sabitlər 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;
// İstilik və nisbi rütubət alan istilik indeksi formulu.
float heatIndex (float t, int h) {qayıt 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); }
///////////////////////////////////////////////////////////////////////////////
// Digər tapıntılar/dəyişənlər ////////////////////////////////////////// /////////////////////////////////////////////////// ///////////////////////////////////////////////// Bir ondalığa yuvarlaqlaşdırılmış floatın simli təsvirini qaytarır. String rOne (float num) {int value = round (sayı*10); String çıxışı = (String) dəyəri; char sonu = çıxış [strlen (çıxış) -1]; int sol = dəyər/10; String begin = (String) sol; qayıtmağa başla + "." + son; }
//////////////////////////////////////////////////////////////////////////////
/ Buradakı bütün kodlar, loop funksiyaları başlamazdan əvvəl Photonda bir dəfə işlədilməlidir.
void setup () {// LCD -nin sütun və satır sayını təyin edin: lcd.begin (16, 2); }
// Buradakı bütün kodlar döngələnir və məlumat əldə etməyi, təmizləməyi və onlayn rejimdə yerləşdirməyi ehtiva etməlidir.
void loop () {// İstilik və rütubət əldə edin. şamandıra tempi = calcTemp (analogRead (tempSensor)); float dis = məsafə (analogRead (disSensor)); int hum = rütubət (dis); String humid = (String) hum; // İstilik indeksini hesablayın. float hI = heatIndex (temp, hum); // Çıxış simini qurun və bütün mesajları LCD ekranda çap edin. String çıxışı = rOne (hI); lcd.setCursor (0, 0); lcd.print (mesaj (yuvarlaq (hI))); lcd.setCursor (0, 1); lcd.print (mesaj2 + çıxış + "C"); çıxış = çıxış + "" + rütubətli; // İstilik indeksi dəyərlərini onlayn yayımlayın və yenidən dönməzdən əvvəl gözləyin. Particle.publish (hadisə Adı, çıxışı); gecikmə (delayTime); }
Addım 8: Verbind De Photon
Benodigdheden:
- Çörək taxtasında foton
- Temperatur sensoru
- 220 Ohm dayaq
- Afstandssensor
- 10k Ohm potensialiometr (seçim)
- Genoeg çörək taxtası, 9+
- Kişi/Qadın tullanan draadjes, 12 (seçim ayağı)
Verbindt de 3.3V, fotoşəkillər + relslər ilə təchiz olunmuşdur.
5V -də foton və ya kant -a -a -a qədər çox şey var.
Çörək lövhəsində hər hansı bir problemlə qarşılaşmayın.
Verbindt həm də temperatuursensor A0 ilə birlikdə fotoşəkil və torpaq relsləri ilə tanış oldu.
3.3V relslər üçün sensorlar və giriş məlumatları yoxlanılır.
3.3V relslərin dayandığı yerdəki pis qapıların girişi, yerdəki relslərdə yerin A1 -də fotonun dayanacağında oxşar çıxışı var.
Əlavə olaraq, LCD-scherm istifadə etmək mümkün deyil:
1. Verbindt de potentiometer aan het breadboard 5V en de ground.
2. Videokontinajlı tullananların sayı LCD-lərdən bir qədər yüksəkdir və hər hansı bir sahə yoxdur.
Pin 1, 5 en 16 şüşə LCD. Pin 2 -dən 15 -ə qədər 5V.
Potensialiometr, middelste pin, 3 pinli LCD üçün analoji çıxış.
3. Videokontaktların foton pinləri, LCD sancaqlar ilə tullananların bir araya gəlməsini təmin edir.
Pin D5 və ya Pin 4
Pin D4 və ya Pin 6
Pin D3 və ya Pin 11
Pin D2 və ya Pin 12
Pin D1 və ya Pin 13
Pin D0 və ya Pin 14
Əlavə fotoşəkillərin hamısı LCD ekranlı bloklar tərəfindən istifadə edilə bilər.
Addım 9: De Photstelling-də De-Opstelling-də LCD-Scherm-ni tərtib edin
Benodigdheden:- Powerbank (seçim)
Bu fotoşəkillərin ən çox istifadə edildiyi yerlər, LCD ekranlı bir cihazdır. Bu gündən etibarən, birdən -birə elektrik enerjisi bankı ilə işləmək mümkün deyil.
Addım 10: Kalibreren (seçim)
Benodigdheden:
- Luchtvochtigheidssensor
- Temperatürmetr
- Rolmaat
- Kod çıxarıldıqdan sonra heç bir problem yoxdur
Bütün digər proqramlar da sensorlar ilə işlədilərək, bütün məlumatların yoxlanılmasını təmin etdi.
Temperaturu ölçmək üçün cihazın qapısını açmaqla sensoru yoxlamaq lazımdır.
Şəxsi məlumatların qorunub saxlanılmasının ən böyük ehtimalı var.
Bijgeleverde kodunda zitten şərhləri dəyişə bilər.
Addım 11: De Warmte İndeks Ölçən Klaar Voor Gebruikdir
Gözəllik!
Tövsiyə:
Daxili Hava Keyfiyyət Ölçən: 5 Addım (Şəkillərlə birlikdə)
Bağlı Hava Keyfiyyət Ölçən: Evinizdəki havanın keyfiyyətini yoxlamaq üçün sadə bir layihədir. Son vaxtlar evdən çox qaldığımız/işlədiyimiz üçün havanın keyfiyyətini izləmək və pəncərəni açmağın vaxtı gəldiyini özünüzə xatırlatmaq yaxşı bir fikir ola bilər. və təmiz havaya girin
DIY Cib Ölçüsü DC Gərginlik Ölçən: 5 addım
DIY Cib Ölçüsü DC Gərginlik Ölçən: Bu təlimatda özünüzə dövrə yoxlaması üçün DIY cib ölçülü DC gərginlik sayğacını piezo siqnalı ilə necə edəcəyinizi göstərəcəyəm. Lazım olan yeganə şey elektronikada əsas biliklər və bir az vaxtdır. Əgər hər hansı bir sualınız və ya probleminiz olarsa
DIY Çox Fonksiyonlu Enerji Ölçən V2.0: 12 Addım (Şəkillərlə birlikdə)
DIY Çox Fonksiyonlu Enerji Ölçən V2.0: Bu Təlimat kitabında sizə Wemos (ESP8266) əsaslı Çox Fonksiyonlu Enerji Ölçəninin necə hazırlanacağını göstərəcəyəm. Bu kiçik Metr, gərginliyi, cərəyanı, gücü, enerjini və tutumu izləyən çox faydalı bir cihazdır. Bunlardan başqa havanı da izləyir
Portativ Aralığı Ölçən: 10 addım
Portativ Aralığı Ölçən: Kyle Scott
ML8511 ULTRAVIOLET Sensor Arduino istifadə edərək UV İndeks Ölçən: 6 addım
ML8511 ULTRAVIOLET Sensor Arduino istifadə edərək UV İndeks Ölçən: Bu dərslikdə ML8511 ULTRAVIOLET Sensorundan istifadə edərək Günəş UV İndeksini ölçməyi öyrənəcəyik. https://www.youtube.com/watch?v=i32L4nxU7_M