Indholdsfortegnelse:

Arduino Nano - SI7050 Temperatursensor Tutorial: 4 trin
Arduino Nano - SI7050 Temperatursensor Tutorial: 4 trin

Video: Arduino Nano - SI7050 Temperatursensor Tutorial: 4 trin

Video: Arduino Nano - SI7050 Temperatursensor Tutorial: 4 trin
Video: How to Interface Industrial Sensors with Arduino Nano 2024, Juli
Anonim
Image
Image

SI7050 er en digital temperatursensor, der fungerer på I2C kommunikationsprotokol og tilbyder høj nøjagtighed over hele driftsspændingen og temperaturområdet. Denne høje nøjagtighed for sensoren tilskrives den nye signalbehandling og det analoge design. Disse sensorer er integreret med en on-chip-hukommelse, der gemmer callibreringsdataene, hvilket letter brugen over et bredt område. Her er demonstrationen med Arduino Nano.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Arduino Nano

2. SI7050

3. I²C -kabel

4. I²C Shield til Arduino Nano

Trin 2: Tilslutning:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Tag et I2C -skjold til Arduino Nano og skub det forsigtigt hen over stifterne på Nano.

Tilslut derefter den ene ende af I2C -kablet til SI7050 -sensoren og den anden ende til I2C -skærmen.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Arduino-koden til SI7050 kan downloades fra vores github repository-DCUBE Store.

Her er linket til det samme:

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

Vi inkluderer bibliotek Wire.h for at lette I2c -kommunikationen mellem sensoren og Arduino -kortet.

Du kan også kopiere koden herfra, den er givet som følger:

// Distribueret med en fri vilje licens.

// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

// SI7050

// Denne kode er designet til at fungere med SI7050_I2CS I2C Mini Module

#omfatte

// SI7050 I2C -adressen er 0x40 (64)

#define Addr 0x40

ugyldig opsætning ()

{

// Initialiser I2C -kommunikation som MASTER

Wire.begin ();

// Initialiser seriel kommunikation, indstil baudhastighed = 9600

Serial.begin (9600);

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (300);

}

hulrum ()

{

usignerede int -data [2];

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Send kommando for temperaturmåling, NO HOLD MASTER

Wire.write (0xF3);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (500);

// Anmod om 2 bytes data

Wire.requestFrom (Addr, 2);

// Læs 2 bytes data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene

float temp = ((data [0] * 256.0) + data [1]);

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

float ftemp = ctemp * 1,8 + 32;

// Output data til seriel skærm

Serial.print ("Temperatur i Celsius:");

Serial.print (ctemp);

Serial.println ("C");

Serial.print ("Temperatur i Fahrenheit:");

Serial.print (ftemp);

Serial.println ("F");

forsinkelse (500);

}

Trin 4: Ansøgninger:

SI7050 kan inkorporeres i forskellige systemer, herunder computerudstyr, bærbart forbrugerudstyr og medicinsk udstyr. Denne sensor kan bruges i køleopbevaringskæder, aktivsporing samt forskellige industrielle kontrolsystemer. Det spiller også en central rolle i batteribeskyttelse.

Anbefalede: