Inhaltsverzeichnis:

Arduino Nano - SI7050 Temperatursensor Tutorial - Gunook
Arduino Nano - SI7050 Temperatursensor Tutorial - Gunook

Video: Arduino Nano - SI7050 Temperatursensor Tutorial - Gunook

Video: Arduino Nano - SI7050 Temperatursensor Tutorial - Gunook
Video: Arduino Nano - SI7050 Temperature Sensor Tutorial 2024, Juli
Anonim
Image
Image

SI7050 ist ein digitaler Temperatursensor, der mit dem I2C-Kommunikationsprotokoll arbeitet und eine hohe Genauigkeit über den gesamten Betriebsspannungs- und Temperaturbereich bietet. Diese hohe Genauigkeit des Sensors wird auf die neuartige Signalverarbeitung und das analoge Design zurückgeführt. Diese Sensoren sind in einen On-Chip-Speicher eingebettet, der die Kalibrierungsdaten speichert, was ihre Verwendung über einen weiten Bereich erleichtert. Hier ist seine Demonstration mit Arduino Nano.

Schritt 1: Was Sie brauchen.

Was du brauchst..!!
Was du brauchst..!!

1. Arduino Nano

2. SI7050

3. I²C-Kabel

4. I²C-Schild für Arduino Nano

Schritt 2: Verbindung:

Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung

Nehmen Sie ein I2C-Shield für Arduino Nano und schieben Sie es vorsichtig über die Pins von Nano.

Verbinden Sie dann das eine Ende des I2C-Kabels mit dem SI7050-Sensor und das andere Ende mit der I2C-Abschirmung.

Die Anschlüsse sind im Bild oben dargestellt.

Schritt 3: Code:

Code
Code

Der Arduino-Code für SI7050 kann von unserem Github-Repository-DCUBE Store heruntergeladen werden.

Hier der Link dazu:

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

Wir binden die Bibliothek Wire.h ein, um die I2c-Kommunikation des Sensors mit dem Arduino-Board zu erleichtern.

Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:

// Wird mit einer frei wählbaren Lizenz vertrieben.

// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.

// SI7050

// Dieser Code wurde entwickelt, um mit dem SI7050_I2CS I2C Mini Module zu arbeiten

#enthalten

// SI7050 I2C-Adresse ist 0x40(64)

#define Addr 0x40

Void-Setup ()

{

// I2C-Kommunikation als MASTER initialisieren

Wire.begin();

// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen

Serial.begin (9600);

// I2C-Übertragung starten

Wire.beginTransmission(Addr);

// I2C-Übertragung stoppen

Wire.endTransmission();

Verzögerung (300);

}

Leere Schleife ()

{

unsignierte int-Daten[2];

// I2C-Übertragung starten

Wire.beginTransmission(Addr);

// Temperaturmessbefehl senden, NO HOLD MASTER

Wire.write(0xF3);

// I2C-Übertragung stoppen

Wire.endTransmission();

Verzögerung (500);

// 2 Byte Daten anfordern

Wire.requestFrom(Addr, 2);

// 2 Byte Daten lesen

// temp msb, temp lsb

if(Draht.verfügbar() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Konvertieren Sie die Daten

Float-Temp = ((data[0] * 256.0) + data[1]);

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

float ftemp = ctemp * 1,8 + 32;

// Daten an seriellen Monitor ausgeben

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

Serial.print (ctemp);

Serial.println("C");

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

Serial.print (ftemp);

Serial.println("F");

Verzögerung (500);

}

Schritt 4: Anwendungen:

SI7050 kann in verschiedene Systeme integriert werden, darunter Computerausrüstungen, tragbare Verbrauchergeräte und medizinische Geräte. Dieser Sensor kann in Kühlketten, Asset-Tracking sowie verschiedenen industriellen Steuerungssystemen eingesetzt werden. Es spielt auch eine zentrale Rolle beim Batterieschutz.

Empfohlen: