Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
MCP9808 - yuqori aniqlikdagi raqamli harorat sensori ± 0,5 ° C I2C mini moduli. Ular foydalanuvchi tomonidan dasturlashtiriladigan registrlar bilan jihozlangan bo'lib, ular haroratni sezishni osonlashtiradi. MCP9808 yuqori aniqlikdagi harorat sensori raqamli, I2C formatida kalibrlangan, chiziqli sensorlar signallarini ta'minlovchi, form faktor va razvedka nuqtai nazaridan sanoat standartiga aylandi.
Ushbu qo'llanmada MCP9808 sensori modulining zarracha foton bilan o'zaro aloqasi ko'rsatilgan. Harorat qiymatlarini o'qish uchun I2c adapterli malina pi ishlatilgan, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. MCP9808
2. Foton zarrachalari
3. I2C kabeli
4. Zarrachalar fotoni uchun I2C qalqoni
2 -qadam: Uskuna ulanishi:
Uskuna ulanish bo'limi asosan sensor va zarracha fotoni o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:
MCP9808 I2C orqali ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.
Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz. Sizga faqat to'rtta sim kerak!
Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.
Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.
3 -qadam: Haroratni o'lchash kodi:
Keling, zarrachalar kodidan boshlaylik.
Sensor modulini arduino bilan ishlatganda, biz application.h va spark_wiring_i2c.h kutubxonasini o'z ichiga olamiz. "application.h" va spark_wiring_i2c.h kutubxonasi sensor va zarracha o'rtasidagi i2c aloqasini osonlashtiradigan funktsiyalarni o'z ichiga oladi.
Butun zarracha kodi foydalanuvchiga qulay bo'lishi uchun quyida keltirilgan:
#qo'shing
#qo'shing
// MCP9808 I2C manzili - 0x18 (24)
#aniqlang Addr 0x18
float cTemp = 0, fTemp = 0;
bo'sh o'rnatish ()
{
// O'zgaruvchini o'rnating
Particle.variable ("i2cdevice", "MCP9808");
Particle.variable ("cTemp", cTemp);
// I2C aloqasini MASTER sifatida boshlang
Wire.begin ();
// Serial aloqani ishga tushiring, bod tezligi = 9600
Serial.begin (9600);
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Konfiguratsiya registrini tanlang
Wire.write (0x01);
// Uzluksiz konvertatsiya rejimi, Quvvat manbai
Wire.write (0x00);
Wire.write (0x00);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Ro'yxatdan o'tish qarorini tanlang
Wire.write (0x08);
// Qarori = +0.0625 / S
Wire.write (0x03);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (300);
}
bo'sh halqa ()
{
imzosiz int ma'lumotlari [2];
// I2C aloqasini boshlaydi
Wire.beginTransmission (Addr);
// Ma'lumotlar reestrini tanlang
Wire.write (0x05);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// 2 bayt ma'lumotni so'rang
Wire.requestFrom (Addr, 2);
// 2 bayt ma'lumotni o'qing
// temp msb, temp lsb
agar (Wire.available () == 2)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
}
kechikish (300);
// Ma'lumotni 13 bitga aylantiring
int temp = ((ma'lumotlar [0] va 0x1F) * 256 + ma'lumotlar [1]);
agar (harorat> 4095)
{
harorat -= 8192;
}
cTemp = temp * 0.0625;
fTemp = cTemp * 1.8 + 32;
// Ma'lumotlarni boshqaruv paneliga chiqarish
Particle.publish ("Selsiydagi harorat:", String (cTemp));
Particle.publish ("Farengeytdagi harorat:", String (fTemp));
kechikish (500);
}
Particle.variable () funktsiyasi sensorning chiqishini saqlash uchun o'zgaruvchilarni yaratadi va Particle.publish () funktsiyasi saytning boshqaruv panelida chiqishini ko'rsatadi.
Ma'lumot uchun sensor chiqishi yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
MCP9808 raqamli harorat sensori sanoat darajasidagi bir nechta dasturlarga ega, ular sanoat muzlatgichlari va muzlatgichlarni, shuningdek, turli xil oziq -ovqat protsessorlarini o'z ichiga oladi. Ushbu sensor turli xil shaxsiy kompyuterlar, serverlar va boshqa shaxsiy kompyuterlar uchun ishlatilishi mumkin.