
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…
Önder
24 Mayıs 2020 at 19:29
merhaba iyi günler kodlarda hata almaktayım stabil çalışmıyor termokupl