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:
- Arduino Uno R3 DIP Klon
- MAX6675 K-Tipi Sıcaklık Modülü
- 2×16 Karakter LCD Ekran I2C
- LCD Seri Arayüz Kartı
- Jumper Kablo
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 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
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!
1024 dereceyi ölçebiliyor olması çok inandırıcı gelmiyor kullanıcı yorumu olarak en fazla kaç dereceyi ölçebilmiş biliyormusunuz ?
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 🙂
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?
Evet bu şekilde bir proje yapabilirsiniz.
aynı anda 15 Adet K tipi termokupl bağlamak ve herbirinin okumasını ayrı ayrı veri tabanında toplamak mümkün mü
Merhaba, python pyfirmata kullanarak max6675 çalıştırabilir miyize?