İçindekiler:

Arduino Nano - SI7050 Sıcaklık Sensörü Eğitimi: 4 Adım
Arduino Nano - SI7050 Sıcaklık Sensörü Eğitimi: 4 Adım

Video: Arduino Nano - SI7050 Sıcaklık Sensörü Eğitimi: 4 Adım

Video: Arduino Nano - SI7050 Sıcaklık Sensörü Eğitimi: 4 Adım
Video: Playing with Arduino and sensors - DHT11 and LM35DZ 2024, Temmuz
Anonim
Image
Image

SI7050, I2C iletişim protokolü üzerinde çalışan ve tüm çalışma voltajı ve sıcaklık aralığında yüksek doğruluk sunan bir dijital sıcaklık sensörüdür. Sensörün bu yüksek doğruluğu, yeni sinyal işleme ve analog tasarım ile ilişkilendirilir. Bu sensörler, geniş bir aralıkta kullanımını kolaylaştıran kalibrasyon verilerini saklayan bir çip üstü belleğe yerleştirilmiştir. İşte Arduino Nano ile yaptığı gösteri.

Adım 1: İhtiyacınız Olan Şey..!

Neye ihtiyacın var..!!
Neye ihtiyacın var..!!

1. Arduino Nano

2. SI7050

3. I²C Kablosu

4. Arduino Nano için I²C Kalkanı

Adım 2: Bağlantı:

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

Arduino Nano için bir I2C kalkanı alın ve yavaşça Nano'nun pimlerinin üzerine itin.

Ardından I2C kablosunun bir ucunu SI7050 sensörüne ve diğer ucunu I2C blendajına bağlayın.

Bağlantılar yukarıdaki resimde gösterilmiştir.

Adım 3: Kod:

Kod
Kod

SI7050 için arduino kodu, github deposu-DCUBE Mağazamızdan indirilebilir.

İşte aynısı için bağlantı:

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

Sensörün Arduino kartı ile I2c iletişimini kolaylaştırmak için Wire.h kitaplığını ekledik.

Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:

// Özgür irade lisansıyla dağıtılır.

// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.

// SI7050

// Bu kod, SI7050_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.

#Dahil etmek

// SI7050 I2C adresi 0x40(64)

#define Addr 0x40

geçersiz kurulum()

{

// I2C iletişimini MASTER olarak başlat

Wire.begin();

// Seri iletişimi başlat, baud hızını ayarla = 9600

Seri.başla(9600);

// I2C iletimini başlat

Wire.beginTransmission(Adr);

// I2C iletimini durdur

Wire.endTransmission();

gecikme(300);

}

boşluk döngüsü()

{

imzasız int veri[2];

// I2C iletimini başlat

Wire.beginTransmission(Adr);

// Sıcaklık ölçüm komutu gönder, HOLD MASTER YOK

Wire.write(0xF3);

// I2C iletimini durdur

Wire.endTransmission();

gecikme(500);

// 2 bayt veri iste

Wire.requestFrom(Adr, 2);

// 2 bayt veri oku

// temp msb, temp lsb

if(Wire.available() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Verileri dönüştür

kayan nokta sıcaklığı = ((veri[0] * 256.0) + veri[1]);

kayan nokta sıcaklık = ((175.72 * sıcaklık) / 65536.0) - 46.85;

kayan nokta ftemp = ctemp * 1.8 + 32;

// Verileri seri monitöre çıkar

Serial.print("Sıcaklık Santigrat Olarak: ");

Seri.print(ctemp);

Serial.println("C");

Serial.print("Sıcaklık Fahrenhayt Olarak: ");

Seri.print(ftemp);

Serial.println("F");

gecikme(500);

}

Adım 4: Uygulamalar:

SI7050, bilgisayar ekipmanları, taşınabilir tüketici cihazları ve tıbbi ekipmanlar dahil olmak üzere çeşitli sistemlere dahil edilebilir. Bu sensör, soğuk depo zincirlerinde, varlık takibinde ve çeşitli endüstriyel kontrol sistemlerinde kullanılabilir. Pil korumasında da önemli bir rol oynar.

Önerilen: