Inhoudsopgave:

Arduino Nano - SI7050 temperatuursensor tutorial - Ajarnpa
Arduino Nano - SI7050 temperatuursensor tutorial - Ajarnpa

Video: Arduino Nano - SI7050 temperatuursensor tutorial - Ajarnpa

Video: Arduino Nano - SI7050 temperatuursensor tutorial - Ajarnpa
Video: Arduino Nano - SI7050 Temperature Sensor Tutorial 2024, November
Anonim
Image
Image

SI7050 is een digitale temperatuursensor die werkt op I2C-communicatieprotocol en een hoge nauwkeurigheid biedt over het gehele bedrijfsspannings- en temperatuurbereik. Deze hoge nauwkeurigheid van de sensor wordt toegeschreven aan de nieuwe signaalverwerking en het analoge ontwerp. Deze sensoren zijn ingebed met een on-chip geheugen waarin de kalibratiegegevens worden opgeslagen, wat het gebruik over een breed bereik vergemakkelijkt. Hier is de demonstratie met Arduino Nano.

Stap 1: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!

1. Arduino Nano

2. SI7050

3. I²C-kabel

4. I²C-schild voor Arduino Nano

Stap 2: Aansluiting:

Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding

Neem een I2C-schild voor Arduino Nano en duw het voorzichtig over de pinnen van Nano.

Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de SI7050-sensor en het andere uiteinde op de I2C-afscherming.

De aansluitingen zijn weergegeven in de afbeelding hierboven.

Stap 3: Coderen:

Code
Code

De arduino-code voor SI7050 kan worden gedownload van onze github-repository-DCUBE Store.

Hier is de link voor hetzelfde:

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

We nemen bibliotheek Wire.h op om de I2c-communicatie van de sensor met het Arduino-bord te vergemakkelijken.

U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:

// Gedistribueerd met een vrije wilslicentie.

// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.

// SI7050

// Deze code is ontworpen om te werken met de SI7050_I2CS I2C Mini Module

#erbij betrekken

// SI7050 I2C-adres is 0x40(64)

#define Addr 0x40

ongeldige setup()

{

// Initialiseer I2C-communicatie als MASTER

Draad.begin();

// Initialiseer seriële communicatie, stel baudrate in = 9600

Serieel.begin(9600);

// Start I2C-transmissie

Wire.beginTransmission (Addr);

// Stop I2C-transmissie

Wire.endTransmission();

vertraging (300);

}

lege lus()

{

niet-ondertekende int-gegevens[2];

// Start I2C-transmissie

Wire.beginTransmission (Addr);

// Stuur opdracht voor temperatuurmeting, NO HOLD MASTER

Draad.schrijven (0xF3);

// Stop I2C-transmissie

Wire.endTransmission();

vertraging (500);

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// temp msb, temp lsb

if(Draad.beschikbaar() == 2)

{

data[0] = Draad.lezen();

data[1] = Draad.lezen();

}

// Converteer de gegevens

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

float ctemp = ((175.72 * temp) / 65536.0) - 46.85;

float ftemp = ctemp * 1.8 + 32;

// Gegevens uitvoeren naar seriële monitor

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

Serieel.print(ctemp);

Serieel.println("C");

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

Seriële.print(ftemp);

Serieel.println ("F");

vertraging (500);

}

Stap 4: Toepassingen:

SI7050 kan worden opgenomen in verschillende systemen, waaronder computerapparatuur, draagbare consumentenapparatuur en medische apparatuur. Deze sensor kan worden toegepast in koelketens, asset tracking en diverse industriële controlesystemen. Het speelt ook een cruciale rol bij de bescherming van de batterij.

Aanbevolen: