Mundarija:
- 1 -qadam: Ushbu loyihada ishlatilgan narsalar
- 2 -qadam: hikoya
- 3 -qadam: kerakli fayllarni yuklab oling
- 4 -qadam: yig'ish
- 5 -qadam: Dastur
- 6 -qadam: Portativ termometr
- 7 -qadam: Xulosa
- 8 -qadam: kod
Video: XinaBox va termistor yordamida haroratni o'lchash: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Suyuqlik haroratini XinaBox -dan analog kirish xChip va termistorli prob yordamida o'lchang.
1 -qadam: Ushbu loyihada ishlatilgan narsalar
Uskuna komponentlari
- ADC bilan XinaBox SX02 x 1 xChip analog kirish sensori
- ATmega328P asosida Arduino Uno -ning XinaBox CC01 x 1 xChip versiyasi
- Chidamni ajratuvchi tarmoq uchun qarshilik 10k ohm x 1 10k qarshilik
- Thermistor Probe x 1 10k 25 ° C haroratda suv o'tkazmaydigan termistorli prob
- FTDI Limited -dan FT232R -ga asoslangan XinaBox IP01 x 1 xChip USB dasturchisi.
- XinaBox OD01 x 1 xChip 128x64 pikselli OLED -displey
- XinaBox XC10 x 4 xChip avtobus ulagichlari
- XinaBox PU01 x 1 xChip USB (A turi) quvvat manbai
- 5V USB quvvat manbai x 1 quvvat banki yoki shunga o'xshash
Dasturiy ta'minot va onlayn xizmatlar
Arduino IDE
Qo'l asboblari va ishlab chiqarish mashinalari
Yassi boshli tornavida Vintli terminal qisqichini torting yoki bo'shating
2 -qadam: hikoya
Kirish
Men oddiy termometr yaratish orqali suyuqlikning haroratini o'lchashni xohlardim. XinaBox xChips -dan foydalanib, men buni nisbatan soddalik bilan bajarishim mumkin edi. Men harorat natijalarini ko'rish uchun 0 - 3.3V, ATmega328P va OD01 OLED displeyli xChip asosidagi CC01 xChip qabul qiladigan SX02 analogli xChip ishlatardim.
Termistor stakan ichidagi suvning haroratini o'lchaydi
3 -qadam: kerakli fayllarni yuklab oling
Sizga quyidagi kutubxona va dasturiy ta'minot kerak bo'ladi:
- xSX0X- analog kirish sensori kutubxonasi
- xOD01 - OLED displey kutubxonasi
- Arduino IDE - Rivojlanish muhiti
Kutubxonalarni qanday o'rnatishni bilish uchun shu erni bosing.
Arduino IDE -ni o'rnatganingizdan so'ng, uni oching va dasturni yuklash uchun "Arduino Pro yoki Pro Mini" ni tanlang. Shuningdek, ATmega328P (5V, 16MGts) protsessor tanlanganligiga ishonch hosil qiling. Quyidagi rasmga qarang.
Arduino Pro yoki Pro Mini kartasini va ATmega328P (5V, 16MGts) protsessorini tanlang
4 -qadam: yig'ish
Quyida ko'rsatilgandek XC10 avtobus ulagichlari yordamida dasturchi xChip, IP01 va ATmega328P asosidagi CC01 xChip -ni bosing. CC01 -ga yuklash uchun siz kalitlarni mos ravishda "A" va "DCE" pozitsiyalariga qo'yishingiz kerak.
IP01 va CC01 birgalikda bosildi
Keyin, 10 kΩ rezistorni oling va uning bir uchini "IN" deb belgilangan terminalga, ikkinchi uchini esa "GND" terminalidagi SX02 ga burab qo'ying. Termistor zondidagi simlarni olib, bir uchini Vcc, "3.3V", ikkinchi uchini "IN" terminaliga burab qo'ying. Quyidagi rasmga qarang.
SX02 ulanishlari
Endi OD01 va SX02 ni CC01 bilan birlashtiring, ularni XC10 avtobus ulanishlari yordamida bir -biriga bosing. Pastga qarang. Rasmdagi kumush element - termistorli prob.
Dasturlash uchun to'liq birlik
5 -qadam: Dastur
Qurilmani kompyuterning USB portiga joylashtiring. Quyidagi kodni yuklab oling yoki nusxa ko'chiring va Arduino IDE -ga joylashtiring. Kodni tuzing va taxtangizga yuklang. Yuklanganidan so'ng, dastur ishga tushishi kerak. Agar zond xona haroratida bo'lsa, quyida ko'rsatilgandek OLED displeyida ± 25 ° C ni kuzatish kerak.
Yuklashdan so'ng, OLED -displeyda xona haroratini kuzating
6 -qadam: Portativ termometr
Qurilmani kompyuterdan olib tashlang. Qurilmani demontaj qiling va IP01 o'rniga PU01 yordamida qayta yig'ing. Endi quvvat banki yoki shunga o'xshash 5V USB portativ quvvat manbaini oling va unga yangi moslamani joylashtiring. Sizda yaxshi aniqlik bilan o'zingizning portativ termometringiz bor. Ishlayotganini ko'rish uchun muqovadagi rasmga qarang. Men stakan ichida issiq suvni o'lchadim. Quyidagi rasmlar sizning to'liq jihozingizni ko'rsatadi.
To'liq birlik CC01, OD01, SX02 va PU02 ni o'z ichiga oladi.
7 -qadam: Xulosa
Loyihani yig'ishga 10 minut, dasturga yana 20 daqiqa vaqt ketdi. talab qilinadigan yagona passiv komponent - rezistor. XChips bir vaqtning o'zida bosilsa, bu juda qulay bo'ladi.
8 -qadam: kod
ThermTemp_Display.ino Arduino Koddagi hisoblarni tushunish uchun tadqiqot termistorlari.
#include // xCHIPs uchun asosiy kutubxonani o'z ichiga oladi
#include // analog kirish sensori kutubxonasini o'z ichiga oladi #include // OLED displey kutubxonasini o'z ichiga oladi #include // matematik funktsiyalarni o'z ichiga oladi #C_Kelvin 273.15 ni belgilaydi // kelvindan tselsiygacha aylantirish uchun #define series_res 10000 // ketma -ket qarshilik qiymati ohmda #define B 3950 // termistor uchun B parametri #xonani belgilash_tempK 298.15 // kelvindagi xona harorati #xonani aniqlang_res 10000 // xona haroratida ohmda qarshilik #define vcc 3.3 // besleme zo'riqishida xSX01 SX01 (0x55); // i2c manzilining suzuvchi kuchlanishini o'rnating; // o'lchangan kuchlanishni o'z ichiga olgan o'zgaruvchi (0 - 3.3V) float therm_res; // termistor qarshiligi float act_tempK; // haqiqiy harorat kelvin float act_tempC; // tselsiy bo'yicha haqiqiy harorat void setup () {// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: // o'zgaruvchilarni 0 kuchlanish = 0 ga boshlang; term_res = 0; act_tempK = 0; act_tempC = 0; // ketma -ket muloqotni boshlash Serial.begin (115200); // i2c aloqasini boshlash Wire.begin (); // analog kirish sensorini ishga tushirish SX01.begin (); // OLED displeyini ishga tushirish OLED.begin (); // aniq ko'rsatish OD01.clear (); // kechiktirishni normallashtirish uchun kechiktirish (1000); } void loop () {// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying: // kuchlanishni o'qing SX01.poll (); // voltaj voltajini saqlang = SX01.getVoltage (); // termistor qarshiligini hisoblang therm_res = ((vcc * series_res) / kuchlanish) - series_res; // kelvin akt_tempK = (xona_tempK * B) / (B + xona_tempK * jurnali (term_res / xona_res)) haqiqiy haroratni hisoblang; // kelvinni selsiyaga aylantirish act_tempC = act_tempK - C_Kelvin; // OLED displeyda bosib chiqarish harorati // markazda ko'rsatish uchun qo'lda formatlash OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); kechikish (2000); // displeyni har 2 soniyada yangilang}
Tavsiya:
AD7416ARZ va Raspberry Pi yordamida haroratni o'lchash: 4 qadam
AD7416ARZ va Raspberry Pi yordamida haroratni o'lchash: AD7416ARZ-10 bitli harorat sensori, to'rt kanalli analogli raqamli konvertorlar va bortidagi harorat sensori. Qismlarga harorat sensori orqali multipleksorli kanallar orqali kirish mumkin. Bu yuqori aniqlikdagi harorat
STS21 va Arduino Nano yordamida haroratni o'lchash: 4 qadam
STS21 va Arduino Nano yordamida haroratni o'lchash: STS21 raqamli harorat sensori yuqori ishlash va bo'sh joyni tejash imkonini beradi. Bu raqamli, I2C formatida kalibrlangan, chiziqli signallarni beradi. Ushbu sensorning ishlab chiqarilishi CMOSens texnologiyasiga asoslangan bo'lib, u yuqori darajadagi
ADT75 va Arduino Nano yordamida haroratni o'lchash: 4 qadam
ADT75 va Arduino Nano yordamida haroratni o'lchash: ADT75 - yuqori aniqlikdagi raqamli harorat sensori. U haroratni o'lchash va raqamlashtirish uchun tarmoqli oralig'idagi harorat sensori va 12-bitli analogdan raqamli konvertorga ega. Uning juda sezgir sensori uni men uchun etarlicha malakali qiladi
HIH6130 va Arduino Nano yordamida namlik va haroratni o'lchash: 4 qadam
HIH6130 va Arduino Nano yordamida namlik va haroratni o'lchash: HIH6130 - bu raqamli chiqishga ega namlik va harorat sensori. Bu sensorlar ± 4% RH aniqlik darajasini ta'minlaydi. Sanoatning etakchi uzoq muddatli barqarorligi, haqiqiy harorat kompensatsiyalangan raqamli I2C, sanoatning etakchi ishonchliligi, energiya samaradorligi
Termistor yordamida haroratni o'lchash uchun oddiy va arzon asbob: 5 qadam
Termistor yordamida haroratni o'lchash uchun oddiy va arzon asbob: NTC termistorli termistorli oddiy va arzon harorat sensori vaqt o'tishi bilan o'z qarshiligini o'zgartiradi, biz termistor haqida ko'proq bilish uchun harorat sensori qurayapmiz https://en.wikipedia.org/wiki/ Termistor