Search Code

Kode Arduino dan Video: Modul Penghindar Halangan Inframerah

Kode Arduino dan Video: Modul Penghindar Halangan Inframerah

Proyek ini menunjukkan cara membangun sistem penghindaran rintangan sederhana menggunakan modul sensor inframerah dan mikrokontroler Arduino. Ini adalah proyek yang bagus untuk pemula yang belajar tentang antarmuka sensor dan pemrograman dasar. Aplikasi teknologi ini sangat banyak dan dapat disesuaikan dengan berbagai proyek.

IR osbstacle avoidance module

Misalnya:

  • Navigasi robot: Program robot untuk menghindari rintangan secara otonom.
  • Otomatisasi rumah pintar: Buat sistem untuk mendeteksi objek di area tertentu dan memicu tindakan yang sesuai.
  • Sistem keamanan: Rancang sistem deteksi intrusi dasar yang memberi peringatan ketika sesuatu memasuki area yang dipantau.

Perangkat Keras/Komponen

Proyek ini menggunakan modul penghindaran rintangan inframerah yang mudah didapat, mikrokontroler Arduino, dan beberapa kabel penghubung. Modul inframerah itu sendiri berisi pemancar inframerah, penerima, dan penguat operasional (op-amp) untuk memproses sinyal (dalam video pada 00:22). Modul ini juga memiliki dua LED: satu menunjukkan daya dan satu lagi menunjukkan deteksi rintangan (dalam video pada 00:37).

Modul ini memiliki tiga pin: VCC (daya), GND (ground), dan pin keluaran. Potensiometer memungkinkan Anda menyesuaikan jarak deteksi, mulai dari beberapa sentimeter hingga sekitar 10 sentimeter (dalam video pada 00:51).

Panduan Pengkabelan

Pengkabelannya sederhana. Hubungkan pin VCC modul inframerah ke pin 5V Arduino, pin GND ke pin GND Arduino, dan pin keluaran ke pin input digital pada Arduino (pin 8 digunakan dalam kode contoh).

Arduino wiring for IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module

Penjelasan Kode

Kode Arduino cukup sederhana. Bagian penting adalah mengatur mode pin yang benar dan membaca keluaran sensor. Kode menggunakan pin 8 sebagai input (pinMode(8, INPUT);) (dalam video pada 06:10). Fungsi digitalRead(8) membaca status pin ini, yang bernilai HIGH ketika tidak ada rintangan terdeteksi dan LOW ketika ada rintangan (dalam video pada 06:15). Kode kemudian mencetak "Obstacle on the way" atau "All clear" ke monitor serial sesuai dengan kondisinya (dalam video pada 06:29).


void setup() {
  Serial.begin(9600);
  pinMode(8, INPUT); // Set pin 8 sebagai input
}

void loop() {
  int detect = digitalRead(8); // Baca pin 8
  if (detect == LOW) {
    Serial.println("Obstacle on the way");
  } else {
    Serial.println("All clear");
  }
  delay(300);
}

Proyek Langsung/Demonstrasi

Video ini menunjukkan fungsionalitas sistem penghindaran rintangan. Presenter menunjukkan bagaimana potensiometer menyesuaikan jangkauan deteksi (dalam video pada 00:57). Keluaran monitor serial dengan jelas menunjukkan pesan "Obstacle on the way" dan "All clear", yang sesuai dengan ada atau tidaknya rintangan (dalam video pada 07:07). Jangkauan deteksi maksimum sekitar 10 sentimeter (dalam video pada 03:30).

Bab

  • [00:06] Pengenalan Penghindaran Rintangan Inframerah
  • [00:22] Tinjauan Modul dan Komponen
  • [00:51] Penyesuaian Potensiometer dan Jarak Deteksi
  • [01:19] Cara Kerja Sensor Inframerah
  • [02:29] Demonstrasi Deteksi Rintangan
  • [05:57] Penjelasan Kode: Setup dan Loop
  • [06:55] Unggah Kode dan Demo Monitor Serial
  • [07:35] Aplikasi Lebih Lanjut dan Proyek Masa Depan

Gambar

IR osbstacle avoidance module
IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module
51-This is the Arduino code for an infrared obstacle avoidance module.
Bahasa: C++
/*
 * This is the Arduino code for the Infrared Obstacle Avoidance module.
 * Watch the video for details and demo: https://youtu.be/T3Li128GBlM
 * 
 * Written by Ahmad Nejrabi for the Robojax Video channel, www.Robojax.com
 * Date: December 28, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code, given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * This code has been downloaded from https://robojax.com
 */
void setup() {
 Serial.begin(9600);
 pinMode(8, INPUT);// set pin as input

}

void loop() {
  // Written for Robojax on December 28, 2017
  int detect = digitalRead(8);// read obstacle status and store it into "detect"
  if(detect == LOW){
    
   Serial.println("Obstacle on the way"); 
  }else{
    
   Serial.println("All clear");  
  }
  delay(300);
}

Hal-hal yang mungkin Anda butuhkan

Sumber daya & referensi

Belum ada sumber daya.

Berkas📁

File Fritzing

File lainnya