আরডুইনো কোড এবং শার্প আইআর দূরত্ব মডিউল এলসিডি১৬০২ ডিসপ্লে সহ ভিডিও
এই টিউটোরিয়ালে, আমরা শিখব কীভাবে Sharp ইনফ্রারেড দূরত্ব মডিউলটি LCD1602 ডিসপ্লের সাথে ব্যবহার করে সঠিকভাবে দূরত্ব পরিমাপ করা যায়। Sharp IR সেন্সর পরিমাপ করা দূরত্ব আউটপুট করবে, যা পরে LCD-তে প্রদর্শিত হবে, যা রিয়েল-টাইম ফিডব্যাক প্রদান করবে। এই প্রকল্পের শেষে, আপনার কাছে একটি কার্যকরী সেটআপ থাকবে যা ৪ থেকে ৩০ সেন্টিমিটার দূরত্ব পরিমাপ করতে সক্ষম (ভিডিওতে ০০:৩০ এ)।
Sharp অ্যানালগ আউটপুট মডিউল:
২ থেকে ১৫ সেমি GP2Y0A51SK0F
৪ থেকে ৩০ সেমি GP2Y0A41SK0F / GP2Y0AF30 সিরিজ
১০ থেকে ৮০ সেমি GP2Y0A21YK0F
১০ থেকে ১৫০ সেমি GP2Y0A60SZLF
২০ থেকে ১৫০ সেমি GP2Y0A02YK0F
১০০ থেকে ৫৫০ সেমি GP2Y0A710K0F

Sharp IR দূরত্ব সেন্সর ইনফ্রারেড আলো নির্গত করে এবং আলো ফিরে প্রতিফলিত হতে যে সময় লাগে তা পরিমাপ করে কাজ করে। এটি সেন্সরকে প্রাপ্ত আলোর পরিমাণের ভিত্তিতে দূরত্ব গণনা করতে দেয়। LCD1602 ডিসপ্লে এই তথ্যটি একটি পাঠযোগ্য ফরম্যাটে উপস্থাপন করতে ব্যবহৃত হয়। সেটআপটি কমপ্যাক্ট, যা রোবোটিক্স এবং দূরত্ব পরিমাপ সিস্টেম সহ বিভিন্ন অ্যাপ্লিকেশনের জন্য উপযুক্ত।
হার্ডওয়্যার ব্যাখ্যা
এই প্রকল্পের জন্য, আমরা Sharp IR দূরত্ব সেন্সর এবং LCD1602 ডিসপ্লে ব্যবহার করব। Sharp IR সেন্সরের তিনটি তার রয়েছে: লাল তারটি 5V পাওয়ারের সাথে সংযুক্ত হয়, কালো তারটি গ্রাউন্ডের সাথে সংযুক্ত হয়, এবং হলুদ তারটি আউটপুট সিগন্যাল যা Arduino-এর একটি অ্যানালগ পিনের সাথে সংযুক্ত হয়। LCD1602 ডিসপ্লেতে যোগাযোগের জন্য বেশ কয়েকটি পিন প্রয়োজন, যা Arduino-এর সাথেও সংযুক্ত থাকবে।
LCD1602 ডিসপ্লে এটিতে পাঠানো ডেটা পরিচালনা করতে একটি LiquidCrystal লাইব্রেরি ব্যবহার করে, যা ডিসপ্লের আউটপুট সহজে নিয়ন্ত্রণ করতে দেয়। এই লাইব্রেরিটি Arduino এবং LCD-এর মধ্যে যোগাযোগ পরিচালনা করে, যা টেক্সট এবং সংখ্যা প্রিন্ট করা সহজ করে তোলে।
ডেটাশিট বিবরণ
| নির্মাতা | Sharp |
|---|---|
| পার্ট নম্বর | GP2Y0A41SK0F |
| লজিক/IO ভোল্টেজ | ৫ V |
| সাপ্লাই ভোল্টেজ | ৪.৫ – ৫.৫ V |
| অপারেটিং দূরত্বের পরিসর | ৪ – ৩০ সেমি |
| আউটপুট ভোল্টেজ (৩০ সেমিতে) | ০.৪ V |
| আউটপুট ভোল্টেজ (৪ সেমিতে) | ৩ V |
| প্রতিক্রিয়া সময় | ৩০ ms |
| প্যাকেজ | কমপ্যাক্ট মডিউল |
| নোট / ভেরিয়েন্ট | বিভিন্ন রেঞ্জের জন্য বিভিন্ন মডেল উপলব্ধ |
- সেন্সরটি সঠিকভাবে ৫ V এ পাওয়ার করা হয়েছে তা নিশ্চিত করুন।
- সব উপাদানের জন্য একটি সাধারণ গ্রাউন্ড ব্যবহার করুন।
- আউটপুট ভোল্টেজ সম্পর্কে সতর্ক থাকুন, যা দূরত্বের সাথে পরিবর্তিত হয়।
- রিডিং স্থিতিশীল করতে আউটপুট সিগন্যালের জন্য একটি ফিল্টার ব্যবহার করার কথা বিবেচনা করুন।
- সঠিক পরিমাপের জন্য সেন্সরটি পরিষ্কার এবং বাধামুক্ত রাখুন।
ওয়্যারিং নির্দেশাবলী

Sharp IR দূরত্ব মডিউলটি ওয়্যার করতে, লাল তারটি Arduino-এর 5V পিনের সাথে সংযুক্ত করুন। এরপর, কালো তারটি Arduino-এর একটি গ্রাউন্ড (GND) পিনের সাথে সংযুক্ত করুন। হলুদ তারটি, যা দূরত্ব পরিমাপ আউটপুট করে, Arduino-এর অ্যানালগ পিন A0 এর সাথে সংযুক্ত করা উচিত। LCD1602 ডিসপ্লের জন্য, পিনগুলি নিম্নরূপ সংযুক্ত করুন: rs পিন ১২-এ, en পিন ১১-এ, d4 পিন ৫-এ, d5 পিন ৪-এ, d6 পিন ৩-এ, এবং d7 পিন ২-এ। কোনো আলগা ওয়্যারিং সমস্যা এড়াতে সমস্ত সংযোগ নিরাপদ কিনা তা নিশ্চিত করুন (ভিডিওতে ০২:১৫ এ)।
কোড উদাহরণ ও ওয়াকথ্রু
এই প্রকল্পের Arduino কোডটি LCD এবং Sharp IR সেন্সরটি প্রাথমিকভাবে চালু করে। মূল শনাক্তকারীগুলির মধ্যে রয়েছে IR, যা Sharp IR আউটপুটের জন্য ব্যবহৃত অ্যানালগ পিন হিসাবে সংজ্ঞায়িত, এবং model, যা ব্যবহৃত Sharp সেন্সরের ধরন নির্দিষ্ট করে। সেটআপ ফাংশনে, LCD কন্টেন্ট প্রদর্শনের জন্য প্রাথমিকভাবে চালু করা হয়।
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 // Sharp IR সিগন্যাল পিন সংজ্ঞায়িত করুন
#define model 430 // IR মডিউলের মডেল
এই অংশটি দেখায় কীভাবে LiquidCrystal লাইব্রেরি প্রাথমিকভাবে চালু করা হয় এবং IR সেন্সর পিন ও মডেল কীভাবে সংজ্ঞায়িত করা হয়। ব্যবহৃত নির্দিষ্ট ধরনের সেন্সরের সাথে লাইব্রেরিটি সঠিকভাবে কাজ করে তা নিশ্চিত করার জন্য মডেলটি গুরুত্বপূর্ণ।
লুপ ফাংশনে, দূরত্ব ক্রমাগত পরিমাপ করা হয় এবং LCD-তে প্রদর্শিত হয়। ফাংশন SharpIR.distance() সেন্টিমিটারে দূরত্ব পুনরুদ্ধার করে, যা পরে একটি স্ট্রিংয়ে ফরম্যাট করা হয় এবং LCD-তে প্রিন্ট করা হয়।
int dis = SharpIR.distance(); // সেমিতে দূরত্ব পায়
String distance = String(dis);
distance = "Distance: " + distance + "cm";
lcd.print(distance);
এই কোড স্নিপেটটি সেন্সর থেকে দূরত্ব রিডিং পুনরুদ্ধার করে এবং প্রদর্শনের জন্য ফরম্যাট করে। ডিসপ্লের ক্রমাগত আপডেট Sharp IR সেন্সর দ্বারা পরিমাপ করা দূরত্বের রিয়েল-টাইম ফিডব্যাক দেয়।
প্রদর্শন / কী আশা করবেন
ওয়্যারিং সম্পন্ন এবং কোড আপলোড করার পরে, আপনার LCD-তে Sharp IR সেন্সর দ্বারা পরিমাপ করা দূরত্ব প্রদর্শিত হওয়া উচিত। আপনি বিভিন্ন দূরত্বে একটি বাধা রেখে সেটআপটি পরীক্ষা করতে পারেন। রিডিংগুলি নির্দিষ্ট পরিসরের ৪ থেকে ৩০ সেন্টিমিটারের মধ্যে সঠিক হওয়া উচিত। সচেতন থাকুন যে এই পরিসরের চরম প্রান্তে রিডিং কম নির্ভরযোগ্য হতে পারে (ভিডিওতে ০৪:৫০ এ)।
ভিডিও টাইমস্ট্যাম্প
- ০০:০০ ভূমিকা
- ০২:১৫ ওয়্যারিং নির্দেশাবলী
- ০৪:৫০ সেটআপের প্রদর্শন
/*
* 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
}
সম্পদ ও রেফারেন্সসমূহ
-
অভ্যন্তরীণ
ফাইলসমূহ📁
আর্ডুইনো লাইব্রেরি (জিপ)
-
Arduino library for sharp IR distance sensor
robojax-sharp_IR-master.zip
ফ্রিটজিং ফাইল
-
LCD LCD1602-I2C module with 4 wires
LCD1602-I2C.fzpz0.01 MB -
sharp ir sensor GP2Y0A02YK0F
sharp ir sensor GP2Y0A02YK0F .fzz