আজকে আমি আপনাদের দেখাবো Ultrasonic sensor নিয়ে আপনারা কিভাবে কাজ করতে পারবেন । Ultrasonic sensor বহুল ব্যবহৃত একটা সেনসর যেটা মাইক্রোকন্ট্রোলারের সাথে ব্যবহার করে বিভিন্ন প্রজেক্টে ব্যবহার করা হয় । এই ব্লগ পোস্টের মাধ্যমে আমি আপনাদের দেখাবো এই Ultrasonic sensor মাইক্রোকন্ট্রোলার এর সাথে ব্যবহার করে কিভাবে বিভিন্ন প্রজেক্টে আপনি ইউজ করতে পারবেন । এর প্র্যাকটিকাল এবং কোডিং সহকারে আপনাদের বুঝিয়ে দেবো যাতে আপনি যেকোনো প্রোজেক্টের কোডিং করে এই আল্ট্রাসনিক সেন্সর ব্যবহার করতে পারবেন । চলুন আমরা দেখে নিব আল্ট্রাসনিক সেন্সর দেখতে কেমন ।
চলুন কোডিং করার আগে আমরা ভালভাবে জেনে নেব এই Ultrasonic sensor কিভাবে কাজ করে এবং এর মুল কাজটা কি?
নিচের ছবিটি ভালোভাবে লক্ষ্য করুন।
Sonar sensor or Ultrasonic sensor এর মূল কাজ হলো দূরত্ব পরিমাপ করা । এই কাজের উপর ভিত্তি করেই এটি বিভিন্ন প্রজেক্টে ব্যবহার করা হয় ।Ultrasonic সেন্সরের দুইটা পিন রয়েছে একটা হল Trigger pin আরেকটা হল Echo Pin ।এই দুইটি পিন এর সাহায্যে এই সেন্সরটি দূরত্ব পরিমাপ করে । দূরত্ব পরিমাপ করার জন্য এ Trigger pin থেকে একটা সাউন্ড ওয়েব বাতাসে প্রেরণ করে । এই সাউন্ড ওয়েব যখন কোন অবজেক্টিভ বাধা পায় এবং বাধা পেয়ে এই সাউন্ডটি ফিরে আসে তখন এটি Echo pin রিসিভ করে।এখন Trigger pin থেকে সাউন্ড প্রেরণ করার পর এটা অবজেক্টে বাধা পেয়ে যখন ইকো পিনে রিসিভ করে তখন একটা দূরত্ব অতিক্রম করে এই সাউন্ড ওয়েব টি ।এই যে দূরত্ব অতিক্রম করল এটাই Ultrasonic sensor পরিমাপ করে । এভাবেই এটি বিভিন্ন প্রজেক্টে ব্যবহার করা হয় ।
Trigger pin থেকে 10 মাইক্রো সেকেন্ডের জন্য 40KHZ একটা Sound Wave প্রেরণ করা হয় ।আমরা এই 40KHZ Sound Wave শুনতে পায়না ।কারণ মানুষের শ্রাব্যতার সীমা 20HZ-20KHZ .যখন 10 মাইক্রো সেকেন্ডের জন্য Trigger pin কে HIGH করা হয়।তখন Trigger pin এর আউটপুটে 8 cycle sonic Burst 40KHZ Sound Wave বাতাসে প্রেরণ করা হয় ।এখন এই 40KHZ Sound Wave যখন কোন অবজেক্ট এ বাধা পায়। তখনই 40KHZ Sound Wave আবার সেন্সরের দিকে ফিরে আসে এবং Echo pin 40KHZ Sound Wave আবার রিসিভ করে ।এভাবেই এই সেন্সরটি কাজ করে ।
এখানে একটা বিষয় লক্ষ্য করুন ।Trigger pin থেকে সাউন্ডটা প্রেরিত হয়ে এটা অবজেক্ট এ বাধা পেয়ে আবার ইকো পিনে রিসিভ করে । এখানে সাউন্ড ওয়েব দুইবার দূরত্ব অতিক্রম করে।কিন্তু আমাদের কোডিং করে বের করতে হবে অবজেক্টিভ কত দূরে আছে ।যখন কোডিং করব তখন আমাদের 2 দিয়ে ভাগ দিতে হবে সেটা আপনাদের পরে দেখাবো ।এখন Sonar sensor or Ultrasonic sensor এর প্রজেক্ট করতে গেলে আমাদের কি কি কম্পোনেন্ট লাগবে চলুন একটু জেনে নিই।
- Ultrasonic Sensor.
- Arduino Uno Board.
- LCD Display.
- Breadboard.
- Connecting wire.
- Power supply.
প্রাথমিকভাবে এই আল্ট্রাসনিক সেন্সর কে আপনি মাইক্রোকন্ট্রোলার or Arduino বোর্ডের সাথে কিভাবে ব্যবহার করবেন সেটা আপনাদের দেখাবো । নিচে আমি কোডিং টা দেখিয়ে দিচ্ছি ।
Code:
const int trigPin = 6;
const int echoPin = 7;
// defines variables
long duration;
float distancecm;
float distanceInch;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distancecm= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println("cm");
distanceInch= duration*0.0133/2;
Serial.print("Distance: ");
Serial.println("Inch");
delay(400);
}
উপরে আমি কোডিং টা দেখিয়ে দিলাম ।উপরের কানেকশন ডায়াগ্রাম অনুযায়ী কানেকশন করে আপনি যদি এই কোডটা আরডিওনো বোর্ডে আপলোড করে দেন এবং আল্ট্রাসনিক সেন্সর এর সামনে কোনো বাধা দেন।তাহলে আরডিওনো আইডি সফটওয়ারের সিরিয়াল মনিটরে আপনি ডিসটেন্স বা দূরত্ব দেখতে পারবেন।উপরের কোডিংয়ের দুইটা লাইনে আপনি বুঝতে পারবেন না ।নিচের ছবিটি লক্ষ্য করুন।
এই দুইটা লাইনে distancecm = duration*0.034/2 and distanceInch=duration*0.0133/2 অর্থাৎ দূরত্ব সেন্টিমিটার এবং ইঞ্চিতে নির্ণয় করা হয়েছে।এখানে একটু ভালোভাবে বুঝতে হবে।
distancecm = duration*0.034/2
distanceInch = duration*0.0133/2
উপরের সূত্রটা লক্ষ্য করুন ।আমরা জানি বাতাসের গতিবেগ 340 M/S । Sonar sensor or Ultrasonic sensor এর Trigger pin থেকে সাউন্ড ওয়েব যখন বাতাসে যাবে তখন বাতাসের গতিবেগ 340 M/S।সময় কাল নির্ণয় করব নিচে সূত্রের সাহায্যে।
duration = pulseIn(echoPin, HIGH);
এখন দূরত্ব নির্ণয় করার জন্য নিচের সূত্রটা ফলো করবো।
The Range = duration *Velocity (340 M/S)/2
এই সূত্রে 2 দিয়ে ভাগ করা হয়েছে । এর কারণ আমি আগেই আপনাদের বলেছিলাম যে Sound wave বাধা পেয়ে আবার ফিরে আসে অর্থাৎ দুইবার দূরত্ব অতিক্রম করে । কিন্তু আমাদের লাগবে অবজেক্ট এর দূরত্ব। কতদূরে সাউন্ড ওয়েব বাধা পাচ্ছে।এজন্য 2 দিয়ে ভাগ দিলেই আমি অবজেক্টের দূরত্ব পাব । এখন দুরত্ব সেন্টিমিটারে বের করবেন নাকি ইঞ্চিতে বের করবেন সেটার জন্য সূত্র রয়েছে ।
distancecm= duration*0.034/2
distanceInch= duration*0.0133/2
এখন সূত্রের মধ্যে 0.034 পেলাম কোথায়?
distancecm= duration*0.034/2
যখন Trigger pin থেকেsound wave প্রেরণ করা হয় তখন কিন্তু মাইক্রো সেকেন্ডের জন্য Trigger pin HIGH করা হয়েছিল । আর বাতাসের গতিবেগ M/s এ রয়েছে । তাই ms to us কনভার্ট করতে হবে । নিচের ছবিটি লক্ষ্য করুন ।
আবার যখন ইঞ্চিতে দূরত্ব পরিমাপ করার দরকার হবে। তখন নিচের সূত্র টা লাগবে । একইভাবে ms to uInch তে কনভার্ট করতে হবে
distanceInch= duration*0.0133/2
আশাকরি এখন বুঝতে পেরেছেন । এখন আল্ট্রাসনিক সেন্সর দিয়ে দূরত্ব পরিমাপ করে সেই দূরত্ব আপনি কিভাবে এলসিডি ডিসপ্লে তে দেখতে পারবেন সেটা কিভাবে করবেন সেটা দেখাবো ।
উপরে যে কানেকশন ডায়াগ্রাম দেখালাম এই অনুযায়ী আপনি কানেকশন করে ফেলুন । তারপর নিচে যে কোডিং কি আপনাদের দেখাচ্ছি এটা ডাউনলোড করুন ।
Code:
#include <LiquidCrystal.h> // includes the LiquidCrystal Library
const int rs = A0, en = A1, d4 = A2, d5 = A3, d6 = A4, d7 = A5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int trigPin = 6;
const int echoPin = 7;
long duration;
int distanceCm, distanceInch;
void setup() {
lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration*0.0133/2;
lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
lcd.print("Distance: "); // Prints string "Distance" on the LCD
lcd.print(distanceCm); // Prints the distance value from the sensor
lcd.print(" cm");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance: ");
lcd.print(distanceInch);
lcd.print(" inch");
delay(10);
}
এই কোডিং টা আপলোড করে Ultrasonic Sensor দিয়ে আপনি দূরত্ব পরিমাপ করে দেখতে পারেন। এই নীতির উপর ভিত্তি করে আল্ট্রাসনিক সেন্সর দিয়ে বিভিন্ন প্রজেক্ট তৈরি করা যায় ।
Why your code in digital clock is not working?