📡 Sensor: Jenis, Karakteristik & Kalibrasi

Layer pertama IoT: mengubah besaran fisik menjadi angka yang bisa diproses.

Jenis-jenis sensor IoT
Sensor-sensor yang tersedia di simulator ini

📌 1. Jenis-Jenis Sensor Umum di IoT

SensorMembacaOutputUse Case
DHT22Suhu + kelembabanDigital (I2C-like)Cuaca, HVAC, rumah pintar
BME280Suhu, RTH, tekananI2C/SPIStasiun cuaca, drone (altitude)
LM35SuhuAnalog (10 mV/°C)Monitoring sederhana
LDRCahayaAnalog (resistif)Lampu otomatis, panel surya
MQ-2 / MQ-135Gas (asap, CO2)Analog (konduktif)Alarm kebakaran, kualitas udara
PIRGerak (panas tubuh)DigitalKeamanan, lampu sensor
HC-SR04Jarak (ultrasonik)Pulse digitalParkir, robot, level cairan
Kapasitif hujanHujanAnalogSmart farming, kanopi otomatis
Capacitive soilKelembaban tanahAnalogIrigasi otomatis
CT clampArus/daya listrikAnalogMonitoring energi

Di simulator, semua sensor di atas tersedia lewat read_sensor(nama). Coba lihat semuanya:

Output:

📌 2. Karakteristik Sensor (Wajib Tahu Sebelum Membeli)

KarakteristikArtiContoh
RangeRentang nilai yang bisa diukurDHT22: suhu −40…80 °C
ResolutionLangkah terkecil perubahan yang terdeteksiADC 10-bit: 5V/1024 ≈ 4,9 mV
AccuracySeberapa dekat dengan nilai SEBENARNYA±0,5 °C
PrecisionSeberapa KONSISTEN antar pembacaan (bisa konsisten tapi meleset)selalu 26,3 °C padahal aslinya 27 °C
SensitivityPerubahan output per perubahan inputLM35: 10 mV/°C
Response timeWaktu sampai output stabil setelah input berubahMQ-2 butuh menit untuk stabil
💡 Accuracy vs Precision: tembakkan panah 10 kali. Precision = kelompokan rapat. Accuracy = kena bulls-eye. Sensor yang presisi tapi tidak akurat → perlu kalibrasi (bagian 4).

📌 3. ADC: Dari Volt Menjadi Angka

Sensor analog menghasilkan voltase, tapi MCU hanya paham angka. ADC (Analog-to-Digital Converter) melakukan konversinya.

ADC 10-bit, referensi 5 V: nilai = V × (1024 / 5) V = 0,00 V → 0 V = 1,25 V → 256 V = 2,50 V → 512 V = 3,75 V → 768 V = 5,00 V → 1023 Resolusi: 5 V / 1024 ≈ 4,88 mV per langkah

Jadi sensor LM35 yang output-nya 10 mV/°C, pada suhu 25 °C menghasilkan 250 mV → dibaca ADC sekitar 250/5 × 1024 ≈ 51. Konversi balik: suhu = (raw × 5/1023) / 0,010.

Konversi ADC dan kalibrasi
ADC mentah → voltase → satuan fisik → (opsional) koreksi kalibrasi

📌 4. Kalibrasi: Offset & Scale

Sensor nyata selalu meleset sedikit. Kalibrasi dua titik memberi koreksi linear:

nilai_kalibrasi = nilai_mentah × scale + offset Contoh hasil kalibrasi termokopel: scale = 1,02 (sensor "lambat" 2%) offset = −0,5 (selalu menunjukkan 0,5° lebih tinggi)

Coba konversi ADC + kalibrasi LM35:

Output:

📌 5. Noise & Filter Dasar

Pembacaan sensor nyata bergetar karena noise (listrik, interferensi, termal). Teknik paling sederhana: rata-rata beberapa sampel (moving average — dibahas tuntas di Data Analytics).

# 10 sampel berturut-turut dari sensor suhu (simulasi): 26.4 26.1 26.8 26.2 26.5 26.3 26.7 26.1 26.4 26.6 ↓ rata-rata 5 terakhir smooth: 26.4 26.1 26.8 26.2 26.4 26.4 26.4 26.4 26.4 26.4
⚠️ Filter membuat respons lebih lambat (lag). Untuk alarm kebakaran: jangan over-smooth — lebih baik respons cepat.

🧠 Latihan

  1. Ubah editor 1: tampilkan hanya sensor yang nilainya di atas nilai tengahnya (hitung dulu rata-rata semua nilai).
  2. Di editor 2, coba scale = 0.98 dan offset = +1.0. Apa efeknya?
  3. Sebuah sensor jarak output 0–3,3 V untuk jarak 2–400 cm. Berapa resolusi jaraknya jika dibaca ADC 10-bit 3,3 V? (Petunjuk: 398 cm / 1024 langkah.)
  4. Jelaskan dengan kalimatmu sendiri: apa bedanya accuracy dan precision? Berikan contoh sensor yang presisi tapi tidak akurat.