Mundarija:

TMP-112 ning Arduino Nano (I2C) bilan o'zaro aloqasi: 5 qadam
TMP-112 ning Arduino Nano (I2C) bilan o'zaro aloqasi: 5 qadam

Video: TMP-112 ning Arduino Nano (I2C) bilan o'zaro aloqasi: 5 qadam

Video: TMP-112 ning Arduino Nano (I2C) bilan o'zaro aloqasi: 5 qadam
Video: Arduino Nano - TMP112 Temperature Sensor Tutorial 2024, Noyabr
Anonim
TMP-112 ni Arduino Nano (I2C) bilan bog'lash
TMP-112 ni Arduino Nano (I2C) bilan bog'lash

Salom, Yaxshi Salom.. !!

Men (Somanshu Choudhary) Arcino nano yordamida haroratni o'lchaydigan Dcube texnologik korxonalari nomidan, harorat sensori TMP-112 analog ma'lumotlarini o'qish uchun I2C protokolidan biridir.

1 -qadam: umumiy nuqtai

Sharh
Sharh
  1. TMP-112-bu harorat sensori.
  2. Ma'lumotlar sahifasi havolasi:

2 -qadam: Sizga nima kerak / havolalar

Sizga nima kerak / havolalar
Sizga nima kerak / havolalar
  1. Arduino Nano
  2. Arduino Nano uchun I²C qalqoni
  3. USB kabeli A tipidagi mikro tip B 6 fut uzunlikda
  4. I²C kabeli
  5. TMP112 I²C harorat sensori ±.5 ° C 12-bitli I²C mini moduli

3 -qadam: O'chirish diagrammasi

O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi

4 -qadam: dasturlash

Dasturlash
Dasturlash

#qo'shing

bo'sh o'rnatish ()

{

// TMP112 ning I2C manzili

#ta'rif TMP_ADDR 0x48

// I2c Bus -ga usta sifatida qo'shiling

Wire.begin ();

// Seriya aloqasini boshlang

Serial.begin (9600);

// uzatishni boshlang

Wire.beginTransmission (TMP_ADDR);

// Ro'yxatdan o'tishni yoqish -ni tanlang

Wire.write (0x01);

// Oddiy ishlashni tanlang

Wire.write (0x60A0);

// uzatishni tugatish va I2C avtobusini chiqarish

Wire.endTransmission ();

}

bo'sh halqa ()

{

// uzatishni boshlang

Wire.beginTransmission (TMP_ADDR);

// Ma'lumotlar registrlarini tanlang

Wire.write (0X00);

// uzatishni tugatish

Wire.endTransmission ();

kechikish (500);

// 2 baytni so'rang, avval Msb

Wire.requestFrom (TMP_ADDR, 2);

// Ikki baytni o'qing

while (Wire.available ())

{

// axlatni olib tashlang

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Ma'lumotni xom qiymatlarga aylantirish

int rawtmp = msb << 8 | lsb;

int qiymati = rawtmp >> 4;

double ans = qiymati * 0,0625;

// Chop etish

Serial.print ("selsiy qiymati:");

Serial.println (ans);

}

}

5 -qadam:

Men qo'limdan kelganini qildim, seniki qil;-)

Boshqa savollar uchun saytimizga tashrif buyuring:

www.dcubetechnologies.com

Tavsiya: