2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Цифровой датчик температуры STS21 обеспечивает превосходную производительность и занимает мало места. Он выдает откалиброванные линеаризованные сигналы в цифровом формате I2C. Изготовление этого датчика основано на технологии CMOSens, которая объясняет превосходные характеристики и надежность STS21. Разрешение STS21 может быть изменено командой, может быть обнаружен низкий заряд батареи, а контрольная сумма помогает повысить надежность связи. Вот его демонстрация взаимодействия с Particle Photon.
Шаг 1: Что вам нужно..
1. Частичный фотон
2. STS21
3. Кабель I²C
4. Экран I²C для частиц фотона
Шаг 2: Подключение:
Возьмите экран I2C для фотона частицы и осторожно наденьте его на контакты фотона частицы.
Затем подключите один конец кабеля I2C к датчику STS21, а другой конец - к экрану I2C.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код частицы для STS21 можно загрузить из нашего репозитория GitHub - Dcube Store.
Вот ссылка на то же самое:
github.com/DcubeTechVentures/STS21
Мы использовали две библиотеки для кода частиц: application.h и spark_wiring_i2c.h. Библиотека Spark_wiring_i2c требуется для облегчения связи I2C с датчиком.
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// STS21
// Этот код предназначен для работы с мини-модулем STS21_I2CS I2C, доступным в Dcube Store.
#включают
#включают
// Адрес I2C STS21 - 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
установка void ()
{
// Устанавливаем переменную
Particle.variable («i2cdevice», «STS21»);
Particle.variable ("cTemp", cTemp);
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Запускаем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
задержка (300);}
пустой цикл ()
{
данные типа int без знака [2];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем мастер без удержания
Wire.write (0xF3);
// Завершение передачи I2C
Wire.endTransmission ();
задержка (500);
// Запрос 2 байта данных
Wire.requestFrom (адрес, 2);
// Считываем 2 байта данных
если (Wire.available () == 2)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
}
// Конвертируем данные
int rawtmp = данные [0] * 256 + данные [1];
значение int = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (значение / 65536,0));
float fTemp = cTemp * 1.8 + 32;
// Выводим данные в дашборд
Particle.publish («Температура в градусах Цельсия:», String (cTemp));
Particle.publish ("Температура по Фаренгейту:", String (fTemp));
задержка (1000);
}
Шаг 4: Приложения:
Цифровой датчик температуры STS21 может использоваться в системах, требующих высокоточного контроля температуры. Он может быть включен в различное компьютерное оборудование, медицинское оборудование и промышленные системы управления с необходимостью измерения температуры с высокой точностью.