Mundarija:

TMP112 va Raspberry Pi yordamida haroratni o'lchash: 4 qadam
TMP112 va Raspberry Pi yordamida haroratni o'lchash: 4 qadam

Video: TMP112 va Raspberry Pi yordamida haroratni o'lchash: 4 qadam

Video: TMP112 va Raspberry Pi yordamida haroratni o'lchash: 4 qadam
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Dekabr
Anonim
Image
Image

TMP112 yuqori aniqlik, kam quvvatli, raqamli harorat sensori I2C MINI moduli. TMP112 haroratni o'lchash uchun ideal. Bu qurilma kalibrlashni yoki tashqi komponent signalizatsiyasini talab qilmasdan ± 0,5 ° C aniqlikni taqdim etadi.

Ushbu qo'llanmada TMP112 sensori modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uning Java tili yordamida dasturlashi ham tasvirlangan. Harorat qiymatlarini o'qish uchun I2c adapterli malina pi ishlatilgan, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.

1 -qadam: Uskuna kerak:

Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi

Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:

1. TMP112

2. Raspberry Pi

3. I2C kabeli

4. Malina pi uchun I2C qalqoni

2 -qadam: Uskuna ulanishi:

Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi

Uskuna ulanish bo'limi, asosan, sensori va malina pi 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:

TMP112 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 uchun Java kodi:

Haroratni o'lchash uchun Java kodi
Haroratni o'lchash uchun Java kodi

Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu kengashning afzalliklaridan foydalanib, biz bu erda Java -da dasturlashni namoyish qilamiz. TMP112 uchun java kodini bizning GitHub hamjamiyatidan yuklab olish mumkin, bu Dcube do'koni.

Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:

Kodlashning birinchi bosqichi sifatida siz java holatida pi4j kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:

pi4j.com/install.html

Bu sensor uchun ishlaydigan java kodini bu erdan ham ko'chirishingiz mumkin:

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 TMP112

{

public static void main (String args ) istisno qiladi

{

// I2C avtobusini yarating

I2CBus avtobus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C qurilmasini oling, TMP112 I2C manzili 0x48 (72)

I2CDevice qurilmasi = bus.getDevice (0x48);

bayt config = yangi bayt [2];

// Uzluksiz konvertatsiya qilish rejimi, 12-bitli aniqlik, Nosozlik navbati-1

konfiguratsiya [0] = (bayt) 0x60;

// Polarite past, termostat Comparator rejimida, O'chirish rejimini o'chiradi

konfiguratsiya [1] = (bayt) 0xA0;

// 0x01 (1) ni ro'yxatdan o'tkazish uchun konfiguratsiyani yozing.

device.write (0x01, config, 0, 2);

Thread.sleep (500);

// 0x00 (0) manzilidan 2 bayt ma'lumotni o'qing, avval msb

bayt ma'lumotlar = yangi bayt [2];

device.read (0x00, ma'lumotlar, 0, 2);

// Ma'lumotni aylantirish

int temp = (((ma'lumotlar [0] & 0xFF) * 256) + (ma'lumotlar [1] & 0xFF))/16;

agar (harorat> 2047)

{

harorat -= 4096;

}

er -xotin cTemp = temp * 0.0625;

er -xotin fTemp = cTemp * 1.8 + 32;

// Ekranga chiqish

System.out.printf ("Selsiydagi harorat: %.2f C %n", cTemp);

System.out.printf ("Farengeytdagi harorat: %.2f F %n", fTemp);

}

}

Sensor va karta o'rtasidagi i2c aloqasini osonlashtiradigan kutubxona pi4j, uning turli paketlari I2CBus, I2CDevice va I2CFactory ulanishni o'rnatishga yordam beradi.

com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; com.pi4j.io.i2c. I2CFactory -ni import qilish; java.io. IOException ni import qilish;

yozish () va o'qish () funktsiyalari sensorga ma'lum rejimda ishlashini ta'minlash uchun maxsus buyruqlarni yozish va sensorning chiqishini o'qish uchun ishlatiladi.

Sensorning chiqishi ham yuqoridagi rasmda ko'rsatilgan.

4 -qadam: Ilovalar:

Ilovalar
Ilovalar

TMP112 past quvvatli, yuqori aniqlikdagi raqamli harorat sensori o'z ichiga olgan turli xil ilovalarga quvvat manbai haroratini kuzatish, kompyuterning termal himoyasi, batareyani boshqarish, shuningdek ofis mashinalari kiradi.

Tavsiya: