SHTC3 - Nasıl kullanılır?
SHTC3 Sıcaklık ve Nem Sensörü Kullanımı
Merhabalar maker dostlar! Bu kapsamlı rehberde SHTC3 sıcaklık ve nem sensörünü Arduino ile nasıl kullanacağınızı adım adım öğreneceksiniz. I2C protokolü, kablo bağlantıları, kod örnekleri ve yaygın sorunların çözümlerine burda ulaşabileceksiniz.
SHTC3 Sensörü Nedir?
SHTC3, Sensirion firması tarafından üretilen yüksek hassasiyetli dijital sıcaklık ve nem sensörüdür. Kompakt boyutu (2x2mm) ve düşük güç tüketimiyle IoT projeleri, akıllı ev sistemleri ve taşınabilir cihazlar için ideal bir seçimdir.
Hangi Projelerde SHTC3 Kullanılır?
- Hava istasyonu projeleri
- Akıllı sera ve bitki takip sistemleri
- Oda iklim kontrol sistemleri
- Taşınabilir meteoroloji cihazları
- IoT tabanlı ortam izleme sistemleri
- Arduino hava kalitesi ölçüm projeleri
SHTC3 Teknik Özellikleri ve Avantajları
Teknik Spesifikasyonlar
| Özellik | Değer |
|---|---|
| Nem Hassasiyeti | ±2% RH |
| Sıcaklık Hassasiyeti | ±0.2°C |
| Çalışma Voltajı | 1.62V - 3.6V |
| İletişim Protokolü | I2C (I²C) |
| Boyut | 2x2x0.75mm |
| Güç Tüketimi | Ultra düşük (uyku modunda 0.3µA) |
| Ölçüm Süresi | ~12.1ms (normal mod) |
SHTC3 vs DHT22 Karşılaştırması
SHTC3 sensörü, popüler DHT22 sensörüne göre şu avantajları sunar:
- ✅ Daha hızlı ölçüm (12ms vs 2 saniye)
- ✅ Çok daha düşük güç tüketimi (pil projelerine ideal)
- ✅ Kompakt boyut (PCB tasarımlarına uygun)
- ✅ I2C protokolü (tek hattan çoklu sensör bağlama imkanı)
- ✅ Daha yüksek hassasiyet
Arduino SHTC3 Projesi İçin Gerekli Malzemeler
Donanım Listesi
- ✔️ Arduino Uno, Nano, Mega veya ESP8266/ESP32
- ✔️ HYCoreX™ SHTC3 Sensör Modülü
- ✔️ Jumper kablolar (erkek-erkek veya erkek-dişi)
- ✔️ Breadboard (opsiyonel)
- ✔️ USB kablo (Arduino programlama için)
Yazılım Gereksinimleri
- Arduino IDE (1.8.x veya 2.x)
- Adafruit SHTC3 kütüphanesi
- Adafruit Bus IO kütüphanesi
💡 İpucu: ESP8266 ve ESP32 kartları ile de tam uyumludur!
Arduino ile SHTC3 Bağlantı Şeması
Arduino Uno/Nano Bağlantısı
SHTC3, I2C haberleşme protokolü kullanır. Bağlantı şeması son derece basittir:
| SHTC3 Pin | Arduino Uno Pin | Arduino Nano Pin |
|---|---|---|
| VIN (VCC) | 3.3V | 3.3V |
| GND | GND | GND |
| SDA | A4 | A4 |
| SCL | A5 | A5 |
ESP8266 NodeMCU Bağlantısı
| SHTC3 Pin | ESP8266 Pin |
|---|---|
| VIN | 3.3V |
| GND | GND |
| SDA | D2 (GPIO4) |
| SCL | D1 (GPIO5) |
⚠️ Önemli Not: SHTC3 sensörü tek başına 3.3V ile beslenmemeli! Sensöre zarar verebilir. Fakat HYCoreX sensör modülüyle bunu dert etmenize gerek yok, çünkü modülünüz Sensöre 3.3V gerilim sağlayacak ve 5V ile beslenebilir!!
Arduino IDE SHTC3 Kütüphane Kurulumu
Adım Adım Kütüphane Yükleme
- Arduino IDE'yi açın
- Sketch → Include Library → Manage Libraries menüsüne gidin
- Arama çubuğuna "Adafruit SHTC3" yazın
- "Adafruit SHTC3" kütüphanesini bulun ve Install butonuna tıklayın
- Bağımlılık olarak "Adafruit Bus IO" kütüphanesi de yüklenecektir (Install All deyin)

Manuel Kurulum (Alternatif Yöntem)
GitHub üzerinden manuel olarak da kurulum yapabilirsiniz:
https://github.com/adafruit/Adafruit_SHTC3
ZIP dosyasını indirip Sketch → Include Library → Add .ZIP Library yolunu izleyin.
Arduino SHTC3 Örnek Kod - Sıcaklık ve Nem Okuma
Temel Okuma Kodu
Aşağıdaki Arduino SHTC3 kod örneği, sensörden sıcaklık ve nem verilerini okuyup seri monitöre yazdırır:
#include "Adafruit_SHTC3.h"
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();
void setup() {
Serial.begin(115200);
while (!Serial)
delay(10);
Serial.println("SHTC3 Sıcaklık ve Nem Sensörü Testi");
if (!shtc3.begin()) {
Serial.println("SHTC3 sensörü bulunamadı! Bağlantıları kontrol edin.");
while (1) delay(1);
}
Serial.println("SHTC3 sensörü başarıyla bulundu!");
}
void loop() {
sensors_event_t humidity, temp;
// Sensörden güncel verileri al
shtc3.getEvent(&humidity, &temp);
// Sıcaklık değerini yazdır
Serial.print("Sıcaklık: ");
Serial.print(temp.temperature);
Serial.println(" °C");
// Nem değerini yazdır
Serial.print("Nem: ");
Serial.print(humidity.relative_humidity);
Serial.println(" % RH");
Serial.println("-------------------");
delay(2000); // 2 saniyede bir ölçüm
}
Kod Açıklaması
1. Kütüphane Dahil Etme ve Nesne Oluşturma
#include "Adafruit_SHTC3.h"
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();
SHTC3 kütüphanesini dahil edip sensör nesnesi oluşturuyoruz.
2. Sensör Başlatma (Setup)
if (!shtc3.begin()) {
Serial.println("SHTC3 sensörü bulunamadı!");
while (1) delay(1);
}
I2C üzerinden sensörü başlatıyoruz. Sensör bulunamazsa program duruyor.
3. Veri Okuma (Loop)
sensors_event_t humidity, temp;
shtc3.getEvent(&humidity, &temp);
getEvent() fonksiyonu ile sıcaklık ve nem verilerini aynı anda okuyoruz.
4. Verilere Erişim
temp.temperature→ Santigrat cinsinden sıcaklıkhumidity.relative_humidity→ Yüzde cinsinden bağıl nem
Arduino Seri Monitör Çıktısı
Kodu yükledikten sonra Tools → Serial Monitor menüsünden seri monitörü açın ve baud rate'i 115200 olarak ayarlayın.
Örnek Çıktı:
SHTC3 Sıcaklık ve Nem Sensörü Testi
SHTC3 sensörü başarıyla bulundu!
Sıcaklık: 23.45 °C
Nem: 45.20 % RH
-------------------
Sıcaklık: 23.46 °C
Nem: 45.18 % RH
-------------------
SHTC3 Sorun Giderme ve Hata Çözümleri
"Couldn't find SHTC3" Hatası
Bu hata, sensörün I2C üzerinden algılanamadığı anlamına gelir.
Çözüm Adımları:
-
Kablo bağlantılarını kontrol edin
- SDA ve SCL pinlerinin doğru bağlandığından emin olun
- Gevşek bağlantılar olabilir, kabloları tekrar takın
-
Voltaj kontrolü yapın
- SHTC3, 3.3V ile beslenmelidir
- 5V uygulanmış olabilir, kontrol edin
-
I2C adres taraması yapın
Aşağıdaki I2C tarayıcı kodu ile sensörün adresini kontrol edin:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("I2C Adres Tarayıcı");
for (byte address = 1; address < 127; address++) {
Wire.beginTransmission(address);
byte error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C cihaz bulundu: 0x");
if (address < 16) Serial.print("0");
Serial.println(address, HEX);
}
}
}
void loop() {}
SHTC3'ün varsayılan I2C adresi 0x70'dir.
- Pull-up dirençleri kontrol edin
- Çoğu SHTC3 modülünde pull-up dirençleri vardır
- Uzun kablolar kullanıyorsanız harici pull-up gerekebilir (4.7kΩ)
Sabit Değer Sorunu
Sensör her zaman aynı değeri gösteriyorsa:
- Sensörün hava akışı olan bir yerde olduğundan emin olun
- Sensörü elinizle hafifçe kaplayın, değer değişmeli
- Nefes vererek nem oranının artıp artmadığını test edin
ESP8266/ESP32 ile Uyumluluk Sorunları
ESP8266 için:
Wire.begin(D2, D1); // SDA, SCL
ESP32 için:
Wire.begin(21, 22); // SDA, SCL
Setup fonksiyonunda shtc3.begin() öncesinde Wire.begin() çağrısı yapabilirsiniz.
SHTC3 ile Yapılabilecek Projeler
1. Arduino OLED Ekran ile Sıcaklık Göstergesi
SHTC3 sensörünü 0.96" OLED ekran ile birleştirerek görsel bir sıcaklık/nem göstergesi yapabilirsiniz.
Gerekli Kütüphaneler:
- Adafruit SSD1306
- Adafruit GFX
2. ESP8266 WiFi ile IoT Hava İstasyonu
SHTC3 + ESP8266 kombinasyonu ile verileri Blynk, ThingSpeak veya MQTT üzerinden buluta gönderebilirsiniz.
3. Arduino Veri Loglama (SD Kart)
Sıcaklık ve nem verilerini zaman damgasıyla SD karta kaydederek uzun süreli izleme yapabilirsiniz.
4. Akıllı Sera Otomasyon Sistemi
Belirli nem ve sıcaklık eşiklerine göre röle ile sulama pompası veya fan kontrolü yapabilirsiniz.
SSS - SHTC3 Hakkında Sık Sorulan Sorular
SHTC3 kaç volt ile çalışır?
SHTC3 sensörü 1.62V - 3.6V aralığında çalışır. Arduino projelerinde 3.3V ile beslemelisiniz.
SHTC3 ve DHT22 arasındaki fark nedir?
SHTC3, DHT22'ye göre daha hızlı (12ms vs 2s), daha düşük güç tüketimli ve daha kompakttır. I2C protokolü kullandığı için tek hattan birden fazla sensör bağlanabilir.
SHTC3 I2C adresi nedir?
SHTC3'ün I2C adresi 0x70'dir ve değiştirilemez.
Arduino Uno'da kaç tane SHTC3 bağlanabilir?
I2C protokolü kullandığı için aynı hatta teorik olarak birden fazla SHTC3 bağlayamazsınız (adres sabit). Ancak I2C multiplexer (TCA9548A) kullanarak 8 adede kadar sensör bağlayabilirsiniz.
SHTC3 ne kadar hassastır?
- Sıcaklık: ±0.2°C
- Nem: ±2% RH
Bu değerler ev projelerinden endüstriyel uygulamalara kadar geniş bir yelpazede yeterlidir.
SHTC3 dış mekanda kullanılabilir mi?
Sensör suya dayanıklı değildir. Dış mekan kullanımı için su geçirmez bir kutuda korumalısınız. Ancak sensörün hava ile teması olmalı (havalandırma delikleri gerekli).
SHTC3 ile Arduino Mega uyumlu mu?
Evet, tam uyumludur.
SHTC3 Sensörü Kalibrasyonu Gerekli mi?
SHTC3 sensörleri fabrikada kalibre edilmiş olarak gelir. Çoğu kullanım senaryosunda ek kalibrasyon gerekmez. Ancak çok hassas ölçümler için:
- Bilinen referans koşullarda (örn. 25°C, 50% RH) ölçüm yapın
- Offset değerlerini hesaplayın
- Kodda düzeltme uygulayın:
float correctedTemp = temp.temperature + offsetTemp;
float correctedHumidity = humidity.relative_humidity + offsetHumidity;
SHTC3 ile Projelerinize Başlayın
SHTC3 sıcaklık ve nem sensörü, küçük boyutu, düşük güç tüketimi ve yüksek hassasiyeti ile Arduino projeleriniz için mükemmel bir seçim. Bu rehberi takip ederek:
✅ SHTC3 sensörünü Arduino'ya bağladınız
✅ Gerekli kütüphaneleri yüklediniz
✅ İlk ölçümlerinizi aldınız
✅ Yaygın sorunları çözmeyi öğrendiniz
Artık bu temel bilgi ile IoT projeleri, akıllı ev sistemleri ve daha fazlasını geliştirebilirsiniz!
Tam Kod
/***************************************************
SHTC3 Sıcaklık ve Nem Sensörü - Arduino Örnek Kod
HYCoreX™ SHTC3 sensörü için hazırlanmıştır
I2C protokolü ile haberleşir (SDA ve SCL pinleri gereklidir)
Kütüphane: Adafruit SHTC3
I2C Adresi: 0x70
****************************************************/
#include "Adafruit_SHTC3.h"
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();
void setup() {
Serial.begin(115200);
while (!Serial)
delay(10); // Leonardo, Micro gibi kartlar için seri port hazır olana kadar bekle
Serial.println("SHTC3 Sıcaklık ve Nem Sensörü - Test Başlatılıyor...");
if (!shtc3.begin()) {
Serial.println("❌ SHTC3 sensörü bulunamadı!");
Serial.println("Lütfen kontrol edin:");
Serial.println("- I2C bağlantıları (SDA/SCL)");
Serial.println("- 3.3V güç bağlantısı");
Serial.println("- Sensör I2C adresi (0x70)");
while (1) delay(1);
}
Serial.println("✅ SHTC3 sensörü başarıyla bulundu!");
Serial.println("Ölçümler başlıyor...\n");
}
void loop() {
sensors_event_t humidity, temp;
// Sensörden güncel sıcaklık ve nem verilerini al
shtc3.getEvent(&humidity, &temp);
// Sonuçları seri monitöre yazdır
Serial.print("🌡️ Sıcaklık: ");
Serial.print(temp.temperature);
Serial.println(" °C");
Serial.print("💧 Nem: ");
Serial.print(humidity.relative_humidity);
Serial.println(" % RH");
Serial.println("━━━━━━━━━━━━━━━━━━━━━━━━━");
delay(2000); // 2 saniyede bir ölçüm yap
}
Etiketler: Arduino SHTC3, sıcaklık sensörü, nem sensörü, Arduino I2C, Arduino sensör projesi, SHTC3 kod örneği, Arduino başlangıç, IoT sensör, DHT22 alternatifi