Dalam tutorial ini, kita akan mempelajari cara menggunakan sensor penghindar rintangan inframerah dengan modul ESP32 untuk mendeteksi rintangan. Proyek ini akan menunjukkan bagaimana sensor dapat memicu buzzer ketika rintangan terdeteksi. Pengaturan ini juga akan menampilkan status deteksi pada monitor serial, memberikan cara yang jelas dan interaktif untuk mengamati fungsionalitas sensor.
Kita akan bekerja dengan SunFounder ESP32 IoT Learning Kit, yang mencakup mikrokontroler ESP32 yang dilengkapi dengan kemampuan Wi-Fi dan Bluetooth. Sensor inframerah bekerja dengan memancarkan cahaya inframerah, yang akan memantul dari rintangan di dekatnya. Ketika cahaya dipantulkan kembali, sensor akan memicu sinyal keluaran yang akan kita baca dalam kode kita. Kita juga akan menyertakan buzzer yang aktif ketika rintangan terdeteksi, memberikan peringatan yang dapat didengar.
Penjelasan Perangkat Keras
Komponen utama dari proyek ini termasuk modul ESP32, sensor penghindar rintangan inframerah, dan buzzer. Modul ESP32 berfungsi sebagai unit pemrosesan pusat, menangani input sensor dan mengendalikan output. Modul ini dapat diberi daya menggunakan baterai lithium, membuatnya portabel dan fleksibel untuk berbagai aplikasi.
Sensor penghindar rintangan inframerah terdiri dari pemancar dan penerima. Pemancar memancarkan cahaya inframerah, sementara penerima mendeteksi cahaya yang dipantulkan dari objek di dekatnya. Ketika ada rintangan, pin keluaran sensor menjadi rendah, memberi sinyal kepada ESP32 untuk mengambil tindakan, seperti menyalakan buzzer.
Detail Datasheet
Produsen
SunFounder
Nomor bagian
Sensor Penghindar Rintangan Inframerah
Tegangan Operasi
3,3 V - 5 V
Tipe Keluaran
Digital (Rendah ketika rintangan terdeteksi)
Jarak Deteksi
Hingga 20 cm
Waktu Respons
Kurang dari 10 ms
Kemasan
Modul
Catu daya: 3,3 V hingga 5 V untuk operasi.
Sinyal keluaran menjadi rendah ketika rintangan terdeteksi.
Sensitivitas dapat disesuaikan melalui potensiometer.
Jarak deteksi tipikal hingga 20 cm.
Waktu respons cepat di bawah 10 ms.
Instruksi Pengkabelan
ESP32-19-obstacle_voide-wiring
Untuk menghubungkan sensor penghindar rintangan inframerah ke ESP32, mulailah dengan menghubungkan pin VCC sensor ke pin 5V pada ESP32. Selanjutnya, hubungkan pin GND sensor ke salah satu pin GND pada ESP32. Terakhir, hubungkan pin OUT sensor ke pin GPIO 14 pada ESP32.
Untuk buzzer, hubungkan terminal negatif ke GND dan terminal positif ke pin GPIO 27. Pastikan semua koneksi aman dan sensor diberi daya dengan benar. Pengkabelan harus sederhana, karena sensor dan buzzer hanya memerlukan koneksi daya dan sinyal yang sederhana.
Contoh Kode & Penjelasan
Dalam kode, pertama-tama kita mendefinisikan pin yang terhubung ke sensor penghindar rintangan. Ini dilakukan menggunakan pengenal avoidPin yang diatur ke 14. Kita juga mendeklarasikan variabel avoidState untuk menyimpan status keluaran sensor.
const int avoidPin = 14; // nomor pin modul penghindar
int avoidState = 0;
Dalam fungsi setup, kita menginisialisasi komunikasi serial dan mengatur avoidPin sebagai input. Ini memungkinkan ESP32 untuk membaca status keluaran sensor.
Dalam fungsi loop, kita terus membaca keluaran sensor menggunakan digitalRead(avoidPin) dan menyimpan hasilnya di avoidState. Nilai ini kemudian dicetak ke monitor serial, memungkinkan kita melihat ketika rintangan terdeteksi (keluaran akan 0) atau tidak (keluaran akan 1).
Untuk kode lengkap, silakan merujuk ke bagian pemuatan di bawah artikel.
Demonstrasi / Apa yang Diharapkan
Ketika pengaturan selesai dan kode diunggah, Anda akan melihat monitor serial menampilkan 0 atau 1 tergantung pada apakah rintangan terdeteksi. Ketika rintangan berada dalam jangkauan deteksi, keluaran akan membaca 0, dan buzzer akan berbunyi. Jika rintangan dihilangkan, keluaran akan membaca 1, dan buzzer akan berhenti. Fungsionalitas ini didemonstrasikan dalam video (di video pada 12:30).
Masalah umum mungkin termasuk pengkabelan yang salah, yang dapat menyebabkan sensor tidak berfungsi dengan benar, atau kecepatan baud yang tidak cocok di monitor serial, mencegah data ditampilkan secara akurat. Pastikan untuk memeriksa aspek-aspek ini jika Anda mengalami masalah.
Stempel Waktu Video
00:00 Mulai
1:57 Pengenalan proyek
4:33 Pengkabelan Penghindar Rintangan
5:55 Kode Arduino untuk Penghindar Rintangan
7:36 Memilih Papan ESP32 dan port COM di Arduino IDE
9:18 Demonstrasi proyek
10:42 Menyesuaikan sensitivitas meningkatkan jangkauan
12:39 Mengambil tindakan ketika rintangan terdeteksi
14:24 Menggunakan buzzer ketika rintangan terdeteksi
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Bahasa: C++
// set pin
const int avoidPin = 14; // the number of the avoid avoid module pin
// variable for storing the avoid status
int avoidState = 0;
void setup() {
Serial.begin(115200);
// initialize the avoid pin as an input
pinMode(avoidPin, INPUT);
}
void loop() {
// read the state of the avoid value
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}