Turinys:

„Arduino Nano“- SI7050 temperatūros jutiklio pamoka: 4 žingsniai
„Arduino Nano“- SI7050 temperatūros jutiklio pamoka: 4 žingsniai

Video: „Arduino Nano“- SI7050 temperatūros jutiklio pamoka: 4 žingsniai

Video: „Arduino Nano“- SI7050 temperatūros jutiklio pamoka: 4 žingsniai
Video: LDmicro 11: Последовательный контроллер температуры с ЖК-дисплеем (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Liepa
Anonim
Image
Image

SI7050 yra skaitmeninis temperatūros jutiklis, veikiantis pagal I2C ryšio protokolą ir pasižymintis dideliu tikslumu per visą darbinę įtampą ir temperatūros diapazoną. Šį didelį jutiklio tikslumą lemia naujas signalo apdorojimas ir analoginis dizainas. Šie jutikliai yra integruoti su mikroschemoje esančia atmintimi, kuri saugo kalibravimo duomenis ir palengvina jų naudojimą plačiame diapazone. Štai jo demonstracija su „Arduino Nano“.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. „Arduino Nano“

2. SI7050

3. I²C kabelis

4. „I²C Shield“, skirtas „Arduino Nano“

2 veiksmas: prijungimas:

Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys

Paimkite „Arduino Nano“I2C skydą ir švelniai stumkite jį per „Nano“kaiščius.

Tada vieną I2C kabelio galą prijunkite prie SI7050 jutiklio, o kitą - prie I2C skydo.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

SI7050 arduino kodą galite atsisiųsti iš mūsų „github“saugyklos-DCUBE parduotuvės.

Čia yra nuoroda į tą patį:

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

Įtraukiame „Wire.h“biblioteką, kad palengvintume jutiklio I2c ryšį su „Arduino“plokšte.

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

// Platinama su laisvos valios licencija.

// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.

// SI7050

// Šis kodas skirtas dirbti su SI7050_I2CS I2C mini moduliu

#įtraukti

// SI7050 I2C adresas yra 0x40 (64)

#define Addr 0x40

negaliojanti sąranka ()

{

// Inicijuoti I2C komunikaciją kaip MASTER

Wire.begin ();

// Inicijuoti nuoseklųjį ryšį, nustatyti duomenų perdavimo spartą = 9600

Serial.begin (9600);

// Pradėti I2C perdavimą

Wire.beginTransmission (Addr);

// Sustabdyti I2C perdavimą

Wire.endTransmission ();

vėlavimas (300);

}

tuštumos kilpa ()

{

nepasirašyti int duomenys [2];

// Pradėti I2C perdavimą

Wire.beginTransmission (Addr);

// Siųsti temperatūros matavimo komandą, NO HOLD MASTER

Wire.write (0xF3);

// Sustabdyti I2C perdavimą

Wire.endTransmission ();

vėlavimas (500);

// 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 ();

}

// Konvertuoti duomenis

plūdės temp = ((duomenys [0] * 256,0) + duomenys [1]);

plūdės ctemp = ((175,72 * temp) / 65536,0) - 46,85;

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:");

Serijinis atspaudas (ftemp);

Serial.println ("F");

vėlavimas (500);

}

4 žingsnis: programos:

SI7050 gali būti integruotas į įvairias sistemas, įskaitant kompiuterinę įrangą, nešiojamus vartotojų prietaisus ir medicinos įrangą. Šis jutiklis gali būti naudojamas šaldymo grandinėse, turto stebėjime ir įvairiose pramonės valdymo sistemose. Jis taip pat vaidina pagrindinį vaidmenį apsaugant akumuliatorių.

Rekomenduojamas: