Bir cümlelik özet
Sıcaklık sensörü, çevresindeki ısıyı bir sayıya çevirir; biz de bu sayıyı okuyup bir eşiğe göre karar verebiliriz.
Neden önemli?
Bir odanın soğuk mu sıcak mı olduğunu elimizle anlarız ama bir robot ya da mikrodenetleyici bunu hissedemez. Ona ölçebileceği bir sayı vermemiz gerekir. Sıcaklık sensörü tam da bunu yapar: havanın veya bir yüzeyin ısısını derece cinsinden bir sayıya çevirir.
Bir önceki derste ışık sensörünün ortamdaki aydınlığı bir sayıya çevirdiğini görmüştük. Sıcaklık sensörü de aynı fikri farklı bir büyüklük için uygular. Gördüğün büyüklük değişir, mantık aynı kalır: sensör okur, program karar verir, çıkış tepki verir.
Sıcaklık ölçümü günlük hayatta her yerde. Termostat evi ısıtır, buzdolabı içini soğuk tutar, telefon çok ısınınca kendini korur. Bunların hepsinin altında bir sıcaklık sensörü ve basit bir kural vardır.
Sıcaklık sensörü ne yapar ve nasıl çalışır?
Neyi ölçer?
Sıcaklık sensörü, temas ettiği hava ya da yüzeyin ne kadar sıcak ya da soğuk olduğunu ölçer. Sonucu bize bir sayı olarak verir. Bu sayının birimi çoğunlukla santigrat derece (°C) olur. Örneğin oda sıcaklığı yaklaşık 22 °C, buzun eridiği nokta 0 °C, kaynayan su 100 °C civarıdır.
Nasıl çalışır (basit fikir)?
Çoğu elektronik sıcaklık sensörü tek bir düşünceye dayanır: bazı malzemelerin elektriksel davranışı ısıya göre değişir. Örneğin bir malzemenin akıma karşı gösterdiği direnç, ısındıkça artar veya azalır. Sensör bu küçük değişimi ölçer ve bir sıcaklık sayısına çevirir.
Sen bu iç ayrıntıyı ezberlemek zorunda değilsin. Bilmen gereken tek şey şu: sensör içindeki fiziksel değişimi senin okuyabileceğin temiz bir sayıya dönüştürür.
Çeşitleri (kavramsal)
Farklı işler için farklı sensörler vardır. Hepsini kullanman gerekmez; sadece seçeneklerin olduğunu bilmen yeterli.
- Termistör: Küçük ve ucuzdur. Isındıkça direnci değişir. Basit projeler için çok yaygındır.
- Dijital sensör (örneğin DS18B20, DHT11/DHT22): Sıcaklığı doğrudan bir sayı olarak verir; bazıları nem de ölçer. Bağlaması ve okuması kolaydır.
- Kızılötesi (temassız) sensör: Bir yüzeye dokunmadan, uzaktan sıcaklığını ölçer. Sıcak bir yüzeye elini değdirmeden kontrol etmek için kullanılır.
- Kart üzerindeki dahili sensör: Bazı micro:bit ve geliştirme kartlarında zaten küçük bir sıcaklık sensörü bulunur; ekstra parça bağlamadan deneyebilirsin.
Değeri nasıl okuruz?
Kartın sana sensörü okuyan hazır bir komutu vardır. Sen komutu çağırırsın, o da güncel sıcaklığı bir sayı olarak geri verir. Bu sayıyı bir değişkende saklarsın ve istediğin gibi kullanırsın.
micro:bit üzerinde dahili sensörü okumak buna benzer:
from microbit import *
while True:
sicaklik = temperature() # dereceyi oku
display.scroll(sicaklik) # ekranda göster
sleep(2000) # 2 saniye bekle
Buradaki temperature() komutu bize bir sayı verir. Örneğin 24 dönerse, bu "yaklaşık 24 santigrat derece" demektir.
Eşik ile karar vermek
Eşik nedir?
Tek başına bir sayı okumak yeterli değildir; asıl işi karşılaştırma yapar. Bir sınır belirleriz ve buna eşik deriz. Ölçülen değer eşiği geçerse bir şey yaptırırız. Bu, "Eğer … ise" koşulunun sensörlerle buluşmuş halidir.
Örneğin eşiğimiz 30 °C olsun. Kural şöyle: *"Sıcaklık 30 dereceyi geçerse buzzer'ı çaldır."*
Sözde kodla:
Başla
Tekrar et:
sicaklik = sensörü oku
Eğer sicaklik > 30 ise
buzzer'ı çaldır (çok sıcak uyarısı)
Değilse
buzzer'ı sustur
Kısa bir süre bekle
micro:bit örneği: sıcak uyarısı
Aynı fikri gerçek koda dökelim. Sıcaklık 30 dereceyi geçince ekranda bir uyarı gösterip sesli sinyal verelim:
from microbit import *
import music
ESIK = 30
while True:
sicaklik = temperature()
if sicaklik > ESIK:
display.show(Image.NO) # uyarı işareti
music.pitch(880, 300) # kısa bip sesi
else:
display.show(Image.HAPPY) # her şey normal
sleep(1000)
Bu programda üç parça bir arada çalışır: sensör okur, koşul karar verir, çıkış (ekran ve ses) tepki verir. Eşiği değiştirmek istersen sadece ESIK değerini değiştirmen yeter; geri kalanı aynı kalır.
Günlük hayattan iki örnek
Örnek 1: Termostat
Evdeki termostat sürekli oda sıcaklığını okur. Sen bir hedef belirlersin, örneğin 22 °C. Termostatın kuralı basittir: *"Oda 22 derecenin altına düşerse kaloriferi çalıştır; üstüne çıkarsa durdur."* Burada 22 °C bir eşiktir. Senin yazdığın "Eğer sıcaklık … ise" kuralının aynısı, sadece daha büyük bir cihazda.
Örnek 2: Bilgisayar veya telefonun fanı
Bir bilgisayarın içinde, işlemcinin yanında küçük bir sıcaklık sensörü vardır. İşlemci çok ısınınca sensör bunu fark eder ve fan hızlanır ya da cihaz kendini yavaşlatır. Amaç, sıcaklığın güvenli bir eşiğin altında kalmasını sağlamaktır. Senin buzzer örneğinle aynı mantık: eşik aşılınca bir tepki verilir.
Mini uygulama
Bir "sera uyarı sistemi" hayal et. Bir bitki serasının ne çok soğuması ne de çok ısınması gerekir. İki eşikli bir kural yaz:
- Sıcaklık 10 °C'nin altına düşerse "ÇOK SOĞUK" uyarısı ver.
- Sıcaklık 35 °C'nin üstüne çıkarsa "ÇOK SICAK" uyarısı ver.
- Aradaysa "NORMAL" göster.
Önce sözde kodla dene:
sicaklik = sensörü oku
Eğer sicaklik < 10 ise
"ÇOK SOĞUK" göster
Değilse eğer sicaklik > 35 ise
"ÇOK SICAK" göster
Değilse
"NORMAL" göster
Hazırsan bunu micro:bit'te gerçek koda çevir. display.scroll("SOGUK") gibi komutlarla uyarıları ekranda gösterebilirsin. Farklı eşikler dene ve sensörü elinle ısıtıp (avucunun içinde tutarak) değerin nasıl değiştiğini gözlemle.
Uygulama laboratuvarı: Sıcaklık Sensörü
Sıcaklık Sensörü konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Sıcaklık sensörü ne yapar ve nasıl çalışır? ile Nasıl çalışır (basit fikir)? arasındaki ilişkiyi kullanarak ölçüm tablosu, kalibrasyon kararı ve güvenli çıktı davranışı hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: karanlıkta açılıp aydınlıkta kapanan gece lambası. Dersin ana hedefi “Sıcaklık sensörünü okuyup bir eşikle sıcaklık uyarısı vermeyi öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Sensör değeri farklı koşullarda kaydedildi mi?
- Eşik değeri tek ölçüme değil gözleme dayanıyor mu?
- Gürültülü veri filtreleniyor veya ortalanıyor mu?
- Aktüatör güvenli başlangıç durumunda mı?
- Sensör koparsa sistemin nasıl davranacağı tanımlı mı?
“Sıcaklık Sensörü” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın karanlıkta açılıp aydınlıkta kapanan gece lambası senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Sıcaklık sensörü ne yapar ve nasıl çalışır? ve Nasıl çalışır (basit fikir)? ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
Birimi karıştırmak
Sensörün verdiği sayının hangi birimde olduğunu bilmezsen kuralın anlamsız olur. Eşiği yazmadan önce santigrat mı çalıştığını kontrol et. 30 sayısı 30 °C ise mantıklı; ama sensörün başka bir birim veya ham değer verdiğini varsayarsan uyarın yanlış zamanda çalışır.
Eşiği çok dar tutmak
Eşiği tam ölçülen değere eşitlersen (örneğin > 24 yerine == 24), sensör bir an 25 gösterip bir an 23'e düşebilir ve kuralın hiç tutmayabilir. Sıcaklık değeri sürekli küçük dalgalanır; bu yüzden büyüktür / küçüktür karşılaştırmaları eşitlikten daha güvenlidir.
Kartın kendi ısısını unutmak
micro:bit'in dahili sensörü, kartın kendi işlemcisine yakın olduğu için gerçek oda sıcaklığından biraz farklı ölçebilir. Bu bir hata değil, sensörün nerede olduğuyla ilgili. Hassas ölçüm gerekiyorsa harici bir sensör kullanmak daha doğrudur.
Güvenlik notu
- Sıcak yüzeylere dokunma. Sıcaklık sensörünü sıcak bir cismin yanında denerken, o cisme elini değdirme. Yanık riski gerçektir. Sıcak bir yüzeyi ölçmek istiyorsan temassız (kızılötesi) bir sensör kullan ya da bir yetişkinden yardım iste.
- Yalnızca düşük gerilimli kaynak kullan. Tüm denemeler pil, USB, micro:bit veya Arduino gibi düşük gerilimli kaynaklarla yapılır. Sensörü asla şebeke (priz) elektriğine bağlama; fırın, ısıtıcı veya soba gibi cihazların sıcak/elektrikli kısımlarına yaklaştırma.
- Sensörü zorlama. Her sensörün çalışabileceği bir sıcaklık aralığı vardır. Onu ateşe, kaynayan suya ya da çok sıcak yüzeylere doğrudan sokmak sensöre zarar verir. Sıcaklık deneyleri her zaman bir yetişkinle birlikte yapılmalıdır.
- Sıvılardan uzak tut. Islanan bir elektronik parça bozulabilir; suya batırma.
Ders özeti
- Sıcaklık sensörü, ısıyı okuyabileceğimiz bir sayıya çevirir; birim çoğunlukla santigrat derecedir (°C).
- Çalışma fikri basittir: bazı malzemelerin elektriksel davranışı ısıyla değişir, sensör bu değişimi ölçer.
- Termistör, dijital sensör, kızılötesi sensör ve kart üzerindeki dahili sensör başlıca çeşitlerdir.
- Bir eşik belirleyip "Eğer sıcaklık eşiği geçerse uyar" kuralıyla otomatik karar verebiliriz.
- Sıcak yüzeylere dokunmamak ve yalnızca düşük gerilimli kaynak kullanmak temel güvenlik kurallarıdır.
Kontrol soruları
- Sıcaklık sensörü çevredeki ısıyı neye çevirir?
- Sıcaklık için en sık kullanılan ölçü birimi hangisidir ve simgesi nedir?
- "Eşik" ne demektir ve bir sıcaklık uyarısında ne işe yarar?
- Bir yüzeye dokunmadan sıcaklığını ölçmek istersen hangi tür sensör uygundur?
- Sıcaklık deneyi yaparken en önemli iki güvenlik kuralı nedir?
Cevaplar
- Okuyabileceğimiz, karşılaştırabileceğimiz bir sayıya çevirir.
- Santigrat derece, simgesi °C.
- Eşik, belirlediğimiz bir sınır değerdir. Ölçülen sıcaklık bu sınırı geçince programın bir tepki vermesini (örneğin buzzer'ı çaldırmasını) sağlar.
- Kızılötesi (temassız) sensör.
- Sıcak yüzeylere dokunmamak ve yalnızca düşük gerilimli kaynak (pil/USB/micro:bit/Arduino) kullanmak; denemeleri bir yetişkinle birlikte yapmak.
Kaynak ve doğrulama notu
“Sıcaklık Sensörü” dersi için doğrulama odağı Sıcaklık sensörü ne yapar ve nasıl çalışır? ile Nasıl çalışır (basit fikir)? arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Sensör değerleri modele, besleme gerilimine ve ortama göre değişebilir. Bu nedenle derslerdeki eşikler örnek kabul edilmeli; gerçek projede ölçüm tablosu oluşturularak kalibrasyon yapılmalıdır.
Sonraki ders
Mesafe Sensörü: Bir cismin ne kadar uzakta olduğunu ses dalgalarıyla ölçmeyi ve robotun engele çarpmadan durmasını öğreneceğiz.