Оглавление:

Arduino Nano - Учебное пособие по датчику температуры SI7050: 4 шага
Arduino Nano - Учебное пособие по датчику температуры SI7050: 4 шага

Видео: Arduino Nano - Учебное пособие по датчику температуры SI7050: 4 шага

Видео: Arduino Nano - Учебное пособие по датчику температуры SI7050: 4 шага
Видео: Учебное пособие по датчику влажности и температуры Arduino Nano HYT939 I2C 2024, Ноябрь
Anonim
Image
Image

SI7050 - это цифровой датчик температуры, работающий по протоколу связи I2C и обеспечивающий высокую точность во всем диапазоне рабочих напряжений и температур. Такая высокая точность датчика достигается за счет новой обработки сигналов и аналоговой конструкции. В эти датчики встроена память на кристалле, в которой хранятся данные калибровки, что облегчает их использование в широком диапазоне. Вот его демонстрация с Arduino Nano.

Шаг 1: Что вам нужно..

Что вам нужно..!!
Что вам нужно..!!

1. Arduino Nano

2. SI7050

3. Кабель I²C

4. I²C Shield для Arduino Nano.

Шаг 2: Подключение:

Связь
Связь
Связь
Связь
Связь
Связь
Связь
Связь

Возьмите щит I2C для Arduino Nano и аккуратно наденьте его на контакты Nano.

Затем подключите один конец кабеля I2C к датчику SI7050, а другой конец - к экрану I2C.

Подключения показаны на картинке выше.

Шаг 3: Код:

Код
Код

Код arduino для SI7050 можно загрузить из нашего репозитория github - DCUBE Store.

Вот ссылка на то же самое:

github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino

Мы включаем библиотеку Wire.h для облегчения связи датчика I2c с платой Arduino.

Вы также можете скопировать код отсюда, он выглядит следующим образом:

// Распространяется по свободной лицензии.

// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.

// SI7050

// Этот код предназначен для работы с модулем SI7050_I2CS I2C Mini

#включают

// Адрес SI7050 I2C 0x40 (64)

#define Addr 0x40

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

{

// Инициализируем связь I2C как МАСТЕР

Wire.begin ();

// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600

Serial.begin (9600);

// Запуск передачи I2C

Wire.beginTransmission (адрес);

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

Wire.endTransmission ();

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

}

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

{

данные типа int без знака [2];

// Запуск передачи I2C

Wire.beginTransmission (адрес);

// Отправляем команду измерения температуры, NO HOLD MASTER

Wire.write (0xF3);

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

Wire.endTransmission ();

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

// Запрос 2 байта данных

Wire.requestFrom (Адрес, 2);

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

// temp msb, temp lsb

если (Wire.available () == 2)

{

данные [0] = Wire.read ();

данные [1] = Wire.read ();

}

// Конвертируем данные

float temp = ((данные [0] * 256.0) + данные [1]);

float ctemp = ((175.72 * temp) / 65536.0) - 46,85;

float ftemp = ctemp * 1.8 + 32;

// Выводим данные на последовательный монитор

Serial.print («Температура в градусах Цельсия:»);

Serial.print (ctemp);

Serial.println ("C");

Serial.print («Температура по Фаренгейту:»);

Serial.print (ftemp);

Serial.println ("F");

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

}

Шаг 4: Приложения:

SI7050 может быть включен в различные системы, включая компьютерное оборудование, портативные потребительские устройства и медицинское оборудование. Этот датчик может использоваться в цепях холодильных складов, отслеживании активов, а также в различных промышленных системах управления. Он также играет ключевую роль в защите аккумулятора.

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