Мазмуну:
- Жабдуулар
- 1 -кадам: De Photon Instellen
- 2 -кадам: Парденхаар
- 3 -кадам: Maak Een Horizontale Opstelling менен жолугушуу Daaraan Een Kastje
- 4-кадам: Маак Een Kastje Voor De Photon En LCD-scherm
- 5 -кадам: Maak Een Hefboom
- 6 -кадам: Платациялар Афтандметрдин жардамы менен
- 7 -кадам: Шрижвен коду
- 8 -кадам: Verbind De Photon
- 9-кадам: Plaats De Photon En Het LCD-Scherm in De Opstelling
- 10 -кадам: Калибререн (вариант)
- 11 -кадам: De Warmte Index Meter Клар Воор Гебруик
Video: Warmte Index Meter: 11 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Көрсөтүлө турган индикаторлордун көрсөткүчтөрү.
Индекстин көрсөткүчтөрүнүн көрсөткүчтөрү негизи болуп саналат.
Deze meter is bedoeld voor binnen maar kan buiten worden gebruikt mits er geen neerslag valt en er een windvrij plekje wordt gebruikt.
Жабдуулар
- Photon бөлүкчөсү панель менен жолугушту
- Температуралык сенсор (TMP36)
- 10 см 20 см.
- Powerbank
- 220 Ом салмагы
- Breadboard draadjes, 9+
- Mobiele телефон + Компьютер
- Парденхаар
- Hout en houtlijm
- Gereedschap: Boormachine/schroevendraaier, zaag en vijl
- Зип
- 2 паллоден- Курк
- Картоннан + папье менен
- Gewichtjes, denen aan kleine loodjes of metalen plaatjes
Optioneel:
- ЖК scherm + 10k Ohm потенциометр + Эркек/Аял секирүүчү драаджес, 12
- Luchtvochtigheidsmeter
- Температура өлчөгүч- Ролмаат
1 -кадам: De Photon Instellen
Benodigdheden:- Mobiele телефон чалуусу
- Фотон
- Компьютер
Бөлүкчө тиркемесин жүктөп алыңыз, же бөлүкчө эсеби боюнча.
Компьютерде USB-кабелди токтотуп, Wi-Fi аркылуу фотону талап кылыңыз.
Setup.particle.io аркылуу канды басыңыз.
2 -кадам: Парденхаар
Benodigdheden:- Паар
60 см ге чейинки аралыкта гидрометр жок
De haren kunnen начарлады афгекнипт, of uit de staart/manen worden getrokken (op eigen risico).
3 -кадам: Maak Een Horizontale Opstelling менен жолугушуу Daaraan Een Kastje
Benodigdheden:- Zeep
- Hout + lijm
- Gereedschap
Үстүбүздөгү жылдын акырында горизонталдык пейджер менен таанышып чыгыңыз.
Ontvet de paardenhaar
Горизонталдуу аралык, эң кичине 50 см. Zorg dat er genoeg haar over is is de de hefboom en het gewicht te bevestigen (zie volgende stap)
4-кадам: Маак Een Kastje Voor De Photon En LCD-scherm
Benodigdheden:- Hout en houtlijm
- Gereedschap: zaag
Маак ээн жөнөкөй эле хутен бак зондер дексел менен жолугушту, экөөнү бөлүүчү бөлүндү. Оп -такта планетанын башка бөлүктөрү дагы фотон менен таанышып чыгышты. Жарыяланган даталар жана видеолор 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.
5 -кадам: Maak Een Hefboom
Benodigdheden:- 2 потолоден
- Курк
- Картоннан + папье менен
- Gewichtjes
- Gereedschap: vijl en boor
Боор ээн гат in het kastje en plaats het korte potlood. Het lange potlood dient uitgevijld te badden zodat deze op het korte potlood kan balanceren.
Плакатта папиерди колдонуңуз (дит гевал картондо) жана плацтарды жасаңыз.
Verbind де pafardenhaar тең салмактуулукту теңдештирүүчү болуп саналат (бул 3 релге).
6 -кадам: Платациялар Афтандметрдин жардамы менен
Benodigdheden:
- Afstandsensor
- Тандоо (опция)
- Extra draad en soldeer set (optioneel)
Эң кичинекей 12 сантиметрге жакын аралыкта +- 60%.
Индейлердин ою боюнча.
Als de bedrading van de afstandssensor niet de houten bak halen zullen deze eerst verlengd moeten worden.
7 -кадам: Шрижвен коду
Benodigdheden:- Компьютер бөлүкчө эсебине жолукту
Build.particle.io тиркемесин колдонуңуз. HeatIndex.
Китепканалар LiquidCrystal менен импорттолот.
Дан -де -коддун коду колдонмодо бузулган:
Ли де комментарийлер эшиктин алдын ала коңгуроо коет.
Кандай гана болбосун, комментарийлерди алуудан баш тартыңыз.
// Төмөнкү китепканаларды киргизиңиз: #include #include
// Бул түзүлүштөгү бардык сенсорлор үчүн аналогдук окуу казыктары:
int tempSensor = A0; int disSensor = A1;
// Жарыялоо эрежелери:
// Жарыялоонун кечигүү убактысы жана окуя аты. // Милисекунд менен кечигүү убактысы. int delayTime = 15000; String eventName = "Actual_Temperature";
/////////////////////////////////////////////////
// Суюк кристалл дисплей коду ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////// Дисплейди LiquidCrystal lcd (D5, D4, D3, D2, D1, D0) маалымат түйүндөрү менен баштоо;
// Жылуулук индексинин маанилери үчүн чектерди орнотуу
int caut = 27; int eCD = 33; int risk = 40; int Extreme = 52;
// Белгилүү бир жылуулук индекси үчүн билдирүүнү кайтарат.
String message (int hI) {if (hI <caution) {return "No Абайлаңыз."; } if (hI <eCD) {return "Абайла!"; } if (hI <коркунуч) {кайтаруу "Өтө этият!"; } if (hI <Extreme) {return "Danger !!"; } return "EXTREME DANGER !!"; }
// Дисплейдин экинчи сабындагы билдирүү.
String message2 = "Чыныгы Т:";
//////////////////////////////////////////////////////
// Расстояние датчик коду ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////// Минималдуу жана максималдуу чийки баалуулуктар сенсор кайтарат. int minD = 2105; int maxD = 2754;
// Чыныгы чийки баалуулуктар сенсор ар бир 5мм кайтып келген.
int ten = 2754; int tenP = 2691; int eleven = 2551; int elevenP = 2499; int twelve = 2377; int twelveP = 2276; int thteen = 2206; int thteenP = 2198; int он төрт = 2105;
// Ар бир 5 мм үчүн чийки мааниге таандык болгон аралыкты см менен кайтарат.
float getDis (int number) {switch (number) {case 2754: return 10; case 2691: кайтаруу 10.5; case 2551: return 11; case 2499: 11.5 кайтаруу; case 2377: return 12; учурда 2276: кайтарым 12.5; case 2206: return 13; case 2198: return 13.5; Case 2105: кайтаруу 14; }}
// Иш жүзүндөгү аралыкты сенсор басып алган см менен эсептейт.
float hesap float step = (stop - start)/10; for (int i = 0; i <5; i ++) {if (ölçü = (баштоо кадамы)) {кайтуу аралыгы; } баштоо = баштоо - кадам; аралык = аралык + 0.1; }}
// Алыстык сенсорунун ортосунда чоң чек араларды текшерет.
сүзүү аралыгы (int өлчөө) {// Эгерде аралык сенсору 10-14 см ортосунда болбогондо, // биз чыныгы аралыкты жана кайтууну билбейбиз 10. if (өлчөө maxD) {кайтаруу 10.0; } if (өлчөө <= он үчР) {return calcDis (он үчР, он төрт, өлчөө); } if (өлчөө <= он үч) {return calcDis (он үч, он үчР, өлчөө); } if (өлчөө <= twelveP) {return calcDis (он эки Р, он үч, өлчөө); } if (өлчөө <= он эки) {return calcDis (он эки, он эки Р, өлчөө); } if (өлчөө <= elevenP) {return calcDis (elevenP, он эки, өлчөө); } if (өлчөө <= он бир) {return calcDis (он бир, он бирP, өлчөө); } if (өлчөө <= tenP) {return calcDis (tenP, он бир, өлчөө); } if (өлчөө <= он) {return calcDis (он, tenP, өлчөө); } // Код эч качан бул жерге кирбеши керек. return -2; }
///////////////////////////////////////////////////////////////////////////////////////
// Температура сенсорунун коду ////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////// /////////////////////////////////////////////////// / // Максималдуу чыңалуу mV, температура сенсору үчүн колдонулат. float maxV = 3300.0;
// Негизги чыңалуу жана коштоочу температура, температура сенсору кайтып келет.
// Чыңалуу мВ. int baseV = 750; int baseT = 25;
// Температураны аналогдук пиндеги өлчөнгөн мааниден эсептейт.
float эсептөөTemp (int өлчөө) {калкыма чыңалуу = ((maxV/4096)*өлчөө); float diff = baseV - чыңалуу; float temp = baseT - (diff/10); кайтарым темп; }
///////////////////////////////////////////////////
// Нымдуулуктун эсептөөлөрү ////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////// Нымдуулукту эсептөө үчүн өзгөрмөлөр // чыныгы нымдуулук сенсорлорунан келет. сүзүү h15 = 10.0; сүзүү h30 = 10.5; float h60 = 11.5; float h75 = 12.0; float h90 = 12.5; float stepH = 0.167;
// Белгилүү бир аралык диапазону үчүн салыштырмалуу нымдуулукту кайтарат.
int calculyHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = тегерек (i1); int чыгаруу = (баштоо + (5*i)); кайтаруу чыгаруу; }
// Салыштырмалуу нымдуулукту кайтарат.
int nem (float dis) {if (dis <= h30) {return calculum (dis, h15, h30, 15); } if (dis <= h60) {return calculum (dis, h30, h60, 30); } if (dis <= h75) {return calcHum (dis, h60, h75, 60); } if (dis <= h90) {return CalcHum (dis, h75, h90, 75); } кайтуу 100; }
///////////////////////////////////////////////////
// Жылуулук индексинин формуласы ///////////////////////////////////////////////// Жылуулук индексинин формуласында колдонулуучу константалар 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) {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); }
///////////////////////////////////////////////////////////////////////////////
// Башка маалымат/өзгөрмөлөр ////////////////////////////////////////// /////////////////////////////////////////////////// ///////////////////////////////////////////////// // Бир ондукка чейин тегеректелген калкып чыгуучу саптын көрсөтмөсүн кайтарат. String rOne (float num) {int value = round (num*10); String output = (String) мааниси; char end = output [strlen (output) -1]; int left = мааниси/10; String begin = (Стринг) сол; кайтуу башталат + "." + аягы; }
//////////////////////////////////////////////////////////////////////////////
/ Бул жердеги бардык коддор цикл функциялары башталганга чейин Photonдо бир жолу иштетилиши керек.
void setup () {// ЖКнын мамычаларынын жана катарларынын санын тууралаңыз: lcd.begin (16, 2); }
// Бул жердеги бардык коддор илинип турат жана анда маалыматтарды алуу, аны тактоо жана онлайнга коюу камтылышы керек.
void loop () {// Температураны жана нымдуулукту алуу. сүзүүчү темп = calcTemp (analogRead (tempSensor)); float dis = расстояние (analogRead (disSensor)); int hum = нымдуулук (дис); String humid = (String) hum; // Жылуулук индексин эсептөө. float hI = heatIndex (temp, hum); // Чыгуучу сапты орнотуңуз жана бардык билдирүүлөрдү ЖК дисплейге басып чыгарыңыз. Сап чыгаруу = rOne (hI); lcd.setCursor (0, 0); lcd.print (кабар (тегерек (hI)))); lcd.setCursor (0, 1); lcd.print (message2 + чыгаруу + "C"); чыгаруу = чыгаруу + "" + нымдуу; // Интернетте жылуулук индексинин баалуулуктарын жарыялап, кайра айлантуудан мурун күтө туруңуз. Particle.publish (eventName, output); кечиктирүү (delayTime); }
8 -кадам: Verbind De Photon
Benodigdheden:
- Photon en breadboard
- Температуралык сенсор
- 220 Ом салмагы
- Afstandssensor
- ЖК-схемасы 10k Ohm потенциометринде (опция)
- Genoeg breadboard draadjes, 9+
- Эркек/Аял секирүүчү драаджес, 12 (optioneel)
Verbindt de 3.3V de de photon met de + rails aan dezelfde kant en verbindt de ground aan de - rails.
Verbindt de 5V van de photon aan de kant aan de + rails aan die kant.
Stop er temperatura ergens genoeg ruimte eromheen менен het breadboard.
Verbindt де analoge output van de temperatuursensor A0 ван де фотон менен жер рельстери жолугушту.
3.3V рельстери менен таанышуу үчүн, сенсорлорду киргизүү керек.
3.3V рельске токтоочу эшикке кирүүчү эшикти ачып, A1 ван де фотондогу аналогдук өндүрүштөгү жер рельстеринде жер.
Же LCD-scherm каалаган убакта иштебей калат:
1. Verbindt de potentiometer aan het breadboard 5V en de ground менен жолугушту.
2. Verbindt де volgende jumper draadjes aan het LCD-scherm warbij pin 1 het dichtsbij de rand van het scherm is.
Pin 1, 5 en 16 ван на LCD. Pin 2 en 15 naar 5V.
Потенциометрдин аналогдук чыгарылышы, middelste pin, pin 3 van de LCD.
3. Verbindt de volgende photon pins noar LCD LCD pins jumper draadjes менен жолугушту.
Pin D5 на Пин 4
Pin D4 на пин Pin 6
Pin D3 на Pin Pin 11
Pin D2 на Pin Pin 12
Pin D1 наар Pin 13
Pin D0 наар Pin 14
Бул жерде дагы потенциометрдин жардамы менен ЖК-сфералык блоктору ачылып турат.
9-кадам: Plaats De Photon En Het LCD-Scherm in De Opstelling
Benodigdheden:- Powerbank (вариант)
Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсунбу? Бул фото де латын драйвынын эң кубаттуу учуру.
10 -кадам: Калибререн (вариант)
Benodigdheden:
- Luchtvochtigheidssensor
- Температура өлчөгүч
- Ролмат
- Коддун чыгарылышы өчүрүлдү
Als de software niet goed blijkt te werken met de sensoren kan er voor gekozen worden om de sensoren zelf de kalibreren.
De temperatuurmeter кан vrij makkelijk gekalibreerd worden door metingen met een temperatuurmeter te vergelijken де 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 echte luchtv.
Жылы коду zitten комментарийлер калибратия өзгөрөт.
11 -кадам: De Warmte Index Meter Клар Воор Гебруик
Veel plezier!
Сунушталууда:
E-dohicky Russ's Laser Power Meter Dohicky электрондук версиясы: 28 кадам (Сүрөттөр менен)
E-dohicky Russ's Laser Power Meter Dohicky электрондук версиясы: Laser power tool.e-dohicky-Russ SADLERден келген dohickyдин электрондук версиясы. Russ абдан жакшы SarbarMultimedia youtube каналын жандандырат https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER оңой жана арзан аксессуарды
DIY чөнтөк өлчөмү DC Voltage Meter: 5 кадам
DIY чөнтөк өлчөмү DC чыңалуу өлчөгүчү: Бул көрсөтмөдө мен DIY чөнтөк өлчөмүн DC чыңалуу өлчөгүчүн пьезо -зумзер менен кантип өзүң текшерүү керектигин көрсөтөм. Сизге керектүү нерселердин баары электроника боюнча негизги билим жана бир аз убакыт.Эгер сизде кандайдыр бир суроо же көйгөй болсо, анда сиз
DIY Multifunction Energy Meter V2.0: 12 кадам (Сүрөттөр менен)
DIY Multifunction Energy Meter V2.0: Бул Нускамада мен сизге Wemos (ESP8266) негизделген көп функциялуу энергия эсептегичти кантип жасоону көрсөтөм. Бул кичинекей Метр - бул чыңалууну, токту, кубаттуулукту, энергияны жана кубаттуулукту көзөмөлдөгөн абдан пайдалуу түзүлүш. Булардан тышкары, ал ошондой эле чөйрөнү көзөмөлдөйт
EPA UV Index Feed / IOT: 4 кадам (Сүрөттөр менен)
EPA UV Index Feed / IOT: Бул кичинекей түзмөк жергиликтүү UV индексиңизди EPAдан тартып, UV деңгээлин 5 түрдүү түстө көрсөтөт, ошондой эле OLED боюнча маалыматтарды көрсөтөт. UV 1-2 жашыл, 3-5 сары, 6-7 апельсин, 8-10 кызыл, 11+ кызгылт көк
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)