পাঠ ৭১: দূরত্ব মাপা এবং LCD স্ক্রিনে প্রদর্শন | আরডুইনো ধাপে ধাপে কোর্স
এই প্রকল্পটি দেখায় কিভাবে একটি HC-SR04 আল্ট্রাসনিক সেন্সরকে LCD1602 ডিসপ্লের সাথে যুক্ত করে Arduino-তে দূরত্ব পরিমাপ ও প্রদর্শন করা যায়। এই সেটআপটি নিকটবর্তী বস্তু শনাক্তকরণ এবং ভিজ্যুয়াল ফিডব্যাক প্রয়োজন এমন বিভিন্ন প্রয়োগের জন্য উপযোগী।
ব্যবহারিক প্রয়োগ:
- রোবোটিক্স: বাধা এড়ানো বা নেভিগেশনের জন্য দূরত্ব পরিমাপ।
- পার্কিং সহায়তা: একটি সহজ পার্কিং দূরত্ব সেন্সর তৈরি করা।
- হোম অটোমেশন: নিকটবর্তীতা-ভিত্তিক আলোক ব্যবস্থা তৈরি করা।
- শিল্প অটোমেশন: উৎপাদন প্রক্রিয়ায় দূরত্ব পর্যবেক্ষণ।
হার্ডওয়্যার/উপকরণ
এই প্রকল্পটি তৈরি করতে আপনার নিম্নলিখিত উপকরণগুলির প্রয়োজন হবে:
- Arduino Uno (বা সামঞ্জস্যপূর্ণ বোর্ড)
- HC-SR04 আল্ট্রাসনিক সেন্সর
- LCD 1602 ডিসপ্লে (I2C সংস্করণ সুপারিশকৃত)
- জাম্পার তার
ওয়্যারিং গাইড
ওয়্যারিং ভিডিওতে বর্ণনা করা হয়েছে (ভিডিওতে 00:31 মিনিটে)। মূল সংযোগগুলি হল:
- আল্ট্রাসনিক সেন্সর: VCC থেকে 5V, GND থেকে GND, TRIG থেকে পিন 12, ECHO থেকে পিন 11।
- LCD 1602: VCC থেকে 5V, GND থেকে GND, SDA থেকে পিন A4, SCL থেকে পিন A5।
%%WIRING%%
কোড ব্যাখ্যা
কোডটি আল্ট্রাসনিক দূরত্ব পরিমাপের জন্য NewPing লাইব্রেরি এবং LCD নিয়ন্ত্রণের জন্য LiquidCrystal_I2C লাইব্রেরি ব্যবহার করে (ভিডিওতে 02:15 মিনিটে)। মূল কনফিগারযোগ্য প্যারামিটারগুলি হল:
#define TRIGGER_PIN 12 // আল্ট্রাসনিক সেন্সরের ট্রিগার পিনের সাথে যুক্ত Arduino পিন।
#define ECHO_PIN 11 // আল্ট্রাসনিক সেন্সরের ইকো পিনের সাথে যুক্ত Arduino পিন।
#define MAX_DISTANCE 200 // আমরা পিং করতে চাই সর্বোচ্চ দূরত্ব (সেন্টিমিটারে)।
// 16 অক্ষর এবং 2 লাইনের ডিসপ্লের জন্য LCD ঠিকানা 0x3F সেট করুন
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int VCC2 = 2; // LCD-এর জন্য অতিরিক্ত VCC
TRIGGER_PIN এবং ECHO_PIN আল্ট্রাসনিক সেন্সরের সাথে সংযুক্ত Arduino পিনগুলি নির্ধারণ করে। MAX_DISTANCE সর্বোচ্চ পরিমাপযোগ্য দূরত্ব নির্ধারণ করে। LCD ঠিকানা (0x3F) আপনার নির্দিষ্ট LCD মডিউলের উপর নির্ভর করে সমন্বয়ের প্রয়োজন হতে পারে। VCC2 পিনটি LCD-এর জন্য অতিরিক্ত 5V সরবরাহ প্রদান করে।
sonar.ping_cm() এবং sonar.ping_in() ফাংশনগুলি যথাক্রমে সেন্টিমিটার এবং ইঞ্চিতে দূরত্ব পরিমাপ পেতে ব্যবহৃত হয় (ভিডিওতে 05:27 এবং 06:01 মিনিটে)।
লাইভ প্রকল্প/প্রদর্শন
প্রকল্পটির একটি প্রদর্শন ভিডিওতে দেখানো হয়েছে (ভিডিওতে 06:42 মিনিটে)। ভিডিওতে সেন্সরটি বিভিন্ন বস্তুর দূরত্ব পরিমাপ করে এবং ফলাফলগুলি LCD স্ক্রিনে সেন্টিমিটার এবং ইঞ্চিতে প্রদর্শন করে। সিরিয়াল মনিটর একই পরিমাপ প্রদর্শন করে, যা রিডিং যাচাই করার একটি উপায় প্রদান করে।
অধ্যায়সমূহ
- [00:04] ভূমিকা এবং প্রকল্পের সংক্ষিপ্ত বিবরণ
- [00:31] ওয়্যারিং ডায়াগ্রাম এবং সংযোগ
- [02:15] কোড ব্যাখ্যা: আল্ট্রাসনিক সেন্সর সেটআপ
- [03:19] কোড ব্যাখ্যা: LCD1602 সেটআপ
- [04:21] কোড ব্যাখ্যা: Arduino সেটআপ
- [04:46] কোড ব্যাখ্যা: মূল লুপ এবং ডিসপ্লে
- [06:42] লাইভ প্রদর্শন
- [07:26] উপসংহার
/*
* S08-03
* Using LCD1602-I2C and HC-SR04 Ultrasonic Sensor with Arduino
* Written/updated by Ahmad Shamshiri for Robojax (Robojax.com)
* on January 16, 2019 at 15:51 in Ajax, Ontario, Canada
* 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 download 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/>.
*/
#include <NewPing.h>
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
// start of settings for LCD1602-I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x3F for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int VCC2 = 2;
// end of settings for LCD1602-I2C
void setup() {
Serial.begin(9600); // Open serial monitor at 19600 baud to see ping results.
pinMode(VCC2, OUTPUT);// extra VCC for LCD
digitalWrite(VCC2, HIGH);//extra VCC is now HIGH (5V)
// initialize the LCD,
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.clear();
lcd.setCursor (0,0); //
lcd.print("Robojax LCD1602");
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
lcd.clear();// clearn previous values from screen
lcd.setCursor (0,0); //character zero, line 1
lcd.print("LCD1602 HC-SR04"); // print text
// print distance in cm
lcd.setCursor (0,1); //character 0, line 2
lcd.print(sonar.ping_cm());// print distance in cm
lcd.setCursor (3,1); //character 4, line 2
lcd.print("cm");// print "cm" on the display
// print distance in inch
lcd.setCursor (7,1); //character 8, line 2
lcd.print(sonar.ping_in());// print distance in cm
lcd.setCursor (9,1); //character 4, line 2
lcd.print("inches");// print "cm" on the display
Serial.print("Ping: ");
Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
Serial.print("cm");
Serial.print(", ");
Serial.print(sonar.ping_in());
Serial.println("in");
int distance = sonar.ping_cm();
}
আপনাকে যা প্রয়োজন হতে পারে
-
ইবে
-
ইবেPurchase LCD1602-I2C from eBayebay.us
-
অলি এক্সপ্রেসPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
-
ব্যাংগুডPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
কোনো ফাইল উপলব্ধ নেই।