Sisukord:

Arduino Nano - SI7050 temperatuurianduri õpetus: 4 sammu
Arduino Nano - SI7050 temperatuurianduri õpetus: 4 sammu

Video: Arduino Nano - SI7050 temperatuurianduri õpetus: 4 sammu

Video: Arduino Nano - SI7050 temperatuurianduri õpetus: 4 sammu
Video: Контроллер температуры мобильного телефона с модулем WIFI DT 06 | Программирование LDmicro-Roboremo 2024, Juuli
Anonim
Image
Image

SI7050 on digitaalne temperatuuriandur, mis töötab I2C sideprotokolli alusel ja pakub suurt täpsust kogu tööpinge ja temperatuurivahemiku ulatuses. Selle anduri suure täpsuse põhjuseks on uudne signaalitöötlus ja analoogkujundus. Need andurid on integreeritud kiibimäluga, mis salvestab kalibreerimisandmed, mis hõlbustab selle kasutamist laias valikus. Siin on selle demonstratsioon Arduino Nanoga.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Arduino Nano

2. SI7050

3. I²C kaabel

4. I²C kilp Arduino Nano jaoks

2. samm: ühendus:

Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus

Võtke Arduino Nano jaoks I2C kilp ja lükake see õrnalt üle Nano tihvtide.

Seejärel ühendage I2C kaabli üks ots SI7050 anduriga ja teine ots I2C varjestusega.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

SI7050 arduino koodi saab alla laadida meie githubi hoidlast-DCUBE poest.

Siin on link samale:

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

Kaasame raamatukogu Wire.h, et hõlbustada anduri I2c -side Arduino plaadiga.

Siit saate koodi ka kopeerida, see on järgmine:

// Levitatakse vaba tahte litsentsiga.

// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

// SI7050

// See kood on loodud töötama koos SI7050_I2CS I2C minimooduliga

#kaasake

// SI7050 I2C aadress on 0x40 (64)

#define Addr 0x40

tühine seadistus ()

{

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600

Seriaalne algus (9600);

// Alusta I2C edastamist

Wire.beginTransmission (Addr);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [2];

// Alusta I2C edastamist

Wire.beginTransmission (Addr);

// Saada temperatuuri mõõtmise käsk, NO HOLD MASTER

Wire.write (0xF3);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (500);

// Taotle 2 baiti andmeid

Wire.requestFrom (Addr, 2);

// Lugege 2 baiti andmeid

// temp msb, temp lsb

kui (Wire.available () == 2)

{

andmed [0] = Wire.read ();

andmed [1] = Wire.read ();

}

// Teisendage andmed

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

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

float ftemp = ctemp * 1,8 + 32;

// Andmete väljastamine jadamonitorile

Serial.print ("Temperatuur Celsiuse järgi:");

Serial.print (ctemp);

Serial.println ("C");

Serial.print ("Temperatuur Fahrenheiti järgi:");

Serial.print (ftemp);

Serial.println ("F");

viivitus (500);

}

4. samm: rakendused:

SI7050 saab integreerida erinevatesse süsteemidesse, sealhulgas arvutiseadmetesse, kaasaskantavatesse tarbijaseadmetesse ja meditsiiniseadmetesse. Seda andurit saab kasutada külmhoiukettides, varade jälgimisel ja mitmesugustes tööstuslikes juhtimissüsteemides. See mängib ka aku kaitsmisel keskset rolli.

Soovitan: