Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
LM75BIMM yra skaitmeninis temperatūros jutiklis, integruotas su šiluminiu sargu ir turi dviejų laidų sąsają, palaikančią jo veikimą iki 400 kHz. Jis turi aukštesnės temperatūros išvestį su programuojama riba ir isterija.
Šioje pamokoje buvo parodyta LM75BIMM 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:
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. LM75BIMM
2. „Arduino Nano“
3. I2C kabelis
4. „I2C Shield“, skirtas „arduino nano“
2 veiksmas: prijungimas prie aparatūros:
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:
LM75BIMM 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:
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 vartotojo patogumui pateiktas žemiau:
#įtraukti
// LM75BIMM I2C adresas yra 0x49 (73)
#define Addr 0x49
negaliojanti sąranka ()
{
// Inicijuoti I2C komunikaciją kaip MASTER
Wire.begin ();
// Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600
Serial.begin (9600);
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite konfigūracijos registrą
Wire.write (0x01);
// Nuolatinis veikimas, normalus veikimas
Wire.write (0x00);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [2];
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite temperatūros duomenų registrą
Wire.write (0x00);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// temp msb, temp lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
}
// Konvertuokite duomenis į 9 bitus
int temp = (duomenys [0] * 256 + (duomenys [1] ir 0x80)) / 128;
jei (temperatūra> 255)
{
temperatūra -= 512;
}
plūdė cTemp = temp * 0,5;
plūdė 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 (1000);
}
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:
LM75BIMM idealiai tinka daugeliui programų, įskaitant bazines stotis, elektroninę bandymo įrangą, biuro elektroniką, asmeninius kompiuterius ar bet kurią kitą sistemą, kur temperatūros stebėjimas yra labai svarbus veikimui. Todėl šis jutiklis atlieka pagrindinį vaidmenį daugelyje labai temperatūrai jautrių sistemų.