Spisu treści:

Arduino Nano - samouczek dotyczący czujnika temperatury SI7050: 4 kroki
Arduino Nano - samouczek dotyczący czujnika temperatury SI7050: 4 kroki

Wideo: Arduino Nano - samouczek dotyczący czujnika temperatury SI7050: 4 kroki

Wideo: Arduino Nano - samouczek dotyczący czujnika temperatury SI7050: 4 kroki
Wideo: Подключим к Arduino Датчик температуры DS18B20 2024, Lipiec
Anonim
Image
Image

SI7050 to cyfrowy czujnik temperatury, który działa na protokole komunikacyjnym I2C i oferuje wysoką dokładność w całym zakresie napięcia roboczego i temperatury. Tak wysoką dokładność czujnika przypisuje się nowatorskiemu przetwarzaniu sygnału i konstrukcji analogowej. Czujniki te są wbudowane w pamięć chipową, która przechowuje dane kalibracyjne, co ułatwia ich użycie w szerokim zakresie. Oto jego demonstracja z Arduino Nano.

Krok 1: Czego potrzebujesz.

Czego potrzebujesz..!!
Czego potrzebujesz..!!

1. Arduino Nano

2. SI7050

3. Kabel I²C

4. Tarcza I²C dla Arduino Nano

Krok 2: Połączenie:

Połączenie
Połączenie
Połączenie
Połączenie
Połączenie
Połączenie
Połączenie
Połączenie

Weź nakładkę I2C dla Arduino Nano i delikatnie wepchnij ją na piny Nano.

Następnie podłącz jeden koniec kabla I2C do czujnika SI7050, a drugi koniec do ekranu I2C.

Połączenia prezentuje powyższy obrazek.

Krok 3: Kod:

Kod
Kod

Kod arduino dla SI7050 można pobrać z naszego repozytorium github-DCUBE Store.

Oto link do tego samego:

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

Dołączamy bibliotekę Wire.h ułatwiającą komunikację I2c czujnika z płytką Arduino.

Możesz również skopiować kod stąd, jest on podany w następujący sposób:

// Rozprowadzane z wolną licencją.

// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.

// SI7050

// Ten kod jest przeznaczony do pracy z minimodułem SI7050_I2CS I2C

#włączać

// Adres SI7050 I2C to 0x40(64)

#define Addr 0x40

pusta konfiguracja()

{

// Zainicjuj komunikację I2C jako MASTER

Wire.początek();

// Zainicjuj komunikację szeregową, ustaw szybkość transmisji = 9600

Serial.początek(9600);

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr);

// Zatrzymaj transmisję I2C

Wire.endTransmission();

opóźnienie(300);

}

pusta pętla()

{

dane int bez znaku[2];

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr);

// Wyślij polecenie pomiaru temperatury, BEZ HOLD MASTER

Wire.write(0xF3);

// Zatrzymaj transmisję I2C

Wire.endTransmission();

opóźnienie (500);

// Poproś o 2 bajty danych

Wire.requestFrom(Addr, 2);

// Odczytaj 2 bajty danych

// temp msb, temp lsb

if(Przewód.dostępny() == 2)

{

dane[0] = Przewód.odczyt();

dane[1] = Drut.odczyt();

}

// Konwertuj dane

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

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

pływak ftemp = ctemp * 1,8 + 32;

// Dane wyjściowe do monitora szeregowego

Serial.print("Temperatura w stopniach Celsjusza: ");

Serial.print(ctemp);

Serial.println("C");

Serial.print("Temperatura w stopniach Fahrenheita: ");

Serial.print(ftemp);

Serial.println(" F");

opóźnienie (500);

}

Krok 4: Aplikacje:

SI7050 może być wbudowany w różne systemy, w tym sprzęt komputerowy, przenośne urządzenia konsumenckie i sprzęt medyczny. Czujnik ten może być stosowany w łańcuchach chłodni, śledzeniu zasobów, a także w różnych przemysłowych systemach sterowania. Odgrywa również kluczową rolę w ochronie baterii.

Zalecana: