Мазмуну:

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

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

Video: Arduino Nano - STS21 Температура сенсорунун үйрөткүчү: 4 кадам
Video: STC-3028 Thermostat with Heat and Humidity Fully Explained and demonstrated 2024, Ноябрь
Anonim
Image
Image

STS21 Санариптик Температура Сенсору жогорку өндүрүмдүүлүктү жана мейкиндикти үнөмдөөчү сунуш кылат. Бул санарип, I2C форматында калибрленген, сызыктуу сигналдарды берет. Бул сенсорду даярдоо CMOSens технологиясына негизделген, ал STS21дин эң жакшы иштөөсүнө жана ишенимдүүлүгүнө таандык. STS21 токтому буйрук менен өзгөртүлүшү мүмкүн, батареянын аздыгын аныктап, текшерүүнүн суммасы байланыштын ишенимдүүлүгүн жогорулатууга жардам берет. Бул жерде анын Arduino наносу менен интерфейсинин демонстрациясы.

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

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

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

2. STS21

3. I²C кабели

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

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

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

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

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

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

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

Код
Код

STS21 үчүн Arduino кодун биздин GitHub репозиторийи-Dcube дүкөнүнөн көчүрүп алса болот.

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

github.com/DcubeTechVentures/STS21…

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

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

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

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

// STS21

// Бул код Dcube Storeдо бар STS21_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

#кошуу

// STS21 I2C дареги 0x4A (74)

#аныктоо addr 0x4A

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

{

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

Wire.begin ();

// Сериялык байланышты баштаңыз, baud rate = 9600 коюңуз

Serial.begin (9600);

кечигүү (300);

}

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

{

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

// I2C берүүнү баштоо

Wire.beginTransmission (addr);

// Эч кандай кармоо мастерин тандаңыз

Wire.write (0xF3);

// I2C берүүнү токтотуу

Wire.endTransmission ();

кечигүү (300);

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

Wire.requestFrom (addr, 2);

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

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

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

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

int rawtmp = маалымат [0] * 256 + маалымат [1];

int мааниси = rawtmp & 0xFFFC;

кош cTemp = -46.85 + (175.72 * (мааниси / 65536.0));

кош fTemp = cTemp * 1.8 + 32;

// Маалыматтарды сериялык мониторго чыгаруу

Serial.print ("Цельсий боюнча температура:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Фаренгейт температурасы:");

Serial.print (fTemp);

Serial.println ("F");

кечигүү (300);

}

4 -кадам: Тиркемелер:

STS21 Санарип Температура Сенсорун жогорку тактыкта температураны көзөмөлдөөнү талап кылган системаларда колдонсо болот. Бул ар кандай компьютердик жабдууларга, медициналык жабдууларга жана өнөр жайлык башкаруу тутумдарына температураны өлчөөнүн тактыгы менен киргизилиши мүмкүн.

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