Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
SI7050 är en digital temperatursensor som fungerar med I2C -kommunikationsprotokoll och erbjuder hög noggrannhet över hela driftspänningen och temperaturområdet. Denna höga noggrannhet hos sensorn tillskrivs av den nya signalbehandlingen och den analoga designen. Dessa sensorer är inbäddade i ett chipminne som lagrar kallibreringsdata som underlättar användningen över ett brett intervall. Här är demonstrationen med Arduino Nano.
Steg 1: Vad du behöver.. !
1. Arduino Nano
2. SI7050
3. I²C -kabel
4. I²C -skärm för Arduino Nano
Steg 2: Anslutning:
Ta en I2C -sköld för Arduino Nano och skjut den försiktigt över stiften på Nano.
Anslut sedan den ena änden av I2C -kabeln till SI7050 -sensorn och den andra änden till I2C -skärmen.
Anslutningar visas på bilden ovan.
Steg 3: Kod:
Arduino-koden för SI7050 kan laddas ner från vårt github-arkiv-DCUBE Store.
Här är länken till samma:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Vi inkluderar bibliotek Wire.h för att underlätta I2c -kommunikationen mellan sensorn och Arduino -kortet.
Du kan också kopiera koden härifrån, den ges enligt följande:
// Distribueras med en fri vilja licens.
// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.
// SI7050
// Denna kod är utformad för att fungera med minimodulen SI7050_I2CS I2C
#omfatta
// SI7050 I2C -adressen är 0x40 (64)
#define Addr 0x40
void setup ()
{
// Initiera I2C -kommunikation som MASTER
Wire.begin ();
// Initiera seriell kommunikation, ange överföringshastighet = 9600
Serial.begin (9600);
// Starta I2C -överföring
Wire.beginTransmission (Addr);
// Stoppa I2C -överföring
Wire.endTransmission ();
fördröjning (300);
}
void loop ()
{
osignerade int -data [2];
// Starta I2C -överföring
Wire.beginTransmission (Addr);
// Skicka kommando för temperaturmätning, NO HOLD MASTER
Wire.write (0xF3);
// Stoppa I2C -överföring
Wire.endTransmission ();
fördröjning (500);
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// temp msb, temp lsb
om (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Konvertera data
float temp = ((data [0] * 256,0) + data [1]);
float ctemp = ((175,72 * temp) / 65536,0) - 46,85;
float ftemp = ctemp * 1,8 + 32;
// Utdata till seriell bildskärm
Serial.print ("Temperatur i Celsius:");
Serial.print (ctemp);
Serial.println ("C");
Serial.print ("Temperatur i Fahrenheit:");
Serial.print (ftemp);
Serial.println ("F");
fördröjning (500);
}
Steg 4: Ansökningar:
SI7050 kan integreras i olika system, inklusive datorutrustning, bärbar konsumentutrustning och medicinsk utrustning. Denna sensor kan användas i kyllagringskedjor, tillgångsspårning samt olika industriella styrsystem. Det spelar också en avgörande roll för batteriskyddet.