Search Code

ESP32 টিউটোরিয়াল ৩২/৫৫ - এলসিডি এবং বাজারের সাথে গাড়ির রিভার্স রেঞ্জ সতর্কতা | সানফাউন্ডারের আইওটি লার্নিং কিট

ESP32 টিউটোরিয়াল ৩২/৫৫ - এলসিডি এবং বাজারের সাথে গাড়ির রিভার্স রেঞ্জ সতর্কতা | সানফাউন্ডারের আইওটি লার্নিং কিট

এই টিউটোরিয়ালে, আমরা ESP32 মাইক্রোকন্ট্রোলার, একটি আল্ট্রাসনিক দূরত্ব সেন্সর, একটি LCD ডিসপ্লে এবং একটি বুজার ব্যবহার করে একটি রিভার্সিং সহায়তা সিস্টেম তৈরি করব। এই প্রকল্পটি আপনাকে রিভার্স করার সময় বাধার দূরত্ব সম্পর্কে সতর্ক করবে, বুজারের বিপিং ফ্রিকোয়েন্সি বাধা কতটা কাছে তার উপর ভিত্তি করে পরিবর্তিত হবে। আপনি শিখবেন কীভাবে উপাদানগুলি সংযোগ করতে হয়, কোড লিখতে হয় এবং আপনার যানবাহনের জন্য সিস্টেমের কার্যকারিতা কার্যকরভাবে কাজ করবে বলে আশা করতে হয়।

ESP32 রিভার্সিং সহায়তা প্রকল্প

এই প্রকল্পটি বাস্তবায়ন করার সময়, ESP32 সেন্সর রিডিং পরিচালনা করবে এবং বুজার ও LCD ডিসপ্লে নিয়ন্ত্রণ করবে। আল্ট্রাসনিক সেন্সর যেকোনো বাধার দূরত্ব পরিমাপ করবে, যখন বুজার সেই দূরত্বের উপর ভিত্তি করে অডিও ফিডব্যাক প্রদান করবে। LCD পরিমাপ করা দূরত্ব প্রদর্শন করবে, যা আপনাকে রিয়েল-টাইমে রিডিং দেখতে দেবে। সেটআপটি আরও স্পষ্টভাবে বোঝার জন্য, ভিডিওটি দেখতে ভুলবেন না (ভিডিওতে 00:00 এ)।

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

এই প্রকল্পের মূল উপাদানগুলির মধ্যে রয়েছে ESP32 মাইক্রোকন্ট্রোলার, একটি আল্ট্রাসনিক দূরত্ব সেন্সর, একটি LCD ডিসপ্লে এবং একটি বুজার। ESP32 একটি শক্তিশালী মাইক্রোকন্ট্রোলার যার বিল্ট-ইন Wi-Fi এবং ব্লুটুথ ক্ষমতা রয়েছে, যা এটিকে IoT প্রকল্পের জন্য আদর্শ করে তোলে। আল্ট্রাসনিক সেন্সর শব্দ তরঙ্গ নির্গত করে এবং প্রতিধ্বনি ফিরে আসতে সময় গণনা করে দূরত্ব পরিমাপ করে। LCD পরিমাপ করা দূরত্ব প্রদর্শন করবে, যখন বুজার নৈকট্যের উপর ভিত্তি করে শ্রবণযোগ্য সতর্কতা প্রদান করে।

প্রতিটি উপাদান নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে যে রিভার্সিং সহায়তা সঠিকভাবে কাজ করে। এই অংশগুলি কীভাবে একসাথে কাজ করে তা বোঝা আপনাকে নির্মাণ প্রক্রিয়ার সময় উদ্ভূত যেকোনো সমস্যা সমাধানে সহায়তা করবে। প্রকল্পটি সেন্সর ডেটা পরিচালনা করতে এবং আউটপুট কার্যকরভাবে নিয়ন্ত্রণ করতে ESP32-এর প্রসেসিং শক্তি ব্যবহার করে।

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

প্রস্তুতকারক Espressif Systems
পার্ট নম্বর ESP32
লজিক/IO ভোল্টেজ 3.3 V
সাপ্লাই ভোল্টেজ 5 V (সর্বোচ্চ)
আউটপুট কারেন্ট (প্রতি চ্যানেল) 40 mA
পিক কারেন্ট (প্রতি চ্যানেল) 160 mA
PWM ফ্রিকোয়েন্সি নির্দেশিকা 1 kHz - 40 kHz
ইনপুট লজিক থ্রেশহোল্ড 0.3 VCC (নিম্ন), 0.7 VCC (উচ্চ)
ভোল্টেজ ড্রপ / RDS(on) / স্যাচুরেশন 0.2 V (সাধারণ)
থার্মাল সীমা অপারেটিং তাপমাত্রা: -40°C থেকে 85°C
প্যাকেজ QFN48
নোট / ভেরিয়েন্ট বিভিন্ন ESP32 মডিউল উপলব্ধ

 

  • ক্ষতি এড়াতে সঠিক পাওয়ার সাপ্লাই নিশ্চিত করুন।
  • কারেন্ট সীমিত করতে বুজারের সাথে একটি রেজিস্টর ব্যবহার করুন।
  • হস্তক্ষেপ কমাতে সিগন্যাল তার ছোট রাখুন।
  • ডিজিটাল ইনপুটের জন্য প্রয়োজন হলে পুল-আপ রেজিস্টর ব্যবহার করুন।
  • আল্ট্রাসনিক সেন্সরের সর্বোচ্চ পরিসীমা সম্পর্কে সতর্ক থাকুন।

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

ESP32-32-Reversing-aid-wriing

প্রকল্পের জন্য উপাদানগুলি সংযোগ করতে, আল্ট্রাসনিক সেন্সর সংযোগ করে শুরু করুন। সেন্সরের VCC পিনটি 5V পাওয়ার লাইনের সাথে এবং GND পিনটি গ্রাউন্ডের সাথে সংযোগ করুন। Trig পিনটি ESP32-এর পিন 26-এর সাথে সংযুক্ত করা উচিত এবং Echo পিনটি পিন 25-এর সাথে সংযুক্ত করা উচিত।

ESP32-32-রিভার্সিং-সহায়তা-স্কিম্যাটিক

এরপর, বুজারটি তার পজিটিভ লিড ESP32-এর পিন 14-এর সাথে এবং নেগেটিভ লিড গ্রাউন্ডের সাথে সংযুক্ত করে ওয়্যার করুন। LCD-এর জন্য, VCC পিনটি 5V লাইনের সাথে এবং GND পিনটি গ্রাউন্ডের সাথে সংযোগ করুন। LCD-এর SDA এবং SCL পিনগুলি যথাক্রমে পিন 21 এবং 22-এর সাথে সংযুক্ত করা উচিত। অপারেশনের সময় যেকোনো বিচ্ছিন্নতা এড়াতে সমস্ত সংযোগ নিরাপদ কিনা তা নিশ্চিত করুন।

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

কোডে, আপনি distance-এর মতো মূল শনাক্তকারী পাবেন, যা আল্ট্রাসনিক সেন্সর থেকে পরিমাপ করা দূরত্ব সংরক্ষণ করে। এই ভেরিয়েবলটি বর্তমান দূরত্ব প্রতিফলিত করতে লুপে ক্রমাগত আপডেট হয়। বুজারের পিনটি buzzerPin হিসাবে সংজ্ঞায়িত, যা এর অবস্থা সহজে নিয়ন্ত্রণ করতে দেয়।

const int triggerPin = 26; // আল্ট্রাসনিক সেন্সরের জন্য ট্রিগার পিন
const int echoPin = 25;    // আল্ট্রাসনিক সেন্সরের জন্য ইকো পিন
const int buzzerPin = 14;  // বুজার পিন

এই ধ্রুবকগুলি স্পষ্টতা এবং সহজ সমন্বয়ের জন্য কোডের শুরুতে সংজ্ঞায়িত করা হয়েছে। ট্রিগার এবং ইকো পিনগুলি আল্ট্রাসনিক সেন্সরের সাথে যোগাযোগ করতে ব্যবহৃত হয়, যখন বুজার পিন শব্দ আউটপুট নিয়ন্ত্রণ করে।

void setup() {
  pinMode(triggerPin, OUTPUT); // ট্রিগার পিন আউটপুট হিসাবে সেট করুন
  pinMode(echoPin, INPUT);      // ইকো পিন ইনপুট হিসাবে সেট করুন
  pinMode(buzzerPin, OUTPUT);    // বুজার পিন আউটপুট হিসাবে সেট করুন
}

setup() ফাংশনে, আমরা আল্ট্রাসনিক সেন্সর এবং বুজারের জন্য পিন মোড কনফিগার করি। এটি নিশ্চিত করে যে ESP32 অপারেশনের সময় হার্ডওয়্যার উপাদানগুলির সাথে সঠিকভাবে ইন্টারঅ্যাক্ট করতে পারে।

void loop() {
  distance = readDistance();  // দূরত্ব পড়তে ফাংশন কল করুন
  if (distance <= 10) {
    beep(100); // কাছের দূরত্বের জন্য দ্রুত বিপ
  } else if (distance <= 20) {
    beep(500); // মাঝারি দূরত্বের জন্য মাঝারি বিপ
  } else {
    beep(2000); // নিরাপদ দূরত্বের জন্য ধীর বিপ
  }
}

loop() ফাংশনটি ক্রমাগত দূরত্ব পড়ে এবং মানের উপর ভিত্তি করে বাজারের বিপিং ফ্রিকোয়েন্সি সামঞ্জস্য করে। বাধা কতটা কাছে তার উপর নির্ভর করে beep() ফাংশনটি বিভিন্ন ব্যবধানে কল করা হয়।

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

একবার সবকিছু সংযুক্ত এবং কোড আপলোড করা হলে, আপনি আশা করতে পারেন যে সিস্টেমটি বাধার দূরত্বের উপর ভিত্তি করে বিভিন্ন ব্যবধানে বিপ করবে। যখন দূরত্ব ১০ সেমির কম হয়, তখন বাজারটি দ্রুত বিপ করবে, যখন ৫০ সেমির বেশি দূরত্বের ফলে ধীর বিপ হবে। আল্ট্রাসনিক সেন্সরের সামনে আপনার হাত রেখে সিস্টেমটি পরীক্ষা করতে ভুলবেন না যাতে দূরত্ব রিডিং এবং সংশ্লিষ্ট বিপিং হার পরিবর্তন দেখা যায় (ভিডিওতে ১২:৩০ এ)।

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

  • ০০:০০ শুরু
  • ২:০৮ ভূমিকা এবং ডক্স
  • ৪:১২ ওয়্যারিং ব্যাখ্যা
  • ১৩:১৭ আরডুইনো কোড
  • ২১:০১ আরডুইনো আইডিইতে ESP৩২ বোর্ড এবং COM পোর্ট নির্বাচন
  • ২২:৪৮ ল্যাবে ডেমো
  • ২৪:৫৪ গাড়িতে ডেমো

ছবি

ESP32-32-Reversing-aid-wriing
ESP32-32-Reversing-aid-wriing
ESP32 reversing aid project
ESP32 reversing aid project
ESP32-32-Reversing-aid-schematic
ESP32-32-Reversing-aid-schematic
কোন কোড সংযুক্ত নেই।

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

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

ফাইলসমূহ📁

ফ্রিটজিং ফাইল