Оглавление:

Взаимодействие TMP-112 с Arduino Nano (I2C): 5 шагов
Взаимодействие TMP-112 с Arduino Nano (I2C): 5 шагов

Видео: Взаимодействие TMP-112 с Arduino Nano (I2C): 5 шагов

Видео: Взаимодействие TMP-112 с Arduino Nano (I2C): 5 шагов
Видео: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Ноябрь
Anonim
Взаимодействие TMP-112 с Arduino Nano (I2C)
Взаимодействие TMP-112 с Arduino Nano (I2C)

Привет, Добрый день.. !!

Я (Соманшу Чоудхари) от имени технологического предприятия Dcube собираюсь измерять температуру с помощью Arduino nano, это одно из приложений протокола I2C для чтения аналоговых данных датчика температуры TMP-112.

Шаг 1. Обзор

Обзор
Обзор
  1. ТМП-112 - датчик температуры.
  2. ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ Ссылка:

Шаг 2. Что вам нужно / Ссылки

Что вам нужно / Ссылки
Что вам нужно / Ссылки
  1. Ардуино Нано
  2. I²C Shield для Arduino Nano
  3. Кабель USB типа A - Micro типа B длиной 6 футов
  4. Кабель I²C
  5. TMP112 I²C Температурный датчик ± 0,5 ° C 12-битный мини-модуль I²C

Шаг 3: принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема
Принципиальная электрическая схема

Шаг 4: Программирование

Программирование
Программирование

#включают

установка void ()

{

// I2C-адрес TMP112

#define TMP_ADDR 0x48

// Присоединяемся к шине I2c как мастер

Wire.begin ();

// Запуск последовательной связи

Serial.begin (9600);

// Начать передачу

Wire.beginTransmission (TMP_ADDR);

// Выбираем ВКЛЮЧИТЬ регистр

Wire.write (0x01);

// Выбираем нормальную работу

Wire.write (0x60A0);

// Завершить передачу и освободить шину I2C

Wire.endTransmission ();

}

пустой цикл ()

{

// Начать передачу

Wire.beginTransmission (TMP_ADDR);

// Выбираем регистры данных

Wire.write (0X00);

// Конец передачи

Wire.endTransmission ();

задержка (500);

// Запрос 2 байта, сначала Msb

Wire.requestFrom (TMP_ADDR, 2);

// Считываем два байта

пока (Wire.available ())

{

// убираем мусор

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Преобразование данных в необработанные значения

int rawtmp = msb << 8 | lsb;

int value = rawtmp >> 4;

двойной ответ = значение * 0,0625;

// Вывод на печать

Serial.print ("значение по Цельсию:");

Serial.println (ANS);

}

}

Шаг 5:

Я старался изо всех сил, и ты;-)

Для получения дополнительной информации посетите наш сайт:

www.dcubetechnologies.com

Рекомендуемые: