ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: MH-Z19B Sensör Modülü (Breakout) Orta Seviye Üretici: Winsen Electronics

MH-Z19B Altın Kaplama NDIR Kızılötesi Karbondioksit (CO2) Sensörü

Altın kaplama optik haznesi, 5000 ppm ölçüm aralığı ve UART seri arayüzü ile hava kalitesi istasyonlarında en popüler NDIR optik CO2 sensörüdür.

Önemli Güvenlik ve Teknik Sınırlama Bilgisi

Otomatik Sıfır Noktası Kalibrasyonu (ABC - Auto Baseline Calibration) fabrikasyon olarak aktiftir. Sensörün doğru çalışması için her 24 saatte bir en az 20 dakika boyunca 400 ppm temiz dış ortam havası görmesi gerekir; aksi takdirde okumalar kayabilir.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 4.50V - 5.50V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 40 mA (ortalama), 125 mA (pik) Tipik çalışma modu
Haberleşme Arayüzü Seri UART (9600 Baud) ve PWM Çıkışı Protokol türü
Ölçüm Aralığı 400 ppm - 5000 ppm CO2 Etkili çalışma sınırı
Hassasiyet / Doğruluk±(50 ppm + 5% okuma)Ölçüm sapma payı
Tepki Süresi90 saniyeÖrnekleme hızı
Ölçüm TürüÇift Kanallı NDIR Optik CO2Fiziksel büyüklük
Pin Sayısı7 PinModül header pinleri

Pin Bağlantıları ve Görevleri (Pinout)

Pin #Pin AdıSinyal TürüGörev & Açıklama
1 Vin Güç +4.5V - +5.5V DC
2 GND Toprak Toprak 0V
3 TXD Seri Çıkış UART TX çıkışı (3.3V Lojik)
4 RXD Seri Giriş UART RX girişi
5 PWM PWM Çıkışı CO2 seviyesiyle orantılı PWM darbesi

Geliştirme Kartı Uyumluluk Durumu

Arduino Uno / Nano ✓ Uyumlu
5V Lojik

Doğrudan bağlantı ve yerleşik 5V desteği.

ESP32 (NodeMCU) ✓ Uyumlu
3.3V Lojik

Sensör 5V çıkış veriyorsa ESP32 GPIO pini için 1k/2k voltaj bölücü direnç gereklidir.

Raspberry Pi Pico ✓ Uyumlu
3.3V Lojik

MicroPython veya C/C++ SDK ile desteklenir.

BBC Micro:bit ✓ Uyumlu
3.3V Lojik

MakeCode blokları veya MicroPython ile uyumlu.

STM32 (BluePill) ✓ Uyumlu
3.3V (5V Tolerant)

5V tolerant GPIO pinleri doğrudan bağlanabilir.

Örnek Kaynak Kod Kütüphanesi

Arduino Uno Arduino C++ ✓ Test Edildi

MH-Z19B ile UART Seri Port Üzerinden CO2 Okuma

Gerekli Kütüphaneler: MH-Z19 by Jonathan Dempsey veya SoftwareSerial
#include <SoftwareSerial.h>
#include <MHZ19.h>

SoftwareSerial mySerial(10, 11); // RX, TX
MHZ19 myMHZ19;

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  myMHZ19.begin(mySerial);
  myMHZ19.autoCalibration(false); // Otomatik kalibrasyonu kapat (kapalı ortamlar için)
}

void loop() {
  int CO2 = myMHZ19.getCO2();
  int8_t Temp = myMHZ19.getTemperature();

  Serial.print("CO2 Seviyesi: ");
  Serial.print(CO2);
  Serial.print(" ppm | İç Sıcaklık: ");
  Serial.print(Temp);
  Serial.println(" °C");

  delay(2000);
}
Seri Monitör Çıktısı (Simülasyon):
Karbondioksit: 645 ppm | İç Sıcaklık: 24 °C

Çalışma Mantığı ve Fiziksel İlkeler

MH-Z19B NDIR Sensörünün Üstünlükleri

Winsen MH-Z19B, altın kaplamalı optik odası sayesinde korozyona uğramaz ve kızılötesi yansıtıcılığını yıllarca korur.

İçerisinde bulunan mikroişlemci sıcaklık kompanzasyonunu donanımsal olarak yapar. Arduino'ya UART seri port üzerinden 9 baytlık paketlerle kesin CO2 ppm değerini iletir. Ayrıca ek bir analog pini olmayan mikrodenetleyiciler için PWM darbe genişliği çıkışı da sunar.

Artıları ve Sınırlamaları

Güçlü Yönleri (Avantajlar)
  • Gerçek optik NDIR algılama teknolojisi
  • Altın kaplama optik oda (yüksek korozyon direnci)
  • Hem UART seri port hem PWM çıkış desteği
  • Yüksek fiyat/performans oranı
  • Sınırlamaları (Dezavantajlar)
  • 5V güç gereksinimi ve 125 mA pik akım çekişi
  • 90 saniyelik nispeten yavaş tepki süresi
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • ABC (Auto Baseline) modu kapalı ortamlarda (24 saat sürekli insan olan odalar) kapatılmalı ve gerekirse manuel sıfırlama yapılmalıdır.