MAX6675 Arduino Kullanımı

Sıcaklık Modülü MAX6675 Arduino Kullanımı Nasıl Yapılır?

Bu devremizde MAX6675 Arduino Kullanımı ile ilgili anlatım yapacağız. K-Tipi Sıcaklık Modülü MAX6675 ve Arduino Uno ile kullanarak projemizi gerçekleştireceğiz.

Kullanılacak Malzemeler:

MAX6675 K-Tipi Sıcaklık Modülü Özellikleri

Termokupllar sıcaklığı ölçmek için harika bir yoldur. Çok geniş bir aralığa sahiptirler, sağlamdırlar ve her çeşit uzunlukta, farklı uç konfigürasyonlarında ve çeşitli kılıflarda bulunurlar.

max6675-termokupl-sicaklik-modulu

MAX6675 gibi çipleri Arduino’nuza bir termokupl bağlayarak uygun yüksek değerlerde sıcaklık ölçümü yapmanızı sağlar. Cihaz bir K Termokupl’un çıkışını ölçer ve sonucu bir SPI arayüzü üzerinden Arduino’ya sunar.

MAX6675 Teknik Özellikleri

  • Besleme Gerilimi: 3.3V ~ 5 V DC
  • Çalışma Akımı: 50mA
  • Ölçüm Aralığı: 0C ~1024C
  • Ölçüm Çözünürlüğü: +/- 0.25C
  • Çıktı: SPI Arabirimi
  • Gerekli Sensör: K Termokupl

max6675-arduino-baglanti-semasi

Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino uno kartımıza yükleyip test edebiliriz.

Kütüphaneleri aşağıdaki linklerden indirip Arduino programına kurabilirsiniz.

MAX6675 Arduino Uno Program Kodu

/* Max6675 Module ==> Arduino
* CS ==> D10
* SO ==> D12
* SCK ==> D13
* Vcc ==> Vcc (5v)
* Gnd ==> Gnd */
//LCD config
#include
#include
// LCD ARAYUZ AKRTI AYARLARI YAPILIYOR
LiquidCrystal_I2C lcd(0x27, 4, 5, 6, 0, 1, 2, 3, 7, POSITIVE);
/* i2c LCD Module ==> Arduino
* SCL ==> A5
* SDA ==> A4
* Vcc ==> Vcc (5v)
* Gnd ==> Gnd */
#include
#define MAX6675_CS 10
#define MAX6675_SO 12
#define MAX6675_SCK 13
void setup() {
lcd.begin(16, 2);
lcd.backlight();
}
void loop() {
float temperature_read = readThermocouple();
lcd.setCursor(0,0);
lcd.print("TEMPERATURE");
lcd.setCursor(7,1);
lcd.print(temperature_read,1);
delay(300);
}
double readThermocouple() {
uint16_t v;
pinMode(MAX6675_CS, OUTPUT);
pinMode(MAX6675_SO, INPUT);
pinMode(MAX6675_SCK, OUTPUT);
digitalWrite(MAX6675_CS, LOW);
delay(1);
v = shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST);
v <<= 8; v |= shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST); digitalWrite(MAX6675_CS, HIGH); if (v & 0x4) { // Bit 2 indicates if the thermocouple is disconnected return NAN; } // The lower three bits (0,1,2) are discarded status bits v >>= 3;
return v*0.25;
}

Direnc.net Blog sayfamızda sürekli olarak yeni içerikler paylaşmaya devam edeceğiz. Lütfen sormak istediğiniz soruları yorum olarak bize gönderin!

Likes:
3 0
Views:
6789
Article Categories:
ArduinoEğitim

All Comments

  • 1024 dereceyi ölçebiliyor olması çok inandırıcı gelmiyor kullanıcı yorumu olarak en fazla kaç dereceyi ölçebilmiş biliyormusunuz ?

    Hüseyin Özen 13:16 Cevapla
    • Merhaba Hüseyin,

      MAX6675’in datasheet dosyasında bu bilgi var, biz de buraya istinaden bu bilgiyi veriyoruz: http://prntscr.com/mrq36s K tipi sensör koruması uygun olduğu sürece ölçümler yapılabilir. Makul sıcaklık seviyelerinde tecrübe ettik ancak pratikte x dereceden daha fazla ölçmüyor şeklinde bir bilgiye biz de rastlamadık. Datasheet’te belirtilen üst eşiği deneyimlemek çok kolay bir iş değil 🙂

      Direnc.net 12:01 Cevapla
  • Merhaba aynı anda iki farklı noktanın sıcaklığını ölçmek istiyorum 1 adet arduino UNO karta 2 adet max6675 termokuple bağlayarak iki farklı noktanın ısısını okuyabilirmiyim? Aynı şekilde iki LCD ekran bağlayarak değerleri bu ekranlardan görebilir miyim?

    Bedreddin 18:32 Cevapla
    • Evet bu şekilde bir proje yapabilirsiniz.

      Direnc.net 13:01 Cevapla
  • aynı anda 15 Adet K tipi termokupl bağlamak ve herbirinin okumasını ayrı ayrı veri tabanında toplamak mümkün mü

    Meral Acay 19:05 Cevapla
  • Merhaba, python pyfirmata kullanarak max6675 çalıştırabilir miyize?

    Tayfun 22:51 Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir