Sensor Line Tracking TCRT5000 adalah sensor inframerah yang digunakan untuk mendeteksi warna permukaan (biasanya hitam atau putih) — dan paling sering digunakan pada robot pengikut garis (line follower).
Berikut ini adalah cara memprogram Sensor Linetracking TCRT5000 pada ESP32 :
#include <Arduino.h>
int port_sensor_garis = A0;
bool baca_sensor_garis() {
int sensorValue = analogRead(port_sensor_garis);
return sensorValue < 500;
}
void setup()
{
Serial.begin(9600);
pinMode(port_sensor_garis, INPUT);
}
void loop(){
bool sensor_garis = baca_sensor_garis();
Serial.println("Garis : " + (String)sensor_garis);
}Berikut ini adalah penjelasan dari kode di atas :
Fungsi Utama Kode
Membaca nilai pantulan cahaya dari sensor garis (misalnya TCRT5000) menggunakan pin analog A0, lalu menampilkan ke Serial Monitor apakah ada garis (hitam/putih) yang terdeteksi.
Penjelasan Baris demi Baris
1. Import Library Dasar
#include <Arduino.h>
- Digunakan agar sketch dapat berjalan di berbagai board dengan kompatibilitas penuh.
- Ini opsional di Arduino IDE, tapi dibutuhkan di platform seperti PlatformIO.
2. Deklarasi Pin Sensor
int port_sensor_garis = A0;
- Mendefinisikan bahwa sensor garis terhubung ke pin analog A0.
3. Fungsi untuk Membaca Sensor
bool baca_sensor_garis() {
int sensorValue = analogRead(port_sensor_garis);
return sensorValue < 500;
}
Penjelasan:
analogRead()membaca nilai analog dari 0–1023 (karena ADC 10-bit).- Nilai kecil berarti permukaan hitam (sedikit pantulan IR).
- Nilai besar berarti permukaan putih (banyak pantulan IR).
- Jika nilai < 500 → dianggap garis terdeteksi (true).
- Threshold 500 ini bisa disesuaikan tergantung sensor dan kondisi pencahayaan.
4. Fungsi Setup
void setup() {
Serial.begin(9600);
pinMode(port_sensor_garis, INPUT);
}
Serial.begin(9600)→ Memulai komunikasi serial.pinMode(..., INPUT)→ Mengeset pin A0 sebagai input (sebenarnyaanalogRead()tidak butuhpinMode, tapi tetap aman).
5. Fungsi Loop
void loop() {
bool sensor_garis = baca_sensor_garis();
Serial.println("Garis : " + (String)sensor_garis);
}
Penjelasan:
- Fungsi
baca_sensor_garis()dijalankan. - Hasil (true atau false) dicetak ke Serial Monitor.
- Output:
Garis : 1 → Jika garis (hitam) terdeteksi Garis : 0 → Jika tidak ada garis (putih)
Contoh Hasil di Serial Monitor
Jika permukaan hitam berada di bawah sensor:
Garis : 1Jika permukaan putih berada di bawah sensor:
Garis : 0Catatan Penting
- Nilai threshold 500 bisa diatur sesuai kondisi pencahayaan dan tipe permukaan.
- Untuk respons lebih halus, kamu bisa tambahkan
delay()diloop()atau gunakan pembacaan analog langsung di Serial Monitor untuk kalibrasi.
Kesimpulan
Program ini:
- Membaca sensor garis TCRT5000 (analog).
- Menentukan apakah garis (hitam) terdeteksi.
- Menampilkan hasil sebagai
true/falsedi Serial Monitor.
untuk diskusi bisa kontak dibawah ini :

Sosial media :




