Innholdsfortegnelse:

Arduino Nano - SI7050 Temperatursensor Opplæring: 4 trinn
Arduino Nano - SI7050 Temperatursensor Opplæring: 4 trinn

Video: Arduino Nano - SI7050 Temperatursensor Opplæring: 4 trinn

Video: Arduino Nano - SI7050 Temperatursensor Opplæring: 4 trinn
Video: LDmicro 11: Последовательный контроллер температуры с ЖК-дисплеем (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Juli
Anonim
Image
Image

SI7050 er en digital temperatursensor som fungerer på I2C kommunikasjonsprotokoll og gir høy nøyaktighet over hele driftsspenningen og temperaturområdet. Denne høye nøyaktigheten til sensoren tilskrives den nye signalbehandlingen og den analoge designen. Disse sensorene er innebygd i et chip-minne som lagrer kallibreringsdataene som letter bruken over et bredt område. Her er demonstrasjonen med Arduino Nano.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Arduino Nano

2. SI7050

3. I²C -kabel

4. I²C -skjold for Arduino Nano

Trinn 2: Tilkobling:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Ta et I2C -skjold for Arduino Nano og skyv det forsiktig over pinnene på Nano.

Koble deretter den ene enden av I2C -kabelen til SI7050 -sensoren og den andre enden til I2C -skjoldet.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Arduino-koden for SI7050 kan lastes ned fra vårt github-depot-DCUBE Store.

Her er lenken til det samme:

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

Vi inkluderer bibliotek Wire.h for å lette I2c -kommunikasjonen av sensoren med Arduino -kortet.

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

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// SI7050

// Denne koden er designet for å fungere med SI7050_I2CS I2C Mini Module

#inkludere

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

#define Addr 0x40

ugyldig oppsett ()

{

// Initialiser I2C -kommunikasjon som MASTER

Wire.begin ();

// Initialiser seriell kommunikasjon, sett overføringshastighet = 9600

Serial.begin (9600);

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (300);

}

hulrom ()

{

usignerte int -data [2];

// Start I2C -overføring

Wire.beginTransmission (Addr);

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

Wire.write (0xF3);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (500);

// Be om 2 byte med data

Wire.requestFrom (Addr, 2);

// Les 2 byte med data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene

flyt temp = ((data [0] * 256,0) + data [1]);

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

float ftemp = ctemp * 1,8 + 32;

// Utdata til seriell skjerm

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

Serial.print (ctemp);

Serial.println ("C");

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

Serial.print (ftemp);

Serial.println ("F");

forsinkelse (500);

}

Trinn 4: Søknader:

SI7050 kan inkorporeres i forskjellige systemer, inkludert datautstyr, bærbart forbrukerutstyr og medisinsk utstyr. Denne sensoren kan brukes i kjølelagringskjeder, sporing av eiendeler samt forskjellige industrielle kontrollsystemer. Det spiller også en sentral rolle i batteribeskyttelse.

Anbefalt: