Satura rādītājs:

Arduino Nano - SI7050 temperatūras sensora apmācība: 4 soļi
Arduino Nano - SI7050 temperatūras sensora apmācība: 4 soļi

Video: Arduino Nano - SI7050 temperatūras sensora apmācība: 4 soļi

Video: Arduino Nano - SI7050 temperatūras sensora apmācība: 4 soļi
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Jūlijs
Anonim
Image
Image

SI7050 ir digitāls temperatūras sensors, kas darbojas ar I2C sakaru protokolu un piedāvā augstu precizitāti visā darba spriegumā un temperatūras diapazonā. Šī sensora augstā precizitāte ir saistīta ar jaunu signālu apstrādi un analogo dizainu. Šie sensori ir iebūvēti ar mikroshēmas atmiņu, kas saglabā kalibrēšanas datus, kas atvieglo to izmantošanu plašā diapazonā. Šeit ir tā demonstrācija ar Arduino Nano.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!

1. Arduino Nano

2. SI7050

3. I²C kabelis

4. I²C vairogs Arduino Nano

2. darbība: savienojums:

Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums

Paņemiet I2C vairogu Arduino Nano un viegli piespiediet to pār Nano tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu pie SI7050 sensora un otru galu pie I2C vairoga.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

SI7050 arduino kodu var lejupielādēt no mūsu github repozitorija-DCUBE Store.

Šeit ir saite uz to pašu:

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

Mēs iekļaujam bibliotēku Wire.h, lai atvieglotu sensora I2c komunikāciju ar Arduino plati.

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

// Izplatīts ar brīvās gribas licenci.

// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.

// SI7050

// Šis kods ir paredzēts darbam ar SI7050_I2CS I2C mini moduli

#iekļaut

// SI7050 I2C adrese ir 0x40 (64)

#define Addr 0x40

anulēts iestatījums ()

{

// Inicializēt I2C komunikāciju kā MASTER

Wire.begin ();

// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600

Sērijas sākums (9600);

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (300);

}

tukša cilpa ()

{

neparakstīti int dati [2];

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Sūtīt temperatūras mērīšanas komandu, NO HOLD MASTER

Wire.write (0xF3);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (500);

// Pieprasīt 2 baitus datu

Wire.requestFrom (Addr, 2);

// Lasīt 2 baitus datu

// temp msb, temp lsb

ja (Wire.available () == 2)

{

dati [0] = Wire.read ();

dati [1] = Wire.read ();

}

// Konvertēt datus

pludiņa temp = ((dati [0] * 256,0) + dati [1]);

pludiņa ctemp = ((175,72 * temp) / 65536,0) - 46,85;

pludiņš ftemp = ctemp * 1,8 + 32;

// Izvadiet datus uz seriālo monitoru

Serial.print ("Temperatūra pēc Celsija:");

Serial.print (ctemp);

Serial.println ("C");

Serial.print ("Temperatūra pēc Fārenheita:");

Sērijas nospiedums (ftemp);

Serial.println ("F");

kavēšanās (500);

}

4. darbība. Lietojumprogrammas:

SI7050 var iekļaut dažādās sistēmās, ieskaitot datoru aprīkojumu, pārnēsājamas patērētāju ierīces un medicīnas iekārtas. Šo sensoru var izmantot saldēšanas ķēdēs, aktīvu izsekošanā, kā arī dažādās rūpnieciskās vadības sistēmās. Tam ir arī galvenā loma akumulatora aizsardzībā.

Ieteicams: