কোড অনুসন্ধান

আরডুইনো কোড এবং ভিডিও: টিপি১৬৩৭ ডিসপ্লে সহ এইচসি-এসআর০৪ আল্ট্রাসনিক দূরত্ব সেন্সর

আরডুইনো কোড এবং ভিডিও: টিপি১৬৩৭ ডিসপ্লে সহ এইচসি-এসআর০৪ আল্ট্রাসনিক দূরত্ব সেন্সর

এই টিউটোরিয়ালে, আমরা শিখব কীভাবে HC-SR04 আল্ট্রাসনিক দূরত্ব সেন্সর TP1637 ডিসপ্লের সাথে ব্যবহার করে দূরত্বের পরিমাপ দৃশ্যমানভাবে দেখানো যায়। এই প্রকল্পটি রোবোটিক গাড়ি এবং অন্যান্য দূরত্ব-সংবেদন কাজের জন্য দুর্দান্ত। এই গাইডের শেষে, আপনার কাছে একটি কার্যকরী সেটআপ থাকবে যা দূরত্ব পরিমাপ করে স্ক্রিনে প্রদর্শন করবে, যা সেন্সরের রিডিং সহজে পর্যবেক্ষণের সুযোগ দেবে।

How HC-SR04 ulrasonic sensor work

আমরা দুটি প্রধান উপাদান ব্যবহার করব: HC-SR04 আল্ট্রাসনিক সেন্সর এবং TP1637 ডিসপ্লে মডিউল। HC-SR04 সেন্সর আল্ট্রাসনিক তরঙ্গ নির্গত করে এবং সেগুলি ফিরে আসতে যে সময় লাগে তা পরিমাপ করে, সেই সময়ের ভিত্তিতে দূরত্ব গণনা করে। TP1637 ডিসপ্লে I2C যোগাযোগ ব্যবহার করে পরিমাপ করা দূরত্ব একটি ব্যবহারকারী-বান্ধব ফরম্যাটে দেখায়। আরও স্পষ্টতার জন্য, আপনি উপাদানগুলির ভিজ্যুয়াল ব্যাখ্যার জন্য 1:30 সময়ে ভিডিওটি দেখতে পারেন।

হার্ডওয়্যার ব্যাখ্যা

HC-SR04 আল্ট্রাসনিক সেন্সরের চারটি পিন রয়েছে: VCC, Trig, Echo এবং GND। VCC পিন পাওয়ার সাপ্লাইয়ের সাথে সংযুক্ত থাকে, যখন GND পিন গ্রাউন্ডের সাথে সংযুক্ত থাকে। Trig পিন আল্ট্রাসনিক পালস ট্রিগার করতে ব্যবহৃত হয়, এবং Echo পিন প্রতিফলিত পালস গ্রহণ করে। এই সেন্সরটি 2 সেমি থেকে 400 সেমি পর্যন্ত দূরত্ব পরিমাপ করতে পারে।

TP1637 ডিসপ্লে মডিউলটিতে চারটি পিন রয়েছে, যা I2C যোগাযোগের জন্য ব্যবহৃত হয়। এই পিনগুলির মধ্যে রয়েছে VCC, GND, Clock (CLK) এবং Data (DIO)। এই প্রকল্পে, CLK পিনটি Arduino-এর ডিজিটাল পিন 2-এর সাথে সংযুক্ত, এবং DIO পিনটি ডিজিটাল পিন 3-এর সাথে সংযুক্ত। এই ডিসপ্লেটি আল্ট্রাসনিক সেন্সরের দূরত্ব রিডিং কল্পনা করা সহজ করে তোলে।

ডেটাশিট বিবরণ

প্রস্তুতকারকTM1637
পার্ট নম্বরTM1637
লজিক/IO ভোল্টেজ3.3 V থেকে 5.5 V
সাপ্লাই ভোল্টেজ5 V
আউটপুট কারেন্ট (প্রতি চ্যানেল)~25 mA
পিক কারেন্ট (প্রতি চ্যানেল)~50 mA
PWM ফ্রিকোয়েন্সি নির্দেশিকাপ্রযোজ্য নয়
ইনপুট লজিক থ্রেশহোল্ড0.3VCC সর্বোচ্চ
ভোল্টেজ ড্রপ / RDS(on) / স্যাচুরেশনপ্রযোজ্য নয়
থার্মাল সীমা85 °C
প্যাকেজDIP-16
নোট / ভেরিয়েন্টসাধারণত 7-সেগমেন্ট ডিসপ্লেতে ব্যবহৃত হয়

  • ক্ষতি এড়াতে সঠিক সংযোগ নিশ্চিত করুন।
  • নিরাপদ অপারেশনের জন্য সর্বোচ্চ সাপ্লাই ভোল্টেজ 5 V বজায় রাখুন।
  • প্রয়োজনে I2C যোগাযোগের জন্য উপযুক্ত পুল-আপ ব্যবহার করুন।
  • দূরত্ব পরিমাপের পরিসীমা নির্দিষ্ট সীমার মধ্যে রাখুন (2 সেমি - 400 সেমি)।
  • পাওয়ার এবং গ্রাউন্ড পিন শর্ট করা এড়িয়ে চলুন।
  • দৃশ্যমানতা নিশ্চিত করতে ডিসপ্লের উজ্জ্বলতা সেটিংস পরীক্ষা করুন।
  • ভাসমান ইনপুট পরীক্ষা করুন যা ভুল রিডিংয়ের কারণ হতে পারে।

CLK = ক্লক, DIO = ডেটা আউটপুট

ওয়্যারিং নির্দেশাবলী

Arduino wiring for HC-SR04 Ultrasonic Sensor with TM1637 display
Arduino wiring for HC-SR04 Ultrasonic Sensor with TM1637 display

HC-SR04 আল্ট্রাসনিক সেন্সর ওয়্যার করতে, VCC পিন (লাল তার) Arduino-এর 5V পিনের সাথে এবং GND পিন (হলুদ তার) গ্রাউন্ডের সাথে সংযুক্ত করুন। ট্রিগার পিন (নীল তার) ডিজিটাল পিন 12-এর সাথে সংযুক্ত করা উচিত, যখন Echo পিন (সবুজ তার) ডিজিটাল পিন 11-এর সাথে সংযুক্ত করা উচিত। সঠিক অপারেশন নিশ্চিত করতে এই সংযোগগুলি নিরাপদ কিনা তা নিশ্চিত করুন।

TP1637 ডিসপ্লের জন্য, VCC পিন (লাল তার) Arduino-এর 5V পিনের সাথে এবং GND পিন (হলুদ তার) গ্রাউন্ডের সাথে সংযুক্ত করুন। ক্লক পিন (নীল তার) ডিজিটাল পিন 2-এ যাওয়া উচিত, এবং ডেটা পিন (সাদা তার) ডিজিটাল পিন 3-এর সাথে সংযুক্ত হওয়া উচিত। এই সেটআপটি Arduino-কে ডিসপ্লের সাথে যোগাযোগ করতে এবং ভিজ্যুয়ালাইজেশনের জন্য দূরত্ব ডেটা পাঠাতে দেয়।

কোড উদাহরণ ও ওয়াকথ্রু

নিম্নলিখিত কোড অংশটি আল্ট্রাসনিক সেন্সর এবং ডিসপ্লে আরম্ভ করে:

#define TRIGGER_PIN  12
#define ECHO_PIN     11
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
TM1637Display display(CLK, DIO);

এখানে, আমরা আল্ট্রাসনিক সেন্সরের ট্রিগার এবং ইকোর জন্য পিন সংজ্ঞায়িত করি এবং সর্বোচ্চ দূরত্ব 200 সেমি নির্ধারণ করি। NewPing লাইব্রেরি সেন্সর পরিচালনা করতে ব্যবহৃত হয়, যখন TM1637Display অবজেক্ট ডিসপ্লে পরিচালনা করে।

মূল লুপে, আমরা ক্রমাগত দূরত্ব পড়ি এবং এটি প্রদর্শন করি:

int distance = sonar.ping_cm(); // দূরত্ব পান
display.showNumberDec(distance, false, 3, 1);

কোডের এই অংশটি সেন্সর থেকে দূরত্ব পরিমাপ পুনরুদ্ধার করে এবং TP1637 ডিসপ্লেতে দেখায়। showNumberDec ফাংশনটি দূরত্বকে দশমিক সংখ্যা হিসাবে প্রদর্শনের জন্য ফরম্যাট করে।

সম্পূর্ণ কোডের জন্য, অনুগ্রহ করে নিবন্ধের নীচের অংশটি দেখুন।

প্রদর্শন / কী আশা করবেন

একবার সবকিছু সেট আপ হয়ে গেলে এবং কোড আপলোড করা হলে, আপনার TP1637 ডিসপ্লেতে দূরত্ব রিডিং প্রদর্শিত দেখতে হবে। রিডিংগুলি প্রায় প্রতি 50 মিলিসেকেন্ডে আপডেট হবে, যা আল্ট্রাসনিক সেন্সর দ্বারা পরিমাপ করা দূরত্বের প্রায় রিয়েল-টাইম প্রতিক্রিয়া প্রদান করবে। যদি আপনি কোনো অপ্রত্যাশিত মান লক্ষ্য করেন, তবে নিশ্চিত করুন যে সেন্সরটি সঠিকভাবে নির্দেশিত এবং এর পথে কোনো বাধা নেই (ভিডিওতে 6:15 সময়ে)।

ভিডিও টাইমস্ট্যাম্প

  • 00:00 - ভূমিকা
  • 01:30 - উপাদান ওভারভিউ
  • 02:45 - ওয়্যারিং নির্দেশাবলী
  • 04:00 - কোড ব্যাখ্যা
  • 06:15 - প্রদর্শন

ছবি

HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
Arduino wiring for HC-SR04 Ultrasonic Sensor with TM1637 display
Arduino wiring for HC-SR04 Ultrasonic Sensor with TM1637 display
43-This is the Arduino code for the HC-SR04 ultrasonic distance sensor with a TP1637 display.
ভাষা: C++
/*
 * This is the Arduino code for the HC-SR04 Ultrasonic Distance Sensor with TP1637 Display
 * to measure the distance using Arduino for a robotic car and other applications
 * Watch the video https://youtu.be/SlgLj_T5GaY
 * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: December 21, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

/* Original Code 
   from https://github.com/avishorp/TM1637
// https://playground.arduino.cc/Code/NewPing
 * Modified for Robojax video on December 21, 2017
// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------
*/

#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.


////////////////////////////
#include <Arduino.h>
#include <TM1637Display.h>

// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
// The amount of time (in milliseconds) between tests
#define TEST_DELAY  500
TM1637Display display(CLK, DIO);
/////////////////////////

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}

void loop() {
  display.setBrightness(0x0f);
  uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
  display.setSegments(data);
  int distance = sonar.ping_cm();// get the distance and store it in "distance" variable
                     // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  Serial.print("Ping: ");
  Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
  Serial.println("cm");
  display.showNumberDec(distance, false, 3,1);
  delay(50);  
}

আপনাকে যা প্রয়োজন হতে পারে

সম্পদ ও রেফারেন্সসমূহ

ফাইলসমূহ📁

অন্যান্য ফাইলগুলি