Mündəricat:

TMP-112-nin Arduino Nano (I2C) ilə Araşdırılması: 5 addım
TMP-112-nin Arduino Nano (I2C) ilə Araşdırılması: 5 addım

Video: TMP-112-nin Arduino Nano (I2C) ilə Araşdırılması: 5 addım

Video: TMP-112-nin Arduino Nano (I2C) ilə Araşdırılması: 5 addım
Video: Arduino Nano - TMP112 Temperature Sensor Tutorial 2024, Noyabr
Anonim
TMP-112-nin Arduino Nano (I2C) ilə əlaqəsi
TMP-112-nin Arduino Nano (I2C) ilə əlaqəsi

Salam, Xoş Salamlar.. !!

I (Somanshu Choudhary), Arduino nano istifadə edərək temperaturu ölçəcək Dcube texnologiya müəssisələri adından, temperatur sensoru TMP-112-nin analoq məlumatlarını oxumaq üçün I2C protokolunun tətbiqlərindən biridir.

Addım 1: Baxış

Baxış
Baxış
  1. TMP-112 temperatur sensoru.
  2. DATASHEET Link:

Addım 2: Lazım olanlar / Bağlantılar

Lazım olanlar / Bağlantılar
Lazım olanlar / Bağlantılar
  1. Arduino Nano
  2. Arduino Nano üçün I²C Qalxanı
  3. USB Kabel Tipi A - Mikro Tip B 6 Ayaq Uzunluğunda
  4. I²C Kabel
  5. TMP112 I²C Temperatur Sensoru ±.5 ° C 12 Bit I²C Mini Modulu

Addım 3: Dövrə Şeması

Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı

Addım 4: Proqramlaşdırma

Proqramlaşdırma
Proqramlaşdırma

#daxil edin

boş quraşdırma ()

{

// TMP112 -in I2C ünvanı

#define TMP_ADDR 0x48

// Master olaraq I2c Avtobusuna qoşulun

Wire.begin ();

// Serial ünsiyyətə başlayın

Serial.begin (9600);

// Göndərməyə başlayın

Wire.beginTransmission (TMP_ADDR);

// ENABLE register -i seçin

Wire.write (0x01);

// Normal əməliyyatı seçin

Wire.write (0x60A0);

// I2C avtobusunun ötürülməsi və buraxılması

Wire.endTransmission ();

}

boşluq döngəsi ()

{

// Göndərməyə başlayın

Wire.beginTransmission (TMP_ADDR);

// Məlumat Qeydləri seçin

Wire.write (0X00);

// Göndərməni bitir

Wire.endTransmission ();

gecikmə (500);

// 2 bayt istəyin, əvvəlcə Msb

Wire.requestFrom (TMP_ADDR, 2);

// İki baytı oxuyun

isə (Wire.available ())

{

// zibili çıxarın

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Xam dəyərlərdə məlumatların çevrilməsi

int rawtmp = msb << 8 | lsb;

int dəyəri = rawtmp >> 4;

cüt ans = dəyər * 0.0625;

// Çıxış çapı

Serial.print ("celsius dəyəri:");

Serial.println (ans);

}

}

Addım 5:

Əlimdən gələni etdim səninkini et;-)

Əlavə suallarınız üçün saytımızı ziyarət etməkdən çekinmeyin:

www.dcubetechnologies.com

Tövsiyə: