Mündəricat:

Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım
Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım

Video: Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım

Video: Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım
Video: #10 Как запрограммировать ПЛК Outseal Arduino — сравнение 2024, Iyun
Anonim
Image
Image

SI7050, I2C rabitə protokolu üzərində işləyən və bütün işləmə gərginliyi və temperatur aralığında yüksək dəqiqlik təqdim edən rəqəmsal bir temperatur sensoru. Sensorun bu yüksək dəqiqliyi yeni siqnal emalı və analoq dizaynı ilə əlaqədardır. Bu sensorlar, kalibrləmə məlumatlarını saxlayan çip yaddaşına malikdir, bu da geniş diapazonda istifadəsini asanlaşdırır. İşdə Arduino Nano ilə nümayişidir.

Addım 1: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!

1. Arduino Nano

2. SI7050

3. I²C Kabel

4. Arduino Nano üçün I²C Shield

Addım 2: Bağlantı:

Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı

Arduino Nano üçün bir I2C qalxanı götürün və Nanonun sancaqlarından yumşaq bir şəkildə itələyin.

Sonra I2C kabelinin bir ucunu SI7050 sensoruna, digər ucunu isə I2C ekranına bağlayın.

Bağlantılar yuxarıdakı şəkildə göstərilmişdir.

Addım 3: Kod:

Kod
Kod

SI7050 üçün arduino kodu github depomuzdan yükləyə bilərsiniz-DCUBE Mağazası.

İşdə bunun üçün bağlantı:

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

Sensorun Arduino lövhəsi ilə I2c əlaqəsini asanlaşdırmaq üçün Wire.h kitabxanasına daxildir.

Kodu buradan da kopyalaya bilərsiniz, belə verilir:

// Azad iradə lisenziyası ilə paylanmışdır.

// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.

// SI7050

// Bu kod SI7050_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır

#daxil edin

// SI7050 I2C ünvanı 0x40 (64)

#təyin et Addr 0x40

boş quraşdırma ()

{

// I2C ünsiyyətini MASTER olaraq başladın

Wire.begin ();

// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int məlumatları [2];

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// İstilik ölçmə əmri göndər, MASTER YOXDUR

Wire.write (0xF3);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (500);

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Məlumatları çevirin

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

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

float ftemp = ctemp * 1.8 + 32;

// Məlumatların serial monitora çıxarılması

Serial.print ("Selsi temperaturu:");

Serial.print (ctemp);

Serial.println ("C");

Serial.print ("Fahrenheitdəki temperatur:");

Serial. çap (ftemp);

Serial.println ("F");

gecikmə (500);

}

Addım 4: Tətbiqlər:

SI7050 kompüter avadanlıqları, portativ istehlakçı cihazları və tibbi avadanlıqlar daxil olmaqla müxtəlif sistemlərə daxil edilə bilər. Bu sensor soyuq saxlama zəncirlərində, aktivlərin izlənilməsində və müxtəlif sənaye nəzarət sistemlərində istifadə edilə bilər. Batareyanın qorunmasında da əsas rol oynayır.

Tövsiyə: