Cara Menggunakan Sensor Infrared Obstacle dengan Arduino
Dalam tutorial ini, kamu akan mempelajari cara menggunakan Arduino dan sensor infrared obstacle untuk mendeteksi rintangan.
Komponen yang dibutuhkan :
- Arduino Uno
- Kabel USB
- Sensor Infrared Obstacle
- Jumper
- Breadboard
Infrared Barier Obstacle
Sensor infrared barrier obstacle ini digunakan untuk mendeteksi objek atau penghalang apapun yang ada di depan modul sensor dengan menggunakan sinyal infrared. Jangkauan deteksinya adalah dari 2-30cm yang bisa disesuaikan dengan potensiometer yang ada di modulnya.
Susunan Pin
Sensor ini umumnya memiliki tiga pin :
- GND : dihubungkan ke GND
- VCC : dihubungkan ke 3.3 atau 5 volt
Out : adalah pin output : LOW jika ada objek, HIGH jika tidak ada objek. Pin ini perlu dihubungkan ke pin input Arduino.


Cara Kerja
Modul sensor infrared obstacle memiliki IR pemancar dan penerima bawaan. Pemancar IR mencari sinyal IR yang dipantulkan untuk menentukan apakah ada objek yang terdeteksi atau tidak, hasilnya akan diterima oleh pin OUT.
Cara Memprogram Sensor Infrared


Menginisialisasi pin arduini ke mode input digital dengan menggunakan fungsi pinMode(), misalnya di pin 18.
Arduino Mega 2560 R3 ATmega 16U2 Comatible Board + Kabel USB
pinMode (18, INPUT_PULLUP );Membaca status pin Arduino dengan menggunakan fungsi digitalRead()
int state = digitalRead (18);Kode Arduino
Ada dua cara untuk memprogramnya :
- Melakukan atau tidak melakukan aksi saat terdeteksi atau tidak terdeteksi rintangan
- Melakukan atau tidak melakukan aksi saat rintangan terdeteksi atau telah terlewati
Kode Arduino Untuk Memeriksa Ada atau Tidaknya Rintangan
Langkah-langkah :
- Buka Arduino IDE
- copy codingan di bawah ini
- Klik tanda panah yang ada di Arduino IDE untuk upload kode ke Arduino
- Cobalah untuk meletakan objek di depan sensor
- Lihat hasilnya di serial monitor
const int SENSOR_PIN = 8;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// initialize the Arduino's pin as aninput
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// read the state of the the input pin:
int state = digitalRead(SENSOR_PIN);
if (state == LOW)
Serial.println("The obstacle is present");
else
Serial.println("The obstacle is NOT present");
delay(100);
}Kode Arduino untuk Mendeteksi Rintangan
Ikuti langkah-langkah sebelumnya dan ganti codingannya dengan yang ada di bawah ini :
const int SENSOR_PIN = 8;
int lastState = HIGH; // the previous state from the input pin
int currentState; // the current reading from the input pin
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// initialize the Arduino's pin as aninput
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// read the state of the the input pin:
currentState = digitalRead(SENSOR_PIN);
if (lastState == HIGH && currentState == LOW)
Serial.println("The obstacle is detected");
else if (lastState == LOW && currentState == HIGH)
Serial.println("The obstacle is cleared");
delay(50);
// save the the last state
lastState = currentState;
} 












