Мазмуну:

Arduino Nano - SI7050 Температура сенсорунун үйрөткүчү: 4 кадам
Arduino Nano - SI7050 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino Nano - SI7050 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino Nano - SI7050 Температура сенсорунун үйрөткүчү: 4 кадам
Video: #11 LM35 и промышленный датчик температуры 4–20 мА для герметизации ПЛК Arduino 2024, Июль
Anonim
Image
Image

SI7050 - бул I2C байланыш протоколу боюнча иштеген жана иштөө чыңалуусунун жана температурасынын аралыгында жогорку тактыкты сунуштаган санарип температура сенсору. Бул сенсордун жогорку тактыгы жаңы сигналды иштетүү жана аналогдук дизайн менен шартталган. Бул сенсорлор калибрлөө маалыматын сактаган микросхеманын эс тутумуна камтылган, бул аны кеңири диапазондо колдонууну жеңилдетет. Бул жерде анын Arduino Nano менен болгон демонстрациясы.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Ардуино Нано

2. SI7050

3. I²C кабели

4. Arduino Nano үчүн I²C Shield

2 -кадам: Байланыш:

Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу

Arduino Nano үчүн I2C калканчын алыңыз жана аны акырындык менен Нанонун казыктарына түртүңүз.

Андан кийин I2C кабелинин бир учун SI7050 сенсоруна, экинчи башын I2C калканчына туташтырыңыз.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

SI7050 үчүн arduino кодун биздин github репозиторийинен көчүрүп алса болот-DCUBE дүкөнү.

Мына ушуга шилтеме:

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

Биз сенсордун Arduino тактасы менен I2c байланышын жеңилдетүү үчүн Wire.h китепканасын камтыйбыз.

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// SI7050

// Бул код SI7050_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан

#кошуу

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

#define Addr 0x40

жараксыз орнотуу ()

{

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Сериялык байланышты баштоо, байдын ылдамдыгын = 9600

Serial.begin (9600);

// I2C өткөрүүнү баштоо

Wire.beginTransmission (Addr);

// I2C өткөрүүнү токтотуу

Wire.endTransmission ();

кечигүү (300);

}

боштук цикл ()

{

кол коюлбаган int маалыматтары [2];

// I2C өткөрүүнү баштоо

Wire.beginTransmission (Addr);

// Температураны өлчөө буйругун жөнөтүңүз, КОЛДОНУУЧУ ЖОК

Wire.write (0xF3);

// I2C өткөрүүнү токтотуу

Wire.endTransmission ();

кечигүү (500);

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

// 2 байт маалыматтарды окуңуз

// темп msb, temp lsb

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Маалыматты конвертациялоо

float temp = ((маалымат [0] * 256.0) + маалымат [1]);

float ctemp = ((175.72 * темп) / 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 ар кандай системаларга, анын ичинде компьютердик техникаларга, көчмө керектөөчү приборлорго жана медициналык жабдууларга киргизилиши мүмкүн. Бул сенсор муздак сактоо чынжырларында, активдерге көз салууда, ошондой эле ар кандай өнөр жай башкаруу системаларында колдонулушу мүмкүн. Ал батареяны коргоодо да негизги ролду ойнойт.

Сунушталууда: