INHOUDSOPGAWE:

Arduino Nano - SI7050 Temperatuur sensor handleiding: 4 stappe
Arduino Nano - SI7050 Temperatuur sensor handleiding: 4 stappe

Video: Arduino Nano - SI7050 Temperatuur sensor handleiding: 4 stappe

Video: Arduino Nano - SI7050 Temperatuur sensor handleiding: 4 stappe
Video: Arduino Nano - SI7050 Temperature Sensor Tutorial 2024, Julie
Anonim
Image
Image

SI7050 is 'n digitale temperatuursensor wat werk volgens I2C -kommunikasieprotokol en bied 'n hoë akkuraatheid oor die hele werkspanning en temperatuurbereik. Hierdie hoë akkuraatheid van die sensor word toegeskryf aan die nuwe seinverwerking en analoog ontwerp. Hierdie sensors is ingebed met 'n on-chip geheue wat die kalibrasie-data stoor, wat die gebruik daarvan oor 'n wye reeks vergemaklik. Hier is die demonstrasie met Arduino Nano.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Arduino Nano

2. SI7050

3. I²C -kabel

4. I²C -skild vir Arduino Nano

Stap 2: Verbinding:

Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding

Neem 'n I2C -skild vir Arduino Nano en druk dit saggies oor die penne van Nano.

Koppel dan die een kant van die I2C -kabel aan die SI7050 -sensor en die ander kant aan die I2C -skild.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die arduino-kode vir SI7050 kan afgelaai word in ons github repository-DCUBE-winkel.

Hier is die skakel vir dieselfde:

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

Ons bevat biblioteek Wire.h om die I2c -kommunikasie van die sensor met die Arduino -bord te vergemaklik.

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

// Versprei met 'n vrywillige lisensie.

// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

// SI7050

// Hierdie kode is ontwerp om te werk met die SI7050_I2CS I2C Mini Module

#insluit

// SI7050 I2C adres is 0x40 (64)

#definieer Addr 0x40

leemte opstelling ()

{

// Initialiseer I2C -kommunikasie as MASTER

Wire.begin ();

// Initialiseer seriële kommunikasie, stel baud rate = 9600 in

Serial.begin (9600);

// Begin I2C -oordrag

Wire.beginTransmission (Addr);

// Stop I2C -oordrag

Wire.endTransmission ();

vertraging (300);

}

leemte lus ()

{

ongetekende int data [2];

// Begin I2C -oordrag

Wire.beginTransmission (Addr);

// Stuur temperatuurmetingopdrag, GEEN VASTE MEESTER nie

Wire.write (0xF3);

// Stop I2C -oordrag

Wire.endTransmission ();

vertraging (500);

// Versoek 2 grepe data

Wire.requestFrom (Addr, 2);

// Lees 2 grepe data

// temp msb, temp lsb

as (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Skakel die data om

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

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

float ftemp = ctemp * 1.8 + 32;

// Uitset data na die seriële monitor

Serial.print ("Temperatuur in Celsius:");

Serial.print (ctemp);

Serial.println ("C");

Serial.print ("Temperatuur in Fahrenheit:");

Reeks.afdruk (ftemp);

Serial.println ("F");

vertraging (500);

}

Stap 4: Aansoeke:

SI7050 kan opgeneem word in verskillende stelsels, insluitend rekenaartoerusting, draagbare verbruikerstoestelle en mediese toerusting. Hierdie sensor kan gebruik word in kouekaste, kettingsopsporing en verskillende industriële beheerstelsels. Dit speel ook 'n deurslaggewende rol in die beskerming van batterye.

Aanbeveel: