MAX6675 Arduino Kullanımı

max6675-arduino-baglanti-semasi

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;
}