Sensor infrared (IR) adalah sensor yang memanfaatkan sinar inframerah untuk mendeteksi objek, gerakan, atau komunikasi data.Berikut adalah cara memprogram sensor infrared pada esp32 :
#include <Arduino.h>
int port_infrared = A0;
void setup()
{
Serial.begin(9600);
pinMode(port_infrared, INPUT);
}
void loop(){
int infrared = analogRead(port_infrared);
Serial.println("Infrared : " + (String)infrared);
}
Berikut ini adalah penjelasan dari kode di atas :
#include <Arduino.h>
- Ini adalah header file utama Arduino, berisi deklarasi fungsi-fungsi seperti
pinMode
,digitalWrite
,analogRead
, danSerial
. - Jika kamu menggunakan Arduino IDE, baris ini sering otomatis ditambahkan di belakang layar.
- Di platform seperti PlatformIO atau ESP32, ini bisa terlihat secara eksplisit.
int port_infrared = A0;
- Mendeklarasikan variabel
port_infrared
untuk menyimpan pin input sensor IR. A0
adalah pin analog, digunakan untuk membaca nilai tegangan dari sensor.- Nilai analog biasanya berkisar 0–4095 pada ESP32 (bukan 0–1023 seperti pada Arduino Uno).
void setup() { ... }
- Fungsi yang dijalankan sekali saat ESP32/Arduino pertama kali dinyalakan atau di-reset.
Serial.begin(9600);
- Memulai komunikasi serial dengan kecepatan 9600 baud.
- Digunakan untuk mengirim data ke komputer agar bisa dilihat lewat Serial Monitor.
pinMode(port_infrared, INPUT);
- Menyatakan bahwa pin
A0
akan digunakan sebagai input analog, meskipun untukanalogRead()
sebenarnya tidak wajib dipanggilpinMode()
—tidak masalah jika ada.
void loop() { ... }
- Fungsi ini akan terus-menerus dijalankan selamanya setelah
setup()
selesai.
int infrared = analogRead(port_infrared);
- Membaca nilai analog dari sensor IR yang terhubung ke pin A0.
- Nilai ini mencerminkan intensitas pantulan cahaya infrared yang diterima sensor.
Serial.println("Infrared : " + (String)infrared);
- Menggabungkan string
"Infrared : "
dengan nilai hasil pembacaan sensor. - Kemudian mencetak hasilnya ke Serial Monitor, misalnya:
Infrared : 3580
Catatan Penting:
- Sensor IR (misalnya TCRT5000) akan menghasilkan nilai rendah jika mendeteksi garis hitam (karena sedikit pantulan) dan nilai tinggi jika mendeteksi putih/terang (banyak pantulan).
- Kamu bisa membuat kondisi if nanti, seperti:
if (infrared > 2000) { Serial.println("Putih"); } else { Serial.println("Hitam"); }
Kesimpulan:
Kode ini membaca data dari sensor infrared yang mengeluarkan sinyal analog, lalu menampilkannya lewat Serial Monitor agar kamu bisa mengamati nilai-nilainya secara real-time.
untuk diskusi bisa kontak dibawah ini :

Sosial media :