Բովանդակություն:
- Քայլ 1: Պատրաստեք ձեր սարքը
- Քայլ 2: Երկու կետի չափաբերում
- Քայլ 3: Օգտագործեք այն արժեքները, որոնք ստանում եք ճիշտ ճանապարհով:
Video: DS18B20 տվիչի չափաբերում Arduino UNO- ով. 3 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
ՀՐԱԱՐՈԹՅՈՆ.
Սարքը, որը տեսնում եք նկարներում, օգտագործվում է մեկ այլ նախագծում `որպես թերմոստատ` ֆիլմի մշակման համար: Այդ նախագծին կարող եք ծանոթանալ այստեղ: Սենսորը կամ մեկից ավելին ճշգրտելու համար ձեզ հարկավոր կլինի այն, ինչ կգտնեք այս նախագծում, ոչ ավելին, և դա նույնպես բավականին հիմնական է: Գնացինք!
Քայլ 1: Պատրաստեք ձեր սարքը
Ահա այն, ինչ ձեզ հարկավոր է.
- Arduino UNO (կամ MEGA)
- DS18B20 տվիչ (ներ)
- 4kOhm - 5kOhm դիմադրություն (ես օգտագործել եմ 5k1Ohm)
- LCD էկրան ՝ արժեքները կարդալու համար (կարող եք նաև օգտագործել նոութբուք և պարզապես կարդալ դրանք սերիական մոնիտորի վրա)
- Էսքիզ, որն օգտագործում է սենսորը և ինչ -որ կերպ ցույց է տալիս արժեքները
Առաջին հերթին, դուք պետք է միացնեք ձեր մոդուլները և տվիչը ձեր վերահսկիչին: Ես թողնում եմ LCD- ի բարդ հատվածը, որպեսզի դուք կարողանաք որոնել համացանցը, և ես պարզապես ձեզ կասեմ, թե ինչպես միացնել սենսորը:
Սովորաբար այդ տվիչները գալիս են երեք գունավոր լարերով ՝ Սև, Կարմիր, Դեղին: Առաջին երկուսը էներգիայի համար են, իսկ երրորդը ՝ տվյալների: Միացրեք սևը GNN- ին, կարմիրը Vcc- ին (5V) և դեղինն անալոգային մուտքի վրա, ասենք A0:
Այժմ միացրեք դեղին և կարմիր դիմադրությունը `կապերն ավարտելու համար:
Միացրեք նաև LCD- ը (ես առաջարկում եմ պարզ 16x2 LCD i2c միացումով ՝ ընդամենը 4 լար օգտագործելու համար) և ավարտված եք լարերի և մալուխների հետ:
Այժմ ուրվագիծը, որը չափազանց պարզ է.
#ներառել «OneWire.h»
#ներառել «DallasTemperature.h» - ը #սահմանել ONE_WIRE_BUS_1 A0 OneWire մերWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1); #ներառել «LiquidCrystal_I2C.h»
LiquidCrystal_I2C LCD (0x27, 16, 2); բոց RawValue = 0;
void setup () {lcd.init (); lcd. լուսարձակը (); sensor1.begin (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print («ensգայարաններ 1»); lcd.print (RawValue, 1); }
Ինչպես տեսնում եք, մենք օգտագործում ենք Dallas Temperature գրադարանը և i2c կապով LCD էկրան:
Կարգավորման մեջ մենք ինիզիացնում ենք LCD- ն ու սենսորը, իսկ հանգույցում մենք պարզապես պահանջում ենք ջերմաստիճանը և արժեքը պահում փոփոխական RawValue- ի ներսում `այն LCD- ով ցուցադրելու համար:
Եթե ցանկանում եք ավելի պարզ պահել, պարզապես օգտագործեք սերիական մոնիտորը հետևյալ ուրվագծով
#ներառել «Wire.h» #ներառել «OneWire.h» #ներառել «DallasTemperature.h» #սահմանեք ONE_WIRE_BUS_1 A0 OneWire մերWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1);
բոց RawValue = 0;
void setup () {
ուշացում (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print («ensգայարաններ 1»); Serial.println (RawValue, 1); }
Այժմ հետևեք ինձ սենսորը չափագրելու նախագծի առանցքում:
Քայլ 2: Երկու կետի չափաբերում
Նախևառաջ ինչ -որ բան պետք է իմանալ
Thermերմաստիճանի տվիչը չափաբերելու համար դուք պետք է չափեք մի բան, որի ջերմաստիճանը գիտեք: Տանը դա անելու պարզ եղանակը եռացող ջրի և հալվող սառույցի բաղնիքի օգտագործումն է, որը նաև կոչվում է «եռակի կետ» բաղնիք: Այդ դեպքերում մենք գիտենք, որ ծովի մակարդակում ջուրը եռում է 100 ° C ջերմաստիճանում: Հիշեք, որ ճշգրիտ չափումներ կատարելու համար դուք պետք է իմանաք ձեր բարձրությունը և հաշվարկեք այնտեղ եռման համապատասխան ջերմաստիճանը:
Դուք կարող եք ստուգել այն այստեղ!
Իշտն ասած պետք է ստուգել մթնոլորտային ճնշումը և ոչ թե բարձրությունը: Բայց այդ ճանապարհը բավականաչափ ճշգրիտ է:
Եռակի կետի բաղնիքը կամ սառույցի բաղնիքը այն ջերմաստիճանն է, որով ջուրը գոյություն ունի երեք վիճակում `պինդ, հեղուկ և գազ, այդ ջերմաստիճանը 0, 01 ° C է: Պարզեցնելու համար մենք կօգտագործենք 0 ° C:
Իմանալով սենսորի կարդացած արժեքը և այն արժեքը, որը պետք է լինի, մենք կարող ենք փոփոխել DS18B20- ի հում արժեքը `ավելի ճիշտ բանի:
EԱՆՈԹՈ:ԹՅՈՆ. Դուք կարող եք նաև ավելի շատ ջերմաստիճան օգտագործել սենսորը չափագրելու համար `պարզապես այն դնելով մի այլ նյութի մեջ, որից գիտեք եռման կետը` Եթեր (35 ° C), Պենտան (36, 1 ° C), ացետոն (56 ° C) կամ Էթանոլ (78, 37 ° C), բայց այդ եռացող նյութերը արտադրում են բարձր դյուրավառ գազեր: Այնպես որ, մի արա դա:
Եռացող ջուր
Կաթսայի մեջ մի քիչ ջուր լցրեք և տաքացրեք մինչև այն եռա (գազի պղպջակներ են առաջանում, և ջուրն ինքն է իրարանցում): Ընկղմեք ձեր տվիչը այնտեղ, որտեղ այն ոչ մի բանի չի դիպչում, բացի ջրից: Սպասեք մի քանի րոպե և կարդացեք LCD- ը կամ սերիական մոնիտորը:
Temperatureերմաստիճանը պետք է մնա նույնը առնվազն մեկ րոպե: Եթե այո, ապա գրի՛ր այդ արժեքը: Դա ձերն է ՝ RawHigh արժեքը:
Եռակի կետով լոգանք
Այժմ վերցրեք մի մեծ բաժակ (ձեզ ոչ մի հսկայական բան պետք չէ, ոչ մի կաթսա) և լցրեք այն մինչև եզրը սառցաբեկորներով: Փորձեք օգտագործել փոքր չափի սառցաբեկորներ: Այժմ լցրեք բաժակի 80% -ը սառը ջրով: Լրացրեք սառույցը, եթե լծակը փորձում է իջնել:
Այժմ տեղադրեք ձեր տվիչը ջրի/սառույցի մեջ և սպասեք մեկուկես րոպե: Կարդացեք այն ջերմաստիճանը, որը պետք է մնա նույնը առնվազն 30 վայրկյան: Եթե այո, ապա գրեք այն, որ դա ձեր RawLow արժեքն է:
Քայլ 3: Օգտագործեք այն արժեքները, որոնք ստանում եք ճիշտ ճանապարհով:
Այսպիսով, այժմ դուք ստացել եք մի քանի կարևոր արժեքներ.
- Հում բարձր
- RawLow
- ReferenceHigh
- ReferenceLow
Հղումների արժեքն ակնհայտորեն 99.9 ° C է եռացող ջրի համար (իմ 22 մ բարձրության վրա), և 0 ° C հալվող սառցե բաղնիքի համար: Այժմ հաշվարկեք այդ արժեքների տիրույթները.
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Այժմ դուք պատրաստ եք օգտագործել այդ սենսորը ցանկացած այլ նախագծում `համոզված լինելով, որ այն ձեզ ճիշտ չափում կտա: Ինչպե՞ս: Օգտագործելով այն արժեքը, որը դուք ստացել եք այստեղ նախագծում, որը դուք կստեղծեք այդ սենսորով:
Ձեր ապագա նախագծում դուք պետք է օգտագործեք այս մեկում կարդացած արժեքները, և ես առաջարկում եմ դա անել `օգտագործելով նույն անունները, որոնք ես օգտագործել եմ այստեղ:
Փոփոխականները հայտարարեք void setup () բաժնից առաջ հետևյալ կերպ.
float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Ամեն անգամ, երբ սենսորից օգտվեք, կարող եք օգտագործել հետևյալ բանաձևը ՝ CorrectedValue- ը հաշվարկելու համար.
float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue- ն ակնհայտորեն սենսորի ընթերցումն է:
Վերջ!
Այժմ դուք գիտեք, թե ինչպես չափագրել ձեր DS18B20 սենսորը կամ ցանկացած այլ տվիչ, որը դուք կօգտագործեք: Զվարճանալ!
Խորհուրդ ենք տալիս:
Հողի խոնավության տվիչի չափաբերում `5 քայլ
Հողի խոնավության սենսորների չափաբերում. Շուկայում կան հողի խոնավության հաշվիչներ, որոնք կօգնեն այգեպանին որոշել, թե երբ է ջրելու իրենց բույսերը: Unfortunatelyավոք, մի բուռ հող բռնելը և գույնն ու հյուսվածքը ստուգելը նույնքան հուսալի է, որքան այս գործիքներից շատերը: Որոշ զոնդեր նույնիսկ գրանցվում են
Ինչպես անել ուժի չափաբերում CombiTouch- ում. 6 քայլ
Ինչպես անել ուժի չափաբերում CombiTouch- ում. Այս ուղեցույցը ցույց է տալիս, թե ինչպես անել ուժի չափաբերում Alto-Shaam CombiTouch վառարանում: Եթե էկրանը չի արձագանքում հպմանը կամ ակտիվացնում է մեկ այլ պատկերակ, որին դիպչում եք, պարզապես հետևեք այս հրահանգներին: Եթե
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ի հետ. . IR ազդանշանը
Arduino ինտերֆեյս ուլտրաձայնային տվիչի և անհպում ջերմաստիճանի տվիչի հետ `8 քայլ
Arduino- ի ինտերֆեյս ուլտրաձայնային տվիչի և ջերմաստիճանի անշփման սենսորի հետ. Մեր օրերում արտադրողները, ծրագրավորողները նախընտրում են Arduino- ն `նախագծերի նախատիպերի արագ զարգացման համար: Arduino- ն բաց կոդով էլեկտրոնիկայի հարթակ է, որը հիմնված է հեշտ օգտագործման ապարատային և ծրագրային ապահովման վրա: Arduino- ն ունի շատ լավ օգտագործողների համայնք: Այս նախագծում
Ուլտրաձայնային տվիչի միջոցով Arduino- ի վրա հիմնված ինքնավար բոտ. 5 քայլ (նկարներով)
Ուլտրաձայնային տվիչի միջոցով Arduino- ի վրա հիմնված ինքնավար բոտ. Ստեղծեք ձեր սեփական Arduino- ի վրա հիմնված ինքնավար բոտ `օգտագործելով ուլտրաձայնային տվիչ: Այս բոտը կարող է շատ ինքնուրույն տեղաշարժվել` առանց որևէ խոչընդոտի բախվելու: Հիմնականում այն, ինչ անում է, այն է, որ իր ճանապարհին հայտնաբերում է ցանկացած տեսակի խոչընդոտներ և որոշում լավագույնը