Mundarija:
- 1 -qadam: qurilmangizni tayyorlang
- 2 -qadam: Ikki nuqtali kalibrlash
- 3 -qadam: O'zingizning qadriyatlaringizni to'g'ri ishlating
Video: DS18B20 sensorini Arduino UNO bilan kalibrlash: 3 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Ogohlantirish:
Rasmlarda ko'rib turgan qurilmangiz, boshqa loyihada, kino ishlab chiqarish uchun termostat sifatida ishlatiladi. Siz bu loyihani bu erda topishingiz mumkin. Sensorni yoki bir nechtasini kalibrlash uchun sizga bu loyihada topishingiz kerak bo'ladi, boshqa hech narsa yo'q va bu juda oddiy! Qani ketdik!
1 -qadam: qurilmangizni tayyorlang
Mana sizga kerak bo'lgan narsalar ro'yxati:
- Arduino UNO (yoki MEGA)
- DS18B20 sensori
- 4kOm - 5kOm qarshilik (men 5k1Ohm ishlatganman)
- Qiymatlarni o'qish uchun LCD displey (siz noutbukdan ham foydalanishingiz mumkin va ularni ketma -ket monitorda o'qishingiz mumkin)
- Sensorni ishlatadigan va qandaydir tarzda qiymatlarni ko'rsatadigan eskiz
Avval siz modul va sensorni tekshirgichga ulashingiz kerak. Men LCD -ning murakkab qismini tark etaman, siz Internetda qidirasiz va men sizga sensorni qanday ulash kerakligini aytaman.
Odatda bu sensorlar uchta rangli sim bilan keladi: qora, qizil, sariq. Birinchi ikkita energiya uchun, uchinchisi ma'lumot uchun. Qora rangni GNN ga, qizilni Vccga (5V) va sariqni analog kirishda, masalan, A0 ga ulang.
Endi ulanishlarni yakunlash uchun sariq va qizil orasidagi qarshilikni ulang.
LCD -ni ham ulang (i2c ulanadigan, atigi 4 ta simni ishlatish uchun oddiy 16x2 LCD ni taklif qilaman) va siz simlar va kabellar bilan ishlayapsiz.
Endi eskiz juda oddiy:
#"OneWire.h" ni qo'shing
#"DallasTemperature.h" ni qo'shing #ONE_WIRE_BUS_1 A0 ni belgilang OneWire ourWire1 (ONE_WIRE_BUS_1); Dallas harorat sensori1 (& ourWire1); #"LiquidCrystal_I2C.h" ni qo'shing
LiquidCrystal_I2C lcd (0x27, 16, 2); float RawValue = 0;
void setup () {lcd.init (); lcd.backlight (); sensor1.begin (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }
Ko'rib turganingizdek, biz Dallas Harorat kutubxonasi va i2c ulangan LCD displeydan foydalanamiz.
O'rnatishda biz LCD va sensorni ishga tushiramiz va pastadirda biz haroratni so'raymiz va qiymatni LCD displeyda ko'rsatish uchun RawValue o'zgaruvchisida saqlaymiz.
Agar siz buni soddalashtirmoqchi bo'lsangiz, ketma -ket monitorni quyidagi eskiz bilan ishlating
#clude "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #efine ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Dallas harorat sensori1 (& ourWire1);
float RawValue = 0;
bo'sh o'rnatish () {
kechikish (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Sensorni kalibrlash uchun meni loyihaning asosiy qismida kuzatib boring.
2 -qadam: Ikki nuqtali kalibrlash
Avval biladigan narsa
Termometrni sozlash uchun siz haroratni biladigan narsani o'lchashingiz kerak. Uyda buni qilishning oddiy usuli-qaynab turgan suv va muzli hammomdan foydalanish, uni "uch nuqtali" hammom ham deyishadi. Bunday hollarda, biz bilamizki, suv dengiz sathida 100 ° C da qaynaydi. Shuni yodda tutingki, aniq o'lchovni amalga oshirish uchun siz balandligingizni bilishingiz va u erda to'g'ri qaynash haroratini hisoblashingiz kerak.
Bu erda tekshirishingiz mumkin!
Rostini aytsam, siz balandlikni emas, balki atmosfera bosimini tekshirishingiz kerak. Ammo bu usul etarlicha aniq.
Uch nuqtali hammom yoki muzli hammom-bu suvning qattiq, suyuq va gazli uchta holatda bo'lgan harorati, bu harorat 0, 01 ° C. Biz soddalashtirish uchun 0 ° C dan foydalanamiz.
Sensor o'qiydigan qiymatni va bo'lishi kerak bo'lgan qiymatni bilib, biz DS18B20 xom qiymatini to'g'riroq qilib o'zgartirishimiz mumkin.
QAYD: sensorni kalibrlash uchun siz ko'proq haroratni ishlatishingiz mumkin, uni faqat qaynash nuqtasini Eter (35 ° C), Pentan (36, 1 ° C), aseton (56 ° C) yoki boshqa moddalarga joylashtiring. Etanol (78, 37 ° C), lekin bu qaynab turgan moddalar tez yonadigan gazlar chiqaradi! Shunday qilib, qilma!
Qaynayotgan suv:
Bir oz suvni qozonga soling va qaynab ketguncha qizdiring (gaz pufakchalari paydo bo'ladi va suv o'zini qo'zg'atadi). Sensorni suvdan boshqa narsaga tegmaydigan joyga botiring. Bir necha daqiqa kuting va LCD yoki ketma -ket monitorni o'qing
Harorat kamida bir daqiqa davomida bir xil bo'lishi kerak. Agar shunday bo'lsa, bu qiymatni yozing. Bu sizning: RawHigh qiymati.
Uch nuqtali hammom:
Endi katta stakan oling (sizga katta narsa ham, qozon ham kerak emas) va uni muz kublari bilan chegaraga to'ldiring. Kichik o'lchamdagi muz kublarini ishlatishga harakat qiling. Endi stakanning 80 foizini sovuq suv bilan to'ldiring. Agar qo'l pastga tushmoqchi bo'lsa, uni muz bilan to'ldiring.
Endi sensoringizni suv/muzga joylashtiring va bir yarim daqiqa kuting. Kamida 30 soniya davomida bir xil bo'lishi kerak bo'lgan haroratni o'qing. Agar shunday bo'lsa, uni RawLow qiymati deb yozing.
3 -qadam: O'zingizning qadriyatlaringizni to'g'ri ishlating
Shunday qilib, endi siz bir nechta muhim qadriyatlarga egasiz:
- RawHigh
- RawLow
- MalumotYuqori
- Malumot past
Ma'lumotlar, albatta, qaynab turgan suv uchun 99,9 ° C (22 m balandligimda) va muzli hammom uchun 0 ° C. Endi bu qiymatlar oralig'ini hisoblang:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Endi siz sensorni har qanday boshqa loyihada ishlatishga tayyormiz, chunki u sizga to'g'ri o'lchov beradi. Qanaqasiga? Loyihada bu erda olingan qiymatdan foydalanib, siz ushbu sensor yordamida yaratasiz.
Kelgusi loyihangizda siz o'qigan qadriyatlaringizni ishlatishingiz kerak bo'ladi va men buni shu erda ishlatgan ismlar yordamida qilishni taklif qilaman.
Void setup () bo'limidan oldin o'zgaruvchilarni quyidagicha e'lon qiling:
float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Sensorni har safar ishlatganingizda, tuzatish qiymatini hisoblash uchun quyidagi formuladan foydalanishingiz mumkin.
float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue - bu aniq sensorning o'qilishi.
Bo'ldi shu!
Endi siz DS18B20 sensori yoki siz ishlatadigan boshqa sensorni qanday sozlashni bilasiz! Maza qiling!
Tavsiya:
Uyda bahorgi tebranish sensorini qanday yasash mumkin ?: 5 qadam (rasmlar bilan)
Uyda bahorgi tebranish sensorini qanday yasash mumkin? akselerometr/harakat sensori! Bu bahor-tebranish kalitlari yuqori sezuvchanlik bilan yo'naltirilmagan tebranishni qo'zg'atuvchi kalitlardir. Ichkarida bir
DHT11 sensorini Arduino yordamida qanday ishlatish kerak: 5 qadam
DHT11 sensorini Arduino yordamida qanday ishlatish kerak: Bu qo'llanmada biz DHT11 sensorini Arduino yordamida sinab ko'ramiz.DHT11 harorat va namlikni o'lchash uchun ishlatilishi mumkin. Kerakli komponentlar: Arduino NanoDHT11 harorat va namlik sensori USB Mini o'tish kabellari Kerakli kutubxona: DHT kutubxonasi
Infineon DPS422 sensorini Infineon XMC4700 bilan o'zaro bog'lash va ma'lumotlarni NodeMCU -ga yuborish: 13 qadam
Infineon DPS422 sensorini Infineon XMC4700 bilan o'zaro bog'lash va ma'lumotlarni NodeMCU -ga yuborish: Ushbu qo'llanmada biz XMC4700.DPS422 yordamida harorat va barometrik bosimni o'lchash uchun DPS422 -dan qanday foydalanishni bilib olamiz. iste'mol.
DHT11/DHT22 sensorini bulutga ESP8266 asosidagi platasi bilan ulash: 9 qadam
DHT11/DHT22 sensorini bulutga ESP8266 asosidagi karta bilan ulash: Oldingi maqolada men ESP8266-ga asoslangan NodeMCU kartamni Cloud4RPi xizmatiga ulaganman. Endi haqiqiy loyiha qilish vaqti keldi
Oson qattiq va yumshoq temir magnitometrni kalibrlash: 6 qadam (rasmlar bilan)
Qattiq va yumshoq temir magnitometrni kalibrlash: Agar sizning sevimli mashg'ulotingiz RC, dronlar, robototexnika, elektronika, haqiqat yoki shunga o'xshash bo'lsa, ertami -kechmi siz magnitometrni kalibrlash vazifasini bajarasiz. Har qanday magnitometr modulini kalibrlash kerak, chunki magnit maydonining o'lchami