Turinys:

Temperatūros matavimas naudojant STS21 ir Arduino Nano: 4 žingsniai
Temperatūros matavimas naudojant STS21 ir Arduino Nano: 4 žingsniai

Video: Temperatūros matavimas naudojant STS21 ir Arduino Nano: 4 žingsniai

Video: Temperatūros matavimas naudojant STS21 ir Arduino Nano: 4 žingsniai
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Liepa
Anonim
Image
Image

STS21 skaitmeninis temperatūros jutiklis pasižymi puikiu našumu ir taupo vietą. Jis teikia kalibruotus, linijinius signalus skaitmeniniu I2C formatu. Šio jutiklio gamyba grindžiama CMOSens technologija, kuri priskiriama puikiam STS21 veikimui ir patikimumui. STS21 skiriamąją gebą galima pakeisti komandomis, galima nustatyti išsikrovusią bateriją, o kontrolinė suma padeda pagerinti ryšio patikimumą.

Šioje pamokoje buvo parodyta STS21 jutiklio modulio sąsaja su arduino nano. Norėdami nuskaityti temperatūros reikšmes, mes naudojome arduino su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti prie jutiklio modulio.

1 veiksmas: reikalinga aparatūra:

Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra

Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:

1. STS21

2. „Arduino Nano“

3. I2C kabelis

4. I2C skydas arduino nano

2 veiksmas: prijungimas prie aparatūros:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir „arduino nano“. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

STS21 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.

Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!

Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.

Šie ryšiai parodyti aukščiau esančiose nuotraukose.

3 žingsnis: Temperatūros matavimo kodas:

Temperatūros matavimo kodas
Temperatūros matavimo kodas

Pradėkime nuo „Arduino“kodo dabar.

Naudodami jutiklio modulį su „Arduino“, įtraukiame „Wire.h“biblioteką. „Wire“bibliotekoje yra funkcijos, palengvinančios „i2c“ryšį tarp jutiklio ir „Arduino“plokštės.

Visas „Arduino“kodas pateiktas žemiau, kad būtų patogiau:

#įtraukti

// STS21 I2C adresas yra 0x4A (74)

#define addr 0x4A

negaliojanti sąranka ()

{

// Inicijuoti I2C komunikaciją kaip MASTER

Wire.begin ();

// Pradėkite nuoseklųjį ryšį, nustatykite duomenų perdavimo spartą = 9600

Serial.begin (9600);

vėlavimas (300);

}

tuštumos kilpa ()

{

nepasirašyti int duomenys [2];

// Pradėti I2C perdavimą

Wire.beginTransmission (addr);

// Pasirinkite nelaikymo šabloną

Wire.write (0xF3);

// Baigti I2C perdavimą

Wire.endTransmission ();

vėlavimas (300);

// Prašyti 2 baitų duomenų

Wire.requestFrom (addr, 2);

// Skaityti 2 baitus duomenų

jei (Wire.available () == 2)

{

duomenys [0] = Wire.read ();

duomenys [1] = Wire.read ();

}

// Konvertuoti duomenis

int rawtmp = duomenys [0] * 256 + duomenys [1];

int vertė = rawtmp & 0xFFFC;

dvigubas cTemp = -46,85 + (175,72 * (vertė / 65536,0));

dvigubas fTemp = cTemp * 1,8 + 32;

// Duomenų išvedimas į serijinį monitorių

Serial.print ("Temperatūra Celsijaus laipsniais:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatūra Farenheitu:");

Serial.print (fTemp);

Serial.println ("F");

vėlavimas (300);

}

Laidų bibliotekoje Wire.write () ir Wire.read () naudojami komandoms rašyti ir jutiklio išėjimui skaityti.

Serial.print () ir Serial.println () naudojami jutiklio išėjimui rodyti „Arduino IDE“serijos monitoriuje.

Jutiklio išvestis parodyta aukščiau esančiame paveikslėlyje.

4 žingsnis: programos:

Programos
Programos

STS21 skaitmeninis temperatūros jutiklis gali būti naudojamas sistemose, kuriose reikia didelio tikslumo temperatūros stebėjimo. Jis gali būti integruotas į įvairią kompiuterinę įrangą, medicinos įrangą ir pramonines valdymo sistemas, reikalaujant tiksliai išmatuoti temperatūrą.

Rekomenduojamas: