Arduino Arduino ile Max6675 K Tipi Termokupl Kullanımı By Ekrem Keleş Posted on 12 Kasım 2017 9 min read 1 0 10,075 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Arduino Uno Arduino Uno ‘nun 14 tane dijital giriş / çıkış pini vardır. Bunlardan 6 tanesi PWM çıkışı olarak kullanılabilir. Ayrıca 6 adet analog girişi, bir adet 16 MHz kristal osilatörü, USB bağlantısı, power jakı (2.1mm), ICSP başlığı ve reset butonu bulunmaktadır. Arduino Uno bir mikrodenetleyiciyi desteklemek için gerekli bileşenlerin hepsini içerir. Arduino Uno ‘yu bir bilgisayara bağlayarak, bir adaptör ile ya da pil ile çalıştırabilirsiniz. Şekil 1. Arduino Uno SMD K-tipi Termokupl Sıcaklık Sensörü – Arduino MAX6675 Thermocouple Modülü Termokupl veya ısıl çift, bir tür sıcaklık sensörüdür. Farklı iki iletken malzemeden oluşur. Bu malzemelerin iki ucu birleştirilir (sıcak nokta) ve ısıtılırsa, diğer uçlarda (soğuk nokta) gerilim elde edilir. Bu gerilimin değeri kullanılan malzemenin cinsine ve birleşim noktasının ısınma miktarına bağlıdır. Sıcak nokta ile soğuk nokta sıcaklık dağılımı nasıl olursa olsun üretilen gerilim sıcak ile soğuk nokta arasındaki sıcaklık farkıyla orantılıdır. Bu ürün, mikrokontrolcü kartlarınızla oldukça hassas sıcaklık ölçümü yapmanıza olanak tanır. MAX6675 termokupl güçlendirici modülü ve K-tipi termokupldan oluşmaktadır. Soğuk nokta kompanzasyonuna sahiptir (-20 ~ +80 °C) ve 0.25 °C hassasiyete sahiptir. Şekil 2. K-tipi Termokupl ,Arduino MAX6675 Modülü 16*2 Display LCD, Liquid Crystal Display yani Sıvı Kristal Ekran elektrikle kutuplanan sıvının ışığı tek fazlı geçirmesi ve önüne eklenen bir kutuplanma filtresi ile gözle görülebilmesi ilkesine dayanan bir görüntü teknolojisidir. LCD lerde bulunan sıvı kristaller sıcaklığa ve madde yapısına göre termotropik ve liyotropik fazlarda bulunabilirler. Termotropik fazlı sıvı kristallerin bir alt grubu olan nematik likit kristallerin, kıvrık nematikler (twisted nematics – TN) adı verilen çeşidi uygulanan akımın gerilimine bağlı olarak düz konuma yani kıvrık olmayan nematikler haline gelir. Nematik sıvı kristaller, LCD lerin yapılmasını mümkün kılan sıvı kristal fazıdır. LCD lerin yapılabilmesi için ışık polarize edilebilmeli, sıvı kristaller polarize edilmiş ışığı geçirebilmeli, sıvı kristallerin molekül dizilimi elektrik akımı ile değiştirilebilmeli ve elektriği ileten bir yapıya sahip olunmalıdır. Şekil 3. Lcd Pin Fonksiyonları VEE : Kontrast girişine bağlanan direnç ile LCD panelin kontrastı ayarlanabilir. Direnç değeri yükseldikçe kontrast düşer, azaldıkça ise kontrast yükselir. RS : Lcd ye komut mu yoksa data mı gönderileceğini belirler. RS girişi “0” (ground) durumundayken komut saklayıcısı, +5V oldugundaysa veri saklayıcısı seçilmiş olur. RW : Lcd den okuma mı yoksa lcd ye yazma yapılacağını belirler. RW girişi toprağa bağlandığında yani “0” durumundayken LCD yazma modundadır. E : Enable ucu LCD ve pinler arasındaki gerçek veri alışverişini sağlayan bacaktır. Bu girişi mikrodenetleyiciye program aracılığıyla tanıttıktan sonra PIC kendisi veri gönderileceği zaman bu bacaga enable pulsu gönderir. D0 – D7 : Data hattı olan bu pinler doğrudan mikrodenetleyicinin bir portuna bağlanır. Veri 4 ya da 8 bitlik veri yolu ile gönderilebilir. Programımız #include <max6675.h> #include <LiquidCrystal.h> #include <Wire.h> int thermoDO = 6; int thermoCS = 7; int thermoCLK = 8; int led1=9; int led2=10; MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO); LiquidCrystal lcd(12, 11, 5, 4, 3, 2); uint8_t degree[8] = {140,146,146,140,128,128,128,128}; void setup() { Serial.begin(9600); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); lcd.begin(16, 2); lcd.createChar(0, degree); delay(500); } void loop() { // basic readout test, just print the current temp lcd.clear(); lcd.setCursor(0, 0); lcd.print(“_MAX6675 test_”); lcd.setCursor(0,1); lcd.print(thermocouple.readCelsius()); #if ARDUINO >= 100 lcd.write((byte)0); #else lcd.print(0, BYTE); #endif lcd.print(“C”); if (thermocouple.readCelsius()<30&&thermocouple.readCelsius()>=0){ lcd.print(“=normal=”); } if (thermocouple.readCelsius()>30&&thermocouple.readCelsius()<=40){ lcd.print(“=sicak=”); digitalWrite(led1, LOW); digitalWrite(led2, HIGH); } if (thermocouple.readCelsius()>40){ lcd.print(“=coksicak=”); digitalWrite(led1, HIGH); digitalWrite(led2, LOW); delay(1000);} Devre Şeması ve Bağlantılar Şekil 4. Devre Şeması LCD DB7 -> Arduino Digital 2 DB6 -> Arduino Digital 3 DB5 -> Arduino Digital 4 DB4 -> Arduino Digital 5 E -> Arduino Digital 11 RS -> Arduino Digital 12 MAX6675 SO -> Arduino Digital 6 CS-> Arduino Digital 7 SCK-> Arduino Digital 8 Kaynakça http://www.robotiksistem.com/lcd_yapisi_calismasi.html http://www.pyromation.com/Downloads/Data/emfk_c.pdf https://github.com/adafruit/MAX6675-library (ARDUİNO KÜTÜPHANESİ) Çalışma Videosu; Başka bir yazıda görüşmek dileğiyle…