Sadržaj:

Arduino Nano - SI7050 Temperaturni senzor Tutorial: 4 koraka
Arduino Nano - SI7050 Temperaturni senzor Tutorial: 4 koraka

Video: Arduino Nano - SI7050 Temperaturni senzor Tutorial: 4 koraka

Video: Arduino Nano - SI7050 Temperaturni senzor Tutorial: 4 koraka
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, Studeni
Anonim
Image
Image

SI7050 je digitalni osjetnik temperature koji radi na I2C komunikacijskom protokolu i nudi visoku točnost u cijelom radnom naponu i temperaturnom rasponu. Ova visoka točnost senzora pripisuje se novoj obradi signala i analognom dizajnu. Ti su senzori ugrađeni u memoriju na čipu koja pohranjuje podatke o kalibraciji što olakšava njihovu upotrebu u širokom rasponu. Evo njegove demonstracije s Arduino Nano.

Korak 1: Što vam treba..

Što trebaš..!!
Što trebaš..!!

1. Arduino Nano

2. SI7050

3. I²C kabel

4. I²C štit za Arduino Nano

Korak 2: Povezivanje:

Priključak
Priključak
Priključak
Priključak
Priključak
Priključak
Priključak
Priključak

Uzmite I2C štit za Arduino Nano i lagano ga gurnite preko igle Nano.

Zatim spojite jedan kraj I2C kabela na senzor SI7050, a drugi kraj na I2C štit.

Priključci su prikazani na gornjoj slici.

Korak 3: Kôd:

Kodirati
Kodirati

Arduino kôd za SI7050 može se preuzeti s našeg github spremišta-DCUBE Store.

Evo linka za isto:

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

Uključujemo knjižnicu Wire.h kako bismo olakšali I2c komunikaciju senzora s Arduino pločom.

Ovdje možete i kopirati kôd, dat je na sljedeći način:

// Distribuirano s licencom slobodne volje.

// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.

// SI7050

// Ovaj kôd je dizajniran za rad sa SI7050_I2CS I2C mini modulom

#uključi

// SI7050 I2C adresa je 0x40 (64)

#define Addr 0x40

void setup ()

{

// Inicializirajte I2C komunikaciju kao MASTER

Wire.begin ();

// Pokretanje serijske komunikacije, postavljena brzina prijenosa = 9600

Serial.begin (9600);

// Pokretanje I2C prijenosa

Wire.beginTransmission (Addr);

// Zaustavljanje I2C prijenosa

Wire.endTransmission ();

kašnjenje (300);

}

void loop ()

{

nepotpisani int podaci [2];

// Pokretanje I2C prijenosa

Wire.beginTransmission (Addr);

// Pošaljite naredbu za mjerenje temperature, NO HOLD MASTER

Wire.write (0xF3);

// Zaustavljanje I2C prijenosa

Wire.endTransmission ();

kašnjenje (500);

// Zatražite 2 bajta podataka

Wire.requestFrom (Addr, 2);

// Očitavanje 2 bajta podataka

// temp msb, temp lsb

if (Wire.available () == 2)

{

podaci [0] = Wire.read ();

podaci [1] = Wire.read ();

}

// Pretvorimo podatke

float temp = ((podaci [0] * 256,0) + podaci [1]);

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

float ftemp = ctemp * 1,8 + 32;

// Izlaženje podataka na serijski monitor

Serial.print ("Temperatura u Celzijusima:");

Serijski.ispis (ctemp);

Serial.println ("C");

Serial.print ("Temperatura u Fahrenheitu:");

Serijski.ispis (ftemp);

Serial.println ("F");

kašnjenje (500);

}

Korak 4: Aplikacije:

SI7050 se može ugraditi u različite sustave, uključujući računalnu opremu, prijenosne potrošačke uređaje i medicinsku opremu. Ovaj se senzor može koristiti u lancima hladnog skladištenja, za praćenje imovine, kao i u raznim industrijskim sustavima upravljanja. Također igra važnu ulogu u zaštiti baterija.

Preporučeni: