2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
MCP9805 - bu xotira modulining raqamli harorat sensori. U haroratni sezish uchun moslashuvchanlikni ta'minlaydigan, foydalanuvchi tomonidan dasturlashtiriladigan registrlar bilan birlashtirilgan. Bu sensor mobil platformali xotira modulining harorat sensori bilan birlashtirilgan. Bu erda Raspberry Pi yordamida java kodli namoyish.
1 -qadam: Sizga nima kerak.. !
1. Raspberry Pi
2. MCP9805
3. I²C kabeli
4. Raspberry Pi uchun I²C qalqoni
5. Ethernet kabeli
2 -qadam: ulanishlar
Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.
Keyin I2C kabelining bir uchini MCP9805 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.
Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin. Ulanishlar yuqoridagi rasmda ko'rsatilgan.
3 -qadam: kod
MCP9805 uchun java kodini bizning GitHub omboridan-Dcube do'konidan yuklab olish mumkin.
Mana shu havola:
github.com/DcubeTechVentures/MCP9805
MCP9805 ma'lumotlar jadvalini bu erda topish mumkin:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Biz Java kodi uchun pi4j kutubxonasidan foydalandik, malina pi ga pi4j o'rnatish bosqichlari bu erda tasvirlangan:
pi4j.com/install.html
Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:
// Ixtiyoriy litsenziya bilan tarqatilgan.
// Agar xohlasangiz, foyda yoki tekin ishlating, agar u tegishli asarlar litsenziyalariga mos kelsa.
// MCP9805
// Bu kod Dcube do'konida mavjud MCP9808_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.
com.pi4j.io.i2c. I2CBus -ni import qilish;
com.pi4j.io.i2c. I2CDevice -ni import qilish;
com.pi4j.io.i2c. I2CFactory -ni import qilish;
java.io. IOException ni import qilish;
umumiy sinf MCP9805
{
public static void main (String args ) istisno qiladi
{
// I2C avtobusini yarating
I2CBus avtobus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C qurilmasini oling, MCP9805 I2C manzili - 0x18 (24)
I2CDevice qurilmasi = Bus.getDevice (0x18);
Thread.sleep (300);
// Konfiguratsiya registrini tanlang
// Uzluksiz konvertatsiya rejimi, Quvvatlanish
bayt config = yangi bayt [2];
konfiguratsiya [0] = 0x00;
konfiguratsiya [1] = 0x00;
device.write (0x01, config, 0, 2);
// Ro'yxatdan o'tish qarorini tanlang
// Qarori = +0.0625 / S
device.write (0x08, (bayt) 0x03);
Thread.sleep (300);
// 0x05 (05) manzilidan 2 bayt ma'lumotni o'qing
// temp msb, temp lsb
bayt ma'lumotlar = yangi bayt [2];
device.read (0x05, ma'lumotlar, 0, 2);
// Ma'lumotni 13 bitga aylantiring
int temp = ((ma'lumotlar [0] & 0x1F) * 256 + (ma'lumotlar [1] & 0xFF));
agar (harorat> 4095)
{
harorat -= 8192;
}
er -xotin cTemp = temp * 0.0625;
er -xotin fTemp = cTemp * 1.8 + 32;
// Ma'lumotni ekranga chiqarish
System.out.printf ("Selsiydagi harorat: %.2f C %n", cTemp);
System.out.printf ("Farengeytdagi harorat: %.2f F %n", fTemp);
}
}
4 -qadam: Ilovalar..:
MCP9805 har xil tizimlarga kiritilishi mumkin, ular ikki tomonlama xotira moduli (DIMM) haroratini kuzatish tizimlari, shaxsiy kompyuterlar va serverlarni o'z ichiga oladi. Odatda, u umumiy maqsadli harorat sensori sifatida ishlatilishi mumkin.