AMG8833, Panasonic Grid-EYE ailesinden 8x8 = 64 pikselli bir termopil kızılötesi dizi sensörüdür. 0-80 °C aralığındaki yüzeylerin sıcaklığını tipik ±2,5 °C doğrulukla, saniyede 10 kareye kadar ölçer ve I2C ile 0x68 ya da 0x69 adresinden okunur. Fotoğraf vermez, kaba bir ısı haritası verir; insanı 7 metreye kadar algılayabilir.
AMG8833 termal kamera sensörü, ortamdaki ısı kaynaklarını 8x8'lik bir ısı haritası olarak veren ve Arduino ya da ESP32 ile kolayca okunan bir kızılötesi dizi sensörüdür. Bu yazıda AMG8833'ün ne olduğunu, teknik değerlerini, gerçek bir termal kameradan farkını, Arduino bağlantısını, örnek kodu ve ölçüm hatalarının nedenlerini anlatıyoruz. İnsan algılama, sıcak nokta takibi ya da ısı haritası projesi yapmak isteyen hobiciler, öğrenciler ve teknisyenler için hazırlanmıştır.
AMG8833 nedir?
AMG8833, Panasonic'in Grid-EYE ailesinden, 64 termopil algılayıcıyı 8 satır ve 8 sütun halinde dizen ve her pikselin sıcaklığını I2C üzerinden veren bir kızılötesi dizi sensörüdür. Her piksel, gördüğü alandan gelen kızılötesi ışınımı ölçer; sensör bu ölçümü doğrudan °C cinsinden sıcaklığa çevirir. Sonuç, saniyede 10 kareye kadar yenilenen 64 sayılık bir sıcaklık tablosudur.
AMG8833'ün PIR sensörden en önemli farkı, hareketsiz duran insanı da görmesidir. PIR yalnızca ısı değişimine tepki verir; AMG8833 ise sahnenin sıcaklık dağılımını sürekli ölçer. Ailede besleme gerilimine ve kazanca göre farklı modeller vardır: AMG8833 3,3 V beslemeli, yüksek kazançlı modeldir; düşük kazançlı AMG8834 ise -20 ile 100 °C arasını ölçer. GY-AMG8833 gibi modüller sensörü regülatör ve I2C pull-up dirençleriyle birlikte küçük bir karta taşır.
AMG8833'ün teknik özellikleri nelerdir?
AMG8833, 0-80 °C aralığındaki nesneleri tipik ±2,5 °C doğrulukla ve 0,25 °C çözünürlükle ölçer, 60 derecelik görüş açısına sahiptir ve saniyede 1 ya da 10 kare verir. Aşağıdaki değerler Panasonic veri sayfasından alınmıştır.
| Özellik | AMG8833 değeri |
|---|---|
| Piksel sayısı | 64 (8 × 8) |
| Ölçülen nesne sıcaklığı | 0 ile 80 °C |
| Sıcaklık doğruluğu | Tipik ±2,5 °C |
| Sıcaklık çözünürlüğü | 0,25 °C |
| Gürültü (NETD) | 0,05 K (1 kare/s), 0,16 K (10 kare/s) |
| Görüş açısı | 60° yatay, 60° dikey |
| Kare hızı | 10 ya da 1 kare/s |
| Çip beslemesi | 3,3 V ± 0,3 V (modülde regülatör varsa 3,3-5 V) |
| Akım | Tipik 4,5 mA (normal mod) |
| I2C adresi | 0x68 ya da 0x69 |
| Dahili termistör | -20 ile 80 °C, 0,0625 °C çözünürlük |
| İnsan algılama mesafesi | 7 m'ye kadar (referans değer) |
Sensör açıldıktan yaklaşık 50 ms sonra haberleşmeye hazır olur, ancak çıkışın oturması tipik 15 saniye sürer; ilk okumaları dikkate almayın. Görüş açısı 60° olduğu için her piksel yaklaşık 7,5°'lik bir dilimi görür.
AMG8833 gerçek bir termal kamera mı?
Hayır; AMG8833 fotoğraf kalitesinde termal görüntü vermez, 64 noktalık kaba bir ısı haritası verir. El tipi termal kameralar binlerce piksel kullanırken AMG8833 aynı sahneyi yalnızca 8x8 kareye böler. Bu yüzden yüz tanıma ya da küçük bir parçanın sıcaklığını uzaktan ölçme işine uygun değildir.
Bir pikselin gördüğü alan mesafeyle büyür. 1 m uzaklıkta her piksel yaklaşık 14 × 14 cm'lik, 3 m'de yaklaşık 43 cm'lik, 7 m'de yaklaşık 1 m'lik bir alanı görür. Piksel, gördüğü alanın ortalama sıcaklığını ölçtüğü için uzaktaki küçük bir sıcak nokta soğuk zeminle ortalanır ve olduğundan düşük görünür.
| Sensör | Ölçüm noktası | Ne verir? | Uygun iş |
|---|---|---|---|
| HC-SR501 PIR | Tek bölge | Hareket var / yok | Işık ve alarm tetikleme |
| MLX90614 | 1 nokta | Tek yüzeyin sıcaklığı | Temassız tek nokta ölçümü |
| AMG8833 | 64 (8 × 8) | Kaba ısı haritası | İnsan varlığı, sıcak nokta takibi |
| MLX90640 | 768 (32 × 24) | Daha ayrıntılı ısı görüntüsü | Basit termal kamera projeleri |
Tek bir noktanın sıcaklığı yeterliyse MLX90614 kızılötesi sıcaklık sensörü daha basit bir çözümdür. Yalnızca hareketi algılamak için HC-SR501 PIR sensör yeterlidir; PIR'ın çalışma mantığını PIR hareket sensörü yazımızda anlattık.
AMG8833 Arduino'ya nasıl bağlanır?
AMG8833 modülü Arduino Uno'ya dört kabloyla bağlanır: VIN → 5V, GND → GND, SDA → A4 ve SCL → A5. INT ucu basit okumalarda boş kalabilir; AD0 (bazı kartlarda ADR) ucu ise I2C adresini belirler.
| AD_SELECT (AD0) bağlantısı | I2C adresi | Not |
|---|---|---|
| GND | 0x68 | Bazı modüllerde varsayılan |
| VDD (3,3 V) | 0x69 | Adafruit kütüphanesinin varsayılanı |
Modülünüzün hangi adresle geldiğini bilmiyorsanız önce I2C tarayıcı kodu çalıştırın; adres 0x68 çıkarsa kodda amg.begin(0x68) yazın. DS3231 saat modülü ve MPU6050 de 0x68 adresini kullanır; aynı hatta iseler AMG8833'ü 0x69'da tutun. Sensör çipi 3,3 V ile çalışır; kartta regülatör yoksa (yalnızca 3V3 girişi varsa) 5 V vermeyin. I2C hattının temelleri için I2C nedir yazımıza bakabilirsiniz.
ESP32 kullanıyorsanız ESP32-WROOM-32D geliştirme kartında modülü 3V3'ten besleyin, SDA'yı GPIO21'e, SCL'yi GPIO22'ye bağlayın. ESP32'nin hızı ve belleği, 8x8 veriyi büyütüp renkli göstermek için Uno'dan daha rahattır.
AMG8833 Arduino ile nasıl okunur?
AMG8833 en kolay Adafruit_AMG88xx kütüphanesiyle okunur: begin() ile sensörü başlatır, readPixels() ile 64 sıcaklığı bir diziye alırsınız. Adımlar şöyledir:
- Arduino IDE'de Kütüphane Yöneticisi'ni açın, "Adafruit AMG88xx" kütüphanesini kurun ve bağımlı kütüphaneleri de kabul edin.
- Modülü yukarıdaki gibi bağlayın; Arduino Uno R3 ya da ESP32 kullanabilirsiniz.
- Aşağıdaki kodu yükleyin ve seri monitörü 115200 baud'da açın.
- İlk 15 saniyeyi bekleyin, sonra elinizi sensörün önünde gezdirin. Elinizin olduğu hücrelerde değerler belirgin biçimde yükselmelidir.
#include <Wire.h>
#include <Adafruit_AMG88xx.h>
Adafruit_AMG88xx amg;
float piksel[AMG88xx_PIXEL_ARRAY_SIZE]; // 64 deger
void setup() {
Serial.begin(115200);
if (!amg.begin()) { // varsayilan adres 0x69; gerekirse amg.begin(0x68)
Serial.println("AMG8833 bulunamadi");
while (1);
}
delay(100);
}
void loop() {
amg.readPixels(piksel);
for (int i = 0; i < 64; i++) {
Serial.print(piksel[i], 1);
Serial.print(i % 8 == 7 ? "\n" : "\t");
}
Serial.print("Sensor sicakligi: ");
Serial.println(amg.readThermistor(), 1);
Serial.println();
delay(500);
}
Çıktı 8 satır ve 8 sütundan oluşan bir tablodur. readThermistor() sensör kartının kendi sıcaklığını verir ve ortam için kaba bir referanstır. Isı haritasını renkli görmek için değerleri örneğin 20-35 °C arasında maviden kırmızıya renklendirip 1,3 inç ST7789 TFT ekrana çizebilirsiniz; 8x8 görüntüyü ara değerlerle (enterpolasyon) büyütmek daha yumuşak bir görüntü verir.
AMG8833 ile hangi projeler yapılır?
AMG8833, kameranın mahremiyet sorunu yarattığı yerlerde insan varlığını algılamak ve sıcak noktaları izlemek için uygundur. Görüntü çok kaba olduğu için kişi tanınmaz; bu, odada insan sayan ya da hareketsizliği izleyen projelerde bir avantajdır.
- Oda doluluk algılama: Arka plandan birkaç derece sıcak bir hücre grubu varsa odada biri vardır; hareketsiz oturan kişi de algılanır.
- Ocak ve ısıtıcı unutma alarmı: 60 °C üzerindeki bir bölge uzun süre kalırsa uyarı verilir.
- Pano ve klemens ısınma takibi: Bir bağlantı noktasının çevresinden belirgin sıcak olması gevşek bağlantıya işaret edebilir.
- Isı izleyen pan-tilt düzeneği: En sıcak hücrenin konumuna göre iki servo çevrilir.
INT çıkışı, herhangi bir piksel belirlediğiniz üst ya da alt eşiği geçtiğinde sinyal verir; Adafruit kütüphanesinde setInterruptLevels() ile ayarlanır. AMG8833 tipik ±2,5 °C doğrulukla ölçtüğü için ateş ölçer gibi tıbbi amaçlarla kullanılmamalıdır. Temassız ve temaslı sıcaklık ölçümünün farkını sıcaklık sensörü nasıl çalışır yazımızda bulabilirsiniz.
AMG8833 ölçümleri neden yanlış çıkar?
Yanlış ölçümlerin en yaygın nedenleri cam arkasından ölçmek, parlak yüzeyler, uzak ve küçük hedefler ve sensörün henüz oturmamış olmasıdır. Aşağıdaki noktaları kontrol edin:
- Cam ve şeffaf plastik: Isıl kızılötesini büyük ölçüde geçirmez; sensör camın arkasını değil camın kendisini ölçer.
- Parlak metal yüzeyler: Salım katsayısı (emisivite) düşük olduğundan olduğundan soğuk görünür ve çevredeki ısıyı yansıtır. Yüzeye mat siyah bant yapıştırmak sonucu iyileştirir.
- Mesafe: Hedef bir pikselin alanından küçükse ortalamaya karışır; sensörü hedefe yaklaştırın.
- Oturma süresi: Açılıştan sonraki ilk 15 saniyenin verisini kullanmayın.
- Isınan komşu parçalar: Sensörü regülatör, güç direnci ya da işlemci gibi ısınan parçalardan uzak tutun.
- Gürültü: 10 kare/s'de gürültü daha yüksektir; yavaş değişen ölçümlerde birkaç karenin ortalamasını alın.
Sık sorulan sorular
AMG8833 kaç derece ölçer?
AMG8833, 0 ile 80 °C arasındaki yüzeylerin sıcaklığını tipik ±2,5 °C doğrulukla ölçer ve 0,25 °C adımlarla raporlar. Bu aralık insan, ısıtıcı, ocak çevresi ve elektronik kart sıcaklıkları için yeterlidir. Daha soğuk ya da 100 °C'ye yakın yüzeyler için düşük kazançlı AMG8834 ya da daha geniş aralıklı MLX90640 gibi sensörler tercih edilir.
AMG8833 insanı kaç metreden algılar?
Panasonic ve modül üreticileri insan algılama mesafesini 7 m'ye kadar verir. Bu mesafede bir piksel yaklaşık 1 m genişliğinde bir alanı gördüğü için insan tek bir hafif ısınmış hücre olarak görünür. Kişiyi birkaç hücre kaplayacak kadar yakında, yani birkaç metre içinde algılamak çok daha güvenilir sonuç verir.
AMG8833 ateş ölçmek için kullanılabilir mi?
Hayır, AMG8833 ateş ölçümü için uygun değildir. Tipik ±2,5 °C doğruluk, 37 °C ile 39 °C arasındaki farkı güvenilir biçimde ayırt etmeye yetmez; üstelik ölçüm mesafeye ve ortama göre değişir. Sensör "orada sıcak bir şey var" bilgisini verir, kesin vücut sıcaklığını vermez. Sağlıkla ilgili ölçümler için onaylı tıbbi cihaz kullanın.
AMG8833 ESP32 ile çalışır mı?
Evet, AMG8833 ESP32 ile sorunsuz çalışır ve Adafruit_AMG88xx kütüphanesi ESP32'yi destekler. Modülü 3V3'ten besleyin, SDA'yı GPIO21'e, SCL'yi GPIO22'ye bağlayın. ESP32 ile ısı haritasını Wi-Fi üzerinden bir web sayfasına gönderebilir ya da TFT ekranda büyütülmüş renkli görüntü olarak gösterebilirsiniz.
AMG8833 ile MLX90640 arasındaki fark nedir?
AMG8833 64 pikselle 8x8, MLX90640 768 pikselle 32x24 ısı haritası verir. MLX90640 ayrıca -40 ile 300 °C gibi daha geniş bir aralığı ölçer ve daha ayrıntılı görüntü üretir, ancak işlemesi daha fazla bellek ister ve pahalıdır. İnsan var mı yok mu sorusuna AMG8833 yeterlidir; görüntüye benzeyen termal kamera isteniyorsa MLX90640 seçilir.
Özet
- AMG8833, I2C ile okunan 8x8 = 64 pikselli bir termopil kızılötesi dizi sensörüdür; fotoğraf değil, kaba bir ısı haritası verir.
- 0-80 °C aralığını tipik ±2,5 °C doğrulukla, 0,25 °C çözünürlükle ve saniyede 10 kareye kadar ölçer; görüş açısı 60°'dir.
- I2C adresi AD0 ucuna göre 0x68 ya da 0x69'dur; Adafruit kütüphanesi varsayılan olarak 0x69'u kullanır.
- Bir pikselin gördüğü alan 1 m'de yaklaşık 14 cm, 7 m'de yaklaşık 1 m'dir; küçük ve uzak hedefler ortalamaya karışır.
- Hareketsiz insanı da algıladığı için doluluk ve sıcak nokta takibine uygundur; ateş ölçümüne uygun değildir.
