Cari Kode

Kode Arduino dan Video untuk Modul Jarak IR Sharp dengan Layar LCD1602

Kode Arduino dan Video untuk Modul Jarak IR Sharp dengan Layar LCD1602

Dalam tutorial ini, kita akan mempelajari cara menggunakan modul jarak inframerah Sharp bersama dengan layar LCD1602 untuk mengukur jarak secara akurat. Sensor IR Sharp akan mengeluarkan jarak yang diukur, yang kemudian akan ditampilkan pada LCD, memungkinkan umpan balik secara real-time. Di akhir proyek ini, Anda akan memiliki pengaturan yang berfungsi untuk mengukur jarak dari 4 hingga 30 sentimeter (dalam video pada 00:30).

Modul output analog Sharp: 
2 hingga 15 cm GP2Y0A51SK0F 
4 hingga 30 cm GP2Y0A41SK0F / seri GP2Y0AF30 
10 hingga 80 cm GP2Y0A21YK0F 
10 hingga 150 cm GP2Y0A60SZLF 
20 hingga 150 cm GP2Y0A02YK0F 
100 hingga 550 cm GP2Y0A710K0F

Sharpt IR distance sensor

Sensor jarak IR Sharp bekerja dengan memancarkan cahaya inframerah dan mengukur waktu yang dibutuhkan cahaya untuk memantul kembali. Ini memungkinkan sensor menghitung jarak berdasarkan jumlah cahaya yang diterima. Layar LCD1602 digunakan untuk menampilkan informasi ini dalam format yang mudah dibaca. Pengaturannya ringkas, membuatnya cocok untuk berbagai aplikasi, termasuk robotika dan sistem pengukuran jarak.

Penjelasan Perangkat Keras

Untuk proyek ini, kita akan menggunakan sensor jarak IR Sharp dan layar LCD1602. Sensor IR Sharp memiliki tiga kabel: kabel merah terhubung ke daya 5V, kabel hitam terhubung ke ground, dan kabel kuning adalah sinyal keluaran yang terhubung ke pin analog pada Arduino. Layar LCD1602 memerlukan beberapa pin untuk komunikasi, yang juga akan dihubungkan ke Arduino.

Layar LCD1602 menggunakan pustaka LiquidCrystal untuk mengelola data yang dikirim ke layar, memungkinkan kontrol keluaran layar dengan mudah. Pustaka ini menangani komunikasi antara Arduino dan LCD, membuatnya sederhana untuk mencetak teks dan angka.

Detail Datasheet

ProdusenSharp
Nomor bagianGP2Y0A41SK0F
Tegangan logika/IO5 V
Tegangan suplai4,5 – 5,5 V
Rentang jarak operasi4 – 30 cm
Tegangan keluaran (pada 30 cm)0,4 V
Tegangan keluaran (pada 4 cm)3 V
Waktu respons30 ms
KemasanModul ringkas
Catatan / varianModel berbeda tersedia untuk rentang yang bervariasi

  • Pastikan sensor diberi daya dengan benar pada 5 V.
  • Gunakan ground yang sama untuk semua komponen.
  • Berhati-hatilah dengan tegangan keluaran, yang bervariasi sesuai jarak.
  • Pertimbangkan untuk menggunakan filter pada sinyal keluaran untuk menstabilkan pembacaan.
  • Jaga sensor tetap bersih dan bebas dari penghalang untuk pengukuran yang akurat.

Instruksi Pengkabelan

Arduino Wiring Diagram of Sharp distance sensor with LCD1602-2
Arduino Wiring Diagram of Sharp distance sensor with LCD1602-2

Untuk menghubungkan modul jarak IR Sharp, sambungkan kabel merah ke pin 5V pada Arduino. Selanjutnya, sambungkan kabel hitam ke salah satu pin ground (GND) pada Arduino. Kabel kuning, yang mengeluarkan pengukuran jarak, harus dihubungkan ke pin analog A0 pada Arduino. Untuk layar LCD1602, sambungkan pin sebagai berikut: rs ke pin 12, en ke pin 11, d4 ke pin 5, d5 ke pin 4, d6 ke pin 3, dan d7 ke pin 2. Pastikan semua koneksi aman untuk menghindari masalah kabel longgar (dalam video pada 02:15).

Contoh Kode & Penjelasan

Kode Arduino untuk proyek ini menginisialisasi LCD dan sensor IR Sharp. Pengidentifikasi kunci termasuk IR, yang didefinisikan sebagai pin analog yang digunakan untuk keluaran Sharp IR, dan model, yang menentukan jenis sensor Sharp yang digunakan. Dalam fungsi setup, LCD diinisialisasi untuk menampilkan konten.

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

#define IR A0 // mendefinisikan pin sinyal Sharp IR
#define model 430 // model modul IR

Kutipan ini menunjukkan bagaimana pustaka LiquidCrystal diinisialisasi dan bagaimana pin sensor IR serta model didefinisikan. Model sangat penting untuk memastikan pustaka berfungsi dengan benar dengan jenis sensor spesifik yang digunakan.

Dalam fungsi loop, jarak diukur secara terus-menerus dan ditampilkan pada LCD. Fungsi SharpIR.distance() mengambil jarak dalam sentimeter, yang kemudian diformat menjadi string dan dicetak ke LCD.

int dis = SharpIR.distance(); // mengambil jarak dalam cm
String distance = String(dis);
distance = "Jarak: " + distance + "cm";
lcd.print(distance);

Potongan kode ini mengambil pembacaan jarak dari sensor dan memformatnya untuk ditampilkan. Pembaruan tampilan yang terus-menerus memberikan umpan balik real-time pada jarak yang diukur oleh sensor IR Sharp.

Demonstrasi / Apa yang Diharapkan

Setelah menyelesaikan pengkabelan dan mengunggah kode, Anda akan melihat LCD menampilkan jarak yang diukur oleh sensor IR Sharp. Anda dapat menguji pengaturan dengan menempatkan penghalang pada berbagai jarak. Pembacaan harus akurat dalam rentang yang ditentukan yaitu 4 hingga 30 sentimeter. Perlu diketahui bahwa pembacaan mungkin menjadi kurang andal pada ujung-ujung ekstrem rentang ini (dalam video pada 04:50).

Stempel Waktu Video

  • 00:00 Pendahuluan
  • 02:15 Instruksi pengkabelan
  • 04:50 Demonstrasi pengaturan

Gambar

Arduino Wiring Diagram of Sharp distance sensor with LCD1602-2
Arduino Wiring Diagram of Sharp distance sensor with LCD1602-2
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
Sharpt IR distance sensor
Sharpt IR distance sensor GP2Y0A21YK0F
71-This is the Arduino code and video for a Sharp Infrared Sensor Module with LCD1602.
Bahasa: C++
/*
 * Sharp IR (infrared) distance measurement module for Arduino
 * Measures the distance in cm and displays it on LCD1602 (without the I2C module)

 * Original library: https://github.com/guillaume-rico/SharpIR
 
 * Watch video instructions for this code: https://youtu.be/NjUOEAoKY7A
 * 
 * Full explanation of this code and wiring diagram is available at
 * my Arduino Course at Udemy.com here: http://robojax.com/L/?id=62

 * Written by Ahmad Shamshiri on Feb 03, 2018 at 07:34
 * in Ajax, Ontario, Canada. www.robojax.com
 * 

 * Get this code and other Arduino codes from Robojax.com
Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
all in one place. 

If you found this tutorial helpful, please support me so I can continue creating 
content like this. 

or make a donation using PayPal http://robojax.com/L/?id=64

 *  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

*/



// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

///////////////////***** start of Sharp IR
//Sharp IR library source: https://github.com/guillaume-rico/SharpIR
#include <SharpIR.h>

#define IR A0 // define Sharp IR signal pin
#define model 430 // the model of the IR module
// Sharp IR code for Robojax.com
// ir: the pin where your sensor is attached
// model: an int that determines your sensor:
/*
 * GP2Y0A02YK0F --> "20150"
 GP2Y0A21YK --> "1080"
 GP2Y0A710K0F --> "100500"
  GP2YA41SK0F --> "430"
 */
 
 

SharpIR SharpIR(IR, model);
/////////////////////**** end of Sharp IR

void setup() {
  // Robojax LCD1602 Test 
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  // Robojax Sharp IR with LCD1602 Test 
}

void loop() {
   lcd.clear();
  // Robojax.com Sharp IR Test 
    lcd.setCursor(0, 0);
    lcd.print("Robojax IR Test");
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
 int dis=SharpIR.distance();// gets the distance in cm
 String distance = String(dis);
 distance ="Distance: "+distance+"cm";
 lcd.print(distance); 



  delay(500);
  // Robojax.com Sharp IR Test  
}

Sumber daya & referensi

Berkas📁

Pustaka Arduino (zip)

File Fritzing