İçindekiler:

Arduino Nano (I2C) ile TMP-112 Arayüz Oluşturma: 5 Adım
Arduino Nano (I2C) ile TMP-112 Arayüz Oluşturma: 5 Adım

Video: Arduino Nano (I2C) ile TMP-112 Arayüz Oluşturma: 5 Adım

Video: Arduino Nano (I2C) ile TMP-112 Arayüz Oluşturma: 5 Adım
Video: Arduino Nano I2C LCD Interfacing & Programming 2024, Kasım
Anonim
TMP-112 ile Arduino Nano (I2C) Arayüz Oluşturma
TMP-112 ile Arduino Nano (I2C) Arayüz Oluşturma

Merhaba, Selamlar..!!

I (Somanshu Choudhary), Arduino nano kullanarak sıcaklığı ölçecek olan Dcube teknoloji girişimleri adına, sıcaklık Sensörü TMP-112'nin analog verilerini okumak için I2C protokolünün uygulamalarından biridir.

1. Adım: Genel Bakış

genel bakış
genel bakış
  1. TMP-112 bir sıcaklık sensörüdür.
  2. VERİ SAYFASI Bağlantısı:

Adım 2: İhtiyacınız Olan Şeyler / Bağlantılar

İhtiyacınız Olan / Bağlantılar
İhtiyacınız Olan / Bağlantılar
  1. Arduino Nano
  2. Arduino Nano için I²C Kalkanı
  3. USB Kablosu Tip A - Mikro Tip B 6 Feet Uzunluğunda
  4. I²C Kablosu
  5. TMP112 I²C Sıcaklık Sensörü ±.5°C 12-Bit I²C Mini Modül

Adım 3: Devre Şeması

Devre şeması
Devre şeması
Devre şeması
Devre şeması

Adım 4: Programlama

Programlama
Programlama

#Dahil etmek

geçersiz kurulum()

{

// TMP112'nin I2C adresi

#define TMP_ADDR 0x48

// I2c Bus'a master olarak katıl

Wire.begin();

// Seri iletişimi başlat

Seri.başla(9600);

// İletimi başlat

Wire.beginTransmission(TMP_ADDR);

// ETKİNLEŞTİR kaydını seç

Wire.write(0x01);

// Normal işlemi seç

Wire.write(0x60A0);

// İletimi sonlandır ve I2C veri yolunu serbest bırak

Wire.endTransmission();

}

boşluk döngüsü()

{

// İletimi başlat

Wire.beginTransmission(TMP_ADDR);

// Veri Kayıtlarını Seç

Wire.write(0X00);

// İletimi Bitir

Wire.endTransmission();

gecikme(500);

// 2 bayt iste, önce Msb

Wire.requestFrom(TMP_ADDR, 2);

// İki baytı oku

while(Wire.available())

{

//çöpü kaldır

Seri.flush();

int msb = Wire.read();

int lsb = Wire.read();

Wire.endTransmission();

// Ham değerlerde veri dönüştürme

int rawtmp = msb << 8 |lsb;

int değeri = hamtmp >> 4;

double ans = değer * 0.0625;

// Çıktıyı yazdır

Serial.print("santigrat değeri:");

Serial.println(ans);

}

}

Adım 5:

ben elimden geleni yaptım sende yap;-)

Daha fazla bilgi için sitemizi ziyaret etmekten çekinmeyin:

www.dcubetechnologies.com

Önerilen: