Cara Memprogram Proximity Sensor IR E18D80 Pada ESP32

Cara Memprogram Proximity Sensor IR E18D80 Pada ESP32

Proximity Sensor IR E18-D80 adalah jenis sensor jarak inframerah (IR) yang digunakan untuk mendeteksi objek dalam jarak tertentu tanpa kontak fisik langsung.Berikut ini adalah cara memprogramnya :

#include <Arduino.h>


int port_proximity_E18D80 = 2;




void setup()
{
Serial.begin(9600);
pinMode(port_proximity_E18D80, INPUT);

}
void loop(){
int proximity_E18D80 = digitalRead(port_proximity_E18D80);
Serial.println("proximity_E18D80 : " + (String)proximity_E18D80);


}

Berikut ini adalah penjelasan dari kode di atas :

1. Library yang Digunakan:

#include <Arduino.h>
  • Arduino.h adalah library dasar yang diperlukan untuk semua program yang berjalan pada papan mikrokontroler Arduino. Ini menyertakan fungsi-fungsi dasar seperti setup(), loop(), pinMode(), dan lain-lain.

2. Deklarasi Pin untuk Sensor Proximity:

int port_proximity_E18D80 = 2;
  • port_proximity_E18D80: Variabel ini mendeklarasikan nomor pin yang digunakan untuk menghubungkan sensor Proximity IR E18-D80 ke board Arduino. Pada kode ini, pin yang digunakan adalah pin digital 2.

3. Fungsi setup():

void setup()
{
  Serial.begin(9600);
  pinMode(port_proximity_E18D80, INPUT);
}
  • Serial.begin(9600);: Fungsi ini memulai komunikasi serial dengan baud rate 9600. Ini memungkinkan Anda untuk mengirim data dari Arduino ke komputer dan menampilkan hasil di Serial Monitor.
  • pinMode(port_proximity_E18D80, INPUT);: Fungsi ini mengonfigurasi pin yang terhubung ke sensor (dalam hal ini pin 2) sebagai input. Hal ini diperlukan karena kita ingin membaca status sensor dari pin tersebut. Pin ini akan menerima sinyal digital (HIGH atau LOW) dari sensor IR.

4. Fungsi loop():

void loop(){
  int proximity_E18D80 = digitalRead(port_proximity_E18D80);
  Serial.println("proximity_E18D80 : " + (String)proximity_E18D80);
}
  • int proximity_E18D80 = digitalRead(port_proximity_E18D80);:
    • Fungsi digitalRead() membaca status pin digital yang telah dikonfigurasi pada port_proximity_E18D80 (pin 2).
    • Hasil pembacaan ini adalah HIGH (1) jika sensor mendeteksi objek dalam jangkauan, atau LOW (0) jika tidak ada objek terdeteksi.
    • Hasil dari pembacaan ini disimpan dalam variabel proximity_E18D80.
  • Serial.println("proximity_E18D80 : " + (String)proximity_E18D80);:
    • Fungsi Serial.println() digunakan untuk menampilkan hasil pembacaan status sensor pada Serial Monitor.
    • (String)proximity_E18D80 mengonversi nilai HIGH atau LOW (0 atau 1) menjadi format String agar bisa digabungkan dengan teks.
    • Output yang ditampilkan adalah string seperti berikut:
      • “proximity_E18D80 : 1” (Jika objek terdeteksi dalam jarak sensor).
      • “proximity_E18D80 : 0” (Jika tidak ada objek terdeteksi).

Alur Program:

  1. Setup:
    • Komunikasi serial dimulai dengan baud rate 9600.
    • Pin 2 dikonfigurasi sebagai input untuk membaca status dari sensor IR.
  2. Loop:
    • Status sensor dibaca setiap siklus dalam loop().
    • Jika objek terdeteksi (sensor dalam jarak deteksi), pin akan berada dalam status HIGH (1), dan jika tidak ada objek yang terdeteksi, pin akan berada dalam status LOW (0).
    • Hasil pembacaan diprint ke Serial Monitor.

Fungsi Sensor Proximity IR E18-D80:

  • Sensor IR ini mengeluarkan sinar inframerah untuk mendeteksi objek yang berada dalam jangkauannya. Jika objek berada dalam jangkauan deteksi (biasanya hingga 80 cm), sensor akan memberikan sinyal HIGH. Jika tidak ada objek yang terdeteksi, sensor akan memberikan sinyal LOW.

Ringkasan:

  • Program ini membaca status dari Proximity Sensor IR E18D80 yang terhubung ke pin 2.
  • Jika objek terdeteksi, output yang ditampilkan pada Serial Monitor adalah “proximity_E18D80 : 1”. Jika tidak ada objek yang terdeteksi, outputnya adalah “proximity_E18D80 : 0”.
  • Pembacaan ini terjadi secara terus menerus dalam loop, dan hasilnya ditampilkan pada Serial Monitor setiap kali loop berulang.

Kemungkinan Perbaikan:

  • Keterlambatan (Delay): Anda bisa menambahkan delay() untuk memperlambat pembacaan sensor agar lebih mudah dibaca di Serial Monitor, misalnya delay(200); setelah Serial.println(). delay(200); // Menunggu 200 ms agar pembacaan lebih stabil

Dengan menambahkan delay(), hasil yang ditampilkan di Serial Monitor akan lebih teratur dan tidak terlalu cepat.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?