Sensor Reading & Calibration
Menguasai teknik membaca data Analog (ADC) dan Digital, serta cara melakukan kalibrasi agar sensor memberikan data yang akurat.
Analog vs Digital Reading
Dalam dunia IoT, sensor berkomunikasi dengan mikrokontroler melalui dua cara utama:
Digital (0 atau 1)
Hanya memiliki dua kondisi: Ada tegangan atau tidak ada. Contoh: Sensor gerak (PIR), Sensor sentuh.
Analog (Range)
Memiliki nilai bertahap (0-1023 pada Uno, 0-4095 pada ESP32). Contoh: Potensiometer, LDR (cahaya), Sensor Kelembaban Tanah.
Mengapa Kalibrasi Penting?
Sensor seringkali memiliki "noise" atau rentang nilai yang berbeda-beda tergantung kondisi lingkungan. Kalibrasi adalah proses memetakan nilai mentah (*raw value*) sensor ke unit yang manusia mengerti (seperti persen atau Celcius).
Teknik Kalibrasi Utama: map() function
Fungsi map(value, fromLow, fromHigh, toLow, toHigh) adalah senjata utama kita.
Langkah-langkah Kalibrasi Lapangan:
- 1 Cari nilai Minimum saat sensor dalam kondisi paling ekstrim (misal: sensor tanah di dalam air).
- 2 Cari nilai Maksimum saat sensor dalam kondisi kering total.
-
3
Gunakan nilai tersebut sebagai batasan dalam fungsi
map().
Skrip Kalibrasi Sensor Tanah
language: C++// Materi 4: Membaca Sensor Analog & Kalibrasi const int pinSensor = 34; // GPIO34 pada ESP32 // Nilai kalibrasi hasil percobaan (berbeda tiap sensor) const int NILAI_KERING = 3200; const int NILAI_BASAH = 1200; void setup() { Serial.begin(115200); } void loop() { int rawValue = analogRead(pinSensor); // Mengonversi raw ke persentase (0-100%) int kelembaban = map(rawValue, NILAI_KERING, NILAI_BASAH, 0, 100); // Membatasi nilai agar tidak melampaui 0-100 kelembaban = constrain(kelembaban, 0, 100); Serial.print("Raw: "); Serial.print(rawValue); Serial.print(" | Kelembaban: "); Serial.print(kelembaban); Serial.println("%"); delay(500); }
Praktik Lapangan
Tantangan Kalibrasi #4
Hubungkan sensor cahaya (LDR) ke pin Analog. Buatlah program yang menyalakan LED jika nilai cahaya di bawah 30%. Anda harus mengkalibrasi nilai gelap total dan terang total di ruangan Anda terlebih dahulu!