2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Модуль I2C MINI с высокоточным маломощным цифровым датчиком температуры TMP100. TMP100 идеально подходит для расширенного измерения температуры. Это устройство обеспечивает точность ± 1 ° C без необходимости калибровки или преобразования сигнала внешних компонентов. Вот демонстрация с Arduino Nano.
Шаг 1: Что вам нужно..
1. Arduino Nano
2. TMP100
3. Кабель I²C
4. I²C Shield для Arduino Nano.
Шаг 2: Подключение:
Возьмите щит I2C для Arduino Nano и аккуратно наденьте его на контакты Nano.
Затем подключите один конец кабеля I2C к датчику TMP100, а другой конец - к экрану I2C.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код Arduino для TMP100 можно скачать из нашего репозитория GitHub-Dcube Store.
Вот ссылка на то же самое:
github.com/DcubeTechVentures/TMP100..
Мы включаем библиотеку Wire.h для облегчения связи датчика I2c с платой Arduino.
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// TMP100
// Этот код предназначен для работы с мини-модулем TMP100_I2CS I2C, доступным в Dcube Store.
#включают
// Адрес I2C TMP100 0x4F (79)
#define Addr 0x4F
установка void ()
{
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр конфигурации
Wire.write (0x01);
// Устанавливаем непрерывное преобразование, режим компаратора, 12-битное разрешение
Wire.write (0x60);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
}
пустой цикл ()
{
данные типа int без знака [2];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр данных
Wire.write (0x00);
// Остановка передачи I2C
Wire.endTransmission ();
// Запрос 2 байта данных
Wire.requestFrom (Адрес, 2);
// Считываем 2 байта данных
// cTemp msb, cTemp lsb
если (Wire.available () == 2)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
}
// Конвертируем данные
float cTemp = (((данные [0] * 256) + (данные [1] & 0xF0)) / 16) * 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);
}
Шаг 4: Приложения:
Различные приложения, включающие маломощный высокоточный цифровой датчик температуры TMP100, включают мониторинг температуры источника питания, периферийную тепловую защиту компьютера, управление батареями, а также офисную технику.