Съдържание:

Arduino Nano - SI7050 Температурен сензор Урок: 4 стъпки
Arduino Nano - SI7050 Температурен сензор Урок: 4 стъпки

Видео: Arduino Nano - SI7050 Температурен сензор Урок: 4 стъпки

Видео: Arduino Nano - SI7050 Температурен сензор Урок: 4 стъпки
Видео: Как подключить промышленные датчики к Arduino Nano 2024, Ноември
Anonim
Image
Image

SI7050 е цифров температурен сензор, който работи по I2C комуникационен протокол и предлага висока точност в целия работен диапазон на напрежение и температура. Тази висока точност на сензора се дължи на новата обработка на сигнала и аналоговия дизайн. Тези сензори са вградени с чип памет, която съхранява данните за калибриране, което улеснява използването им в широк диапазон. Ето демонстрацията му с Arduino Nano.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!

1. Arduino Nano

2. SI7050

3. Кабел I²C

4. I²C щит за 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 мини модул

#включва

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

#define Addr 0x40

void setup ()

{

// Инициализира I2C комуникацията като MASTER

Wire.begin ();

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

Serial.begin (9600);

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (300);

}

void loop ()

{

беззнакови int данни [2];

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изпращане на команда за измерване на температурата, NO HOLD MASTER

Wire.write (0xF3);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (500);

// Искане на 2 байта данни

Wire.requestFrom (Addr, 2);

// Прочетете 2 байта данни

// temp msb, temp lsb

ако (Wire.available () == 2)

{

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

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

}

// Конвертиране на данните

плаваща температура = ((данни [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 може да бъде вграден в различни системи, включително компютърно оборудване, преносими потребителски устройства и медицинско оборудване. Този сензор може да се използва в хладилни вериги за съхранение, проследяване на активи, както и различни индустриални системи за управление. Той също играе ключова роля в защитата на батерията.

Препоръчано: