Isi kandungan:

Memadan TMP-112 Dengan Arduino Nano (I2C): 5 Langkah
Memadan TMP-112 Dengan Arduino Nano (I2C): 5 Langkah

Video: Memadan TMP-112 Dengan Arduino Nano (I2C): 5 Langkah

Video: Memadan TMP-112 Dengan Arduino Nano (I2C): 5 Langkah
Video: Tutorial LCD 2x16 Arduino Lengkap 2024, November
Anonim
Memadan TMP-112 Dengan Arduino Nano (I2C)
Memadan TMP-112 Dengan Arduino Nano (I2C)

Helo, Salam sejahtera.. !!

Saya (Somanshu Choudhary) atas nama usaha teknologi Dcube akan mengukur suhu menggunakan Arduino nano, ini adalah salah satu aplikasi protokol I2C untuk membaca data analog Sensor suhu TMP-112.

Langkah 1: Gambaran keseluruhan

Gambaran keseluruhan
Gambaran keseluruhan
  1. TMP-112 adalah sensor suhu.
  2. Pautan DATASHEET:

Langkah 2: Apa yang Anda Perlu / Pautan

Apa yang Anda Perlu / Pautan
Apa yang Anda Perlu / Pautan
  1. Arduino Nano
  2. Perisai I²C untuk Arduino Nano
  3. Kabel USB Jenis A hingga Mikro Jenis B 6 Kaki Panjang
  4. Kabel I²C
  5. Sensor Suhu TMP112 I²C ±.5 ° C Modul Mini 12-Bit I²C

Langkah 3: Rajah Litar

Rajah Litar
Rajah Litar
Rajah Litar
Rajah Litar

Langkah 4: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan

#sertakan

persediaan tidak sah ()

{

// Alamat I2C TMP112

#tentukan TMP_ADDR 0x48

// Sertailah Bas I2c sebagai tuan

Wire.begin ();

// Mulakan komunikasi bersiri

Serial.begin (9600);

// Mulakan penghantaran

Wire.beginTransmission (TMP_ADDR);

// Pilih ENABLE register

Wire.write (0x01);

// Pilih operasi biasa

Wire.write (0x60A0);

// Tamatkan penghantaran dan lepaskan bas I2C

Wire.endTransmission ();

}

gelung kosong ()

{

// Mulakan penghantaran

Wire.beginTransmission (TMP_ADDR);

// Pilih Daftar Data

Wire.write (0X00);

// Penghantaran Akhir

Wire.endTransmission ();

kelewatan (500);

// Minta 2 bait, Msb terlebih dahulu

Wire.requestFrom (TMP_ADDR, 2);

// Baca dua bait

sementara (Wire. tersedia ())

{

// buang sampah

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Penukaran data dalam nilai mentah

int rawtmp = msb << 8 | lsb;

nilai int = rawtmp >> 4;

double ans = nilai * 0.0625;

// Hasil cetak

Serial.print ("nilai celsius:");

Serial.println (ans);

}

}

Langkah 5:

Saya telah melakukan yang terbaik untuk anda;-)

Untuk pertanyaan lanjut, sila lawati laman web kami:

www.dcubetechnologies.com

Disyorkan: