Innehållsförteckning:

Arduino Nano - SI7050 Temperatursensor Handledning: 4 steg
Arduino Nano - SI7050 Temperatursensor Handledning: 4 steg

Video: Arduino Nano - SI7050 Temperatursensor Handledning: 4 steg

Video: Arduino Nano - SI7050 Temperatursensor Handledning: 4 steg
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Juli
Anonim
Image
Image

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.. !

Vad du behöver..!!
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:

Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse

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:

Koda
Koda

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.

Rekommenderad: