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:
- 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;
}
0 Yorumlar