Съдържание:

Измерване на температурата с помощта на TMP112 и Raspberry Pi: 4 стъпки
Измерване на температурата с помощта на TMP112 и Raspberry Pi: 4 стъпки

Видео: Измерване на температурата с помощта на TMP112 и Raspberry Pi: 4 стъпки

Видео: Измерване на температурата с помощта на TMP112 и Raspberry Pi: 4 стъпки
Видео: How to use Allegro ACS712 AC/DC Current Sensor with Arduino 2024, Ноември
Anonim
Image
Image

TMP112 Модул с висока точност, ниска мощност, цифров температурен сензор I2C MINI. TMP112 е идеален за продължително измерване на температурата. Това устройство предлага точност от ± 0,5 ° C, без да изисква калибриране или кондициониране на външен компонент.

В този урок е демонстрирано взаимодействието на сензорния модул TMP112 с малинов pi и е илюстрирано и неговото програмиране с помощта на Java език. За да прочетем температурните стойности, използвахме малинов pi с адаптер I2c. Този адаптер I2C прави връзката с сензорния модул лесна и по -надеждна.

Стъпка 1: Изисква се хардуер:

Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер

Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:

1. TMP112

2. Малина Пи

3. I2C кабел

4. I2C щит за малиново пи

Стъпка 2: Свързване на хардуера:

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:

TMP112 ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.

Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици. Всичко, от което се нуждаете, са четири проводника!

Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.

Тези връзки са показани на снимките по -горе.

Стъпка 3: Java код за измерване на температурата:

Java код за измерване на температурата
Java код за измерване на температурата

Предимството на използването на малинов pi е, че ви осигурява гъвкавостта на езика за програмиране, на който искате да програмирате платката, за да свържете интерфейса на сензора с нея. Възползвайки се от това предимство на тази дъска, ние демонстрираме тук нейното програмиране на Java. Java кодът за TMP112 може да бъде изтеглен от нашата GitHub общност, която е Dcube Store.

Освен за улеснение на потребителите, ние обясняваме кода и тук:

Като първа стъпка на кодиране трябва да изтеглите библиотеката pi4j в случай на java, защото тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:

pi4j.com/install.html

Можете да копирате работещия java код за този сензор и от тук:

внос com.pi4j.io.i2c. I2CBus;

внос com.pi4j.io.i2c. I2CDevice;

внос com.pi4j.io.i2c. I2CFactory;

импортиране на java.io. IOException;

публичен клас TMP112

{

public static void main (String args ) хвърля Exception

{

// Създаване на I2C шина

I2CBus шина = I2CFactory.getInstance (I2CBus. BUS_1);

// Вземете I2C устройство, TMP112 I2C адресът е 0x48 (72)

I2CDevice устройство = bus.getDevice (0x48);

байт конфигурация = нов байт [2];

// Режим на непрекъснато преобразуване, 12-битова резолюция, опашката за грешки е 1

config [0] = (байт) 0x60;

// Нисък полярност, термостат в режим на компаратор, деактивира режима на изключване

config [1] = (байт) 0xA0;

// Запишете конфигурация за регистрация 0x01 (1)

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

Thread.sleep (500);

// Прочетете 2 байта данни от адрес 0x00 (0), първо msb

байт данни = нов байт [2];

device.read (0x00, данни, 0, 2);

// Конвертиране на данни

int temp = (((данни [0] & 0xFF) * 256) + (данни [1] & 0xFF))/16;

ако (temp> 2047)

{

temp -= 4096;

}

двоен cTemp = temp * 0.0625;

двоен fTemp = cTemp * 1.8 + 32;

// Извеждане на екран

System.out.printf ("Температурата в Целзий е: %.2f C %n", cTemp);

System.out.printf ("Температурата по Фаренхайт е: %.2f F %n", fTemp);

}

}

Библиотеката, която улеснява i2c комуникацията между сензора и платката, е pi4j, нейните различни пакети I2CBus, I2CDevice и I2CFactory помагат за установяване на връзката.

внос com.pi4j.io.i2c. I2CBus; импортиране com.pi4j.io.i2c. I2CDevice; внос com.pi4j.io.i2c. I2CFactory; импортиране на java.io. IOException;

Функциите write () и read () се използват за записване на някои конкретни команди към сензора, за да го накарат да работи в определен режим и четене съответно на изхода на сензора.

Изходът на сензора също е показан на горната снимка.

Стъпка 4: Приложения:

Приложения
Приложения

Различни приложения, включващи цифров температурен сензор с ниска мощност и висока точност на TMP112, включват мониторинг на температурата на захранването, периферна термична защита на компютъра, управление на батерии, както и офис машини.

Препоръчано: