Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
TMP112 Высокоточный, маломощный цифровой датчик температуры I2C MINI-модуль. TMP112 идеально подходит для расширенного измерения температуры. Это устройство обеспечивает точность ± 0,5 ° C без необходимости калибровки или преобразования сигнала внешних компонентов.
В этом руководстве было проиллюстрировано взаимодействие сенсорного модуля TMP112 с Arduino nano. Для считывания значений температуры мы использовали Arduino с адаптером I2C. Этот адаптер I2C делает подключение к модулю датчика простым и надежным.
Шаг 1: Требуемое оборудование:
Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:
1. TMP112
2. Arduino Nano
3. Кабель I2C
4. I2C Shield для Arduino Nano.
Шаг 2: Подключение оборудования:
В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Arduino nano. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:
TMP112 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.
Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого. Все, что вам нужно, это четыре провода!
Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.
Эти соединения показаны на рисунках выше.
Шаг 3: Код для измерения температуры:
Начнем с кода Arduino.
При использовании сенсорного модуля с Arduino мы включаем библиотеку Wire.h. Библиотека Wire содержит функции, которые облегчают обмен данными i2c между датчиком и платой Arduino.
Полный код Arduino приведен ниже для удобства пользователя:
#включают
// Адрес I2C TMP112 0x48 (72)
#define Addr 0x48
установка void ()
{
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр конфигурации
Wire.write (0x01);
// Непрерывное преобразование, режим компаратора, разрешение 12 бит
Wire.write (0x60);
Wire.write (0xA0);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
}
пустой цикл ()
{
беззнаковые данные [2];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр данных
Wire.write (0x00);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
// Запрос 2 байта данных
Wire.requestFrom (Адрес, 2);
// Считываем 2 байта данных
// temp msb, temp lsb
если (Wire.available () == 2)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
}
// Преобразуем данные в 12-битные
int temp = ((данные [0] * 256) + данные [1]) / 16;
если (температура> 2048)
{
темп - = 4096;
}
float cTemp = temp * 0,0625;
float fTemp = cTemp * 1.8 + 32;
// Выводим данные на последовательный монитор
Serial.print («Температура в градусах Цельсия:»);
Serial.print (cTemp);
Serial.println ("C");
Serial.print («Температура по Фаренгейту:»);
Serial.print (fTemp);
Serial.println ("F");
задержка (500);
}
В библиотеке проводов Wire.write () и Wire.read () используются для записи команд и чтения выходного сигнала датчика.
Serial.print () и Serial.println () используются для отображения выходных данных датчика на последовательном мониторе Arduino IDE.
Выход датчика показан на картинке выше.
Шаг 4: Приложения:
Различные приложения, включающие маломощный высокоточный цифровой датчик температуры TMP112, включают мониторинг температуры источника питания, периферийную тепловую защиту компьютера, управление батареями, а также офисную технику.