Arduino Sıcaklık Sensörü: 4 Adım

Arduino Sıcaklık Sensörü: 4 Adım

İçindekiler:

Anonim

Hiç arduino ile sıcaklığı okumak istediniz mi? Heres sadece 4 kablo kullanarak harika bir yol! TC74 ile !!

Sıcaklık yaklaşık ± 2 ° C'ye kadar doğrudur.

Gereçler:

Adım 1: İhtiyacınız Olanlar …

İhtiyacınız olan şeyler:

- Bir Arduino (Duemilanove kullanıyorum)

- TC47 (3.3V veya 5V)

- Dört (4) tel bit

- Bir breadboard (İsteğe bağlı ancak çok yardımcı olur!)

Adım 2: Her Şeyi Kablolayın!

Resmi kullanarak bağlanın:

NC hiçbir şey için

Arduino analog pin 4 için SDA

Arduino toprağa GND

Arduino analog pim 5'e SCLK

Arduino 5V veya 3.3V'a VDD (sahip olduğunuz sensöre bağlı olarak)

Adım 3: Numaranızı alabilir miyim?

Şimdi sensörünüzün I2C adresini bulmamız gerekiyor (çünkü aynı 2 analog pimi kullanarak 8 sensöre bağlayabilirsiniz).

Verilen tabloyu kullanarak parça numaranızı ve ilgili ikili adresinizi bulun.

Anladım? İyi. Çünkü şimdi ikili adresi (0s ve 1s) onaltılık bir değere dönüştürmemiz gerekiyor (gerçekten daha karmaşık sesler).

Şimdi bu adresi alın ve bu web sitesinin İKİLİ alanına girin ve kod çözmeyi açın:

home2.paulschou.net/tools/xlate/

Neredeyse bitti, sadece HEX alanında gördüğünüzü kopyalayın ve önüne 0x ekleyin.

Örneğin çıktınız 48 ise, 0x48 yapın.

Adım 4: Kod, Kod ve Daha Fazla Kod!

Şimdi bu kod benim değil ve nereden aldığımı tam olarak bilmiyorum.. bu yüzden eğer birileri tanırsa bana bir not verin.

Her neyse burada. Sadece koddaki adresi, sensörünüzün adresi ile değiştirmeyi unutmayın.

Tek yapmanız gereken, bunu arduino'nuza yüklemek, seri monitörü açmak ve sıcaklığı almak.

#include "Wire.h"

// tel kitaplığı

#define adresi 0x48

// sıcaklık sensörünün adresi

#define gecikmeC 1000

// ms cinsinden gecikme sayısı

#define baudrate 9600

// iletişim için baudrate

geçersiz kurulum ()

{

Wire.begin ();

Serial.begin (baud hızı);

}

geçersiz döngü ()

{

Seri baskısı ("Santigrat cinsinden sıcaklık:");

// hadi bir şeyler yapmak üzere olduğumuzu işaretleyelim

int sıcaklık;

// bayttaki sıcaklık

Wire.beginTransmission (adres);

// iletimi başlat

Wire.send (0x00);

Wire.requestFrom (adres, 1);

if (Wire.available ()) {

sıcaklık = Wire.receive ();

Serial.println (sıcaklık);

} Başka {

Serial.println ("---");

}

Wire.endTransmission ();

// iletimi sonlandır

gecikmesi (delayC);

}