MicroPython HC-SR04 অতিস্বনক সেন্সর - ESP32 এবং Thony IDE

Micropython Hc Sr04 Atisbanaka Sensara Esp32 Ebam Thony Ide



মাইক্রোকন্ট্রোলার এবং এমবেডেড সিস্টেমের সাথে মাইক্রোপাইথন ব্যাপকভাবে ব্যবহৃত হয়। আমরা MicroPython IDE এর ভিতরে কোড এবং লাইব্রেরি লিখতে পারি এবং একাধিক সেন্সর ইন্টারফেস করতে পারি। এই লেখাটি আপনাকে HC-SR04 সেন্সর সহ ESP32 ব্যবহার করে দূরত্ব পরিমাপের বিষয়ে গাইড করবে।

মাইক্রোপাইথন ব্যবহার করে HC-SR04 অতিস্বনক সেন্সর সহ ESP32

অতিস্বনক সঙ্গে ESP32 ইন্টারফেসিং শুধু দুটি তারের সংযুক্ত করা প্রয়োজন. অতিস্বনক সেন্সর ব্যবহার করে, আমরা বস্তুর দূরত্ব পরিমাপ করতে পারি এবং এই সিস্টেমের উপর ভিত্তি করে প্রতিক্রিয়া ট্রিগার করতে পারি যেমন গাড়ির সংঘর্ষ এড়ানো সিস্টেম।









মাইক্রোপাইথন ব্যবহার করে যা ESP32 এবং অন্যান্য মাইক্রোকন্ট্রোলারের জন্য একটি ডিজাইন করা ভাষা আমরা একাধিক সেন্সর ইন্টারফেস করতে পারি যেমন HC-SR04 . মাইক্রোপাইথন কোড লেখা হবে যা SONAR তরঙ্গের সেন্সর থেকে অবজেক্টে পৌঁছাতে এবং বস্তুতে ফিরে যেতে সময় গণনা করে। পরে দূরত্ব সূত্র ব্যবহার করে, আমরা বস্তুর দূরত্ব গণনা করতে পারি।



এখানে HC-SR04 সেন্সরের কিছু প্রধান হাইলাইট রয়েছে:





বৈশিষ্ট্য মান
অপারেটিং ভোল্টেজ 5V ডিসি
অপারেটিং বর্তমান 15mA
অপারেটিং ফ্রিকোয়েন্সি 40KHz
আমার পরিসীমা 2 সেমি/ 1 ইঞ্চি
সর্বোচ্চ পরিসীমা 400 সেমি/ 13 ফুট
সঠিকতা 3 মিমি
পরিমাপ কোণ <15 ডিগ্রী

HC-SR04 পিনআউট HC-SR04 নিম্নলিখিত আছে চার পিন:

  • ভিসিসি: ESP32 ভিন পিনের সাথে সংযোগ করুন
  • জিএনডি: GND এর সাথে সংযোগ করুন
  • ট্রিগ: ESP32 বোর্ড থেকে নিয়ন্ত্রণ সংকেত পেতে পিন করুন
  • প্রতিধ্বনি: সংকেত ফেরত পাঠান। মাইক্রোকন্ট্রোলার বোর্ড সময় ব্যবহার করে দূরত্ব গণনা করতে এই সংকেত গ্রহণ করে



কিভাবে অতিস্বনক কাজ করে

HC-SR04 সেন্সর ESP32 এর সাথে সংযুক্ত হওয়ার পরে একটি সংকেত ট্রিগ বোর্ড দ্বারা পিন তৈরি করা হবে। একবার HC-SR04 সেন্সরের ট্রিগ পিনে সংকেত প্রাপ্ত হলে একটি অতিস্বনক তরঙ্গ উৎপন্ন হবে যা সেন্সর ছেড়ে বস্তু বা বাধা বডিতে আঘাত করে। আঘাত করার পরে এটি বস্তুর পৃষ্ঠে ফিরে আসবে।

  পাঠ্য বিবরণ ধারণকারী একটি ছবি স্বয়ংক্রিয়ভাবে উত্পন্ন

একবার প্রতিফলিত তরঙ্গটি সেন্সরে পৌঁছে গেলে ইকো পিনে একটি সিগন্যাল পালস উৎপন্ন হবে। ESP32 ইকো পিন সংকেত গ্রহণ করে এবং ব্যবহার করে বস্তু এবং সেন্সরের মধ্যে দূরত্ব গণনা করে দূরত্ব-সূত্র।

  পাঠ্য বিবরণ স্বয়ংক্রিয়ভাবে তৈরি

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

পরিকল্পিত

অতিস্বনক সেন্সরের সাথে ESP32 ইন্টারফেস করার জন্য নিম্নোক্ত পরিকল্পিত:

  পাঠ্য ধারণকারী একটি ছবি, ইলেকট্রনিক্স বিবরণ স্বয়ংক্রিয়ভাবে উত্পন্ন

সেন্সরের ট্রিগার এবং ইকো পিন যথাক্রমে ESP32 এর GPIO 5 এবং GPIO 18 এর সাথে সংযুক্ত করুন। এছাড়াও সেন্সর পিনের সাথে ESP32 GND এবং Vin পিন সংযুক্ত করুন।

HC-SR04 অতিস্বনক সেন্সর ESP32 পিন
ট্রিগ GPIO 5
প্রতিধ্বনি GPIO 18
জিএনডি জিএনডি
ভিসিসি আসেন

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

অতিস্বনক সেন্সর প্রোগ্রাম করার জন্য নিম্নলিখিত উপাদানগুলির প্রয়োজন:

  • ESP32
  • HC-SR04
  • ব্রেডবোর্ড
  • জাম্পার তারের

  পাঠ্য বিবরণ ধারণকারী একটি ছবি স্বয়ংক্রিয়ভাবে উত্পন্ন

মাইক্রোপাইথন ব্যবহার করে ESP32 এর সাথে কিভাবে অতিস্বনক HC-SR04 সেটআপ করবেন

আমরা একটি অতিস্বনক সেন্সর দিয়ে ESP32 প্রোগ্রাম করার আগে আমাদের এটিতে একটি লাইব্রেরি ইনস্টল করতে হবে। পিসিতে ESP32 বোর্ড সংযুক্ত করুন। MicroPython ব্যবহার করে Thonny IDE-তে অতিস্বনক সেন্সর সহ ESP32 কনফিগারেশন সম্পূর্ণ করতে ধাপগুলি অনুসরণ করুন।

ধাপ 1: এবার Thonny IDE খুলুন। এডিটর উইন্ডোতে একটি নতুন ফাইল তৈরি করুন-এ যান : ফাইল>নতুন বা টিপুন Ctrl + N .

নতুন ফাইলটি খোলা হয়ে গেলে, থনি আইডিই সম্পাদক উইন্ডোতে নিম্নলিখিত কোডটি পেস্ট করুন।

আমদানি মেশিন , সময়
থেকে মেশিন আমদানি পিন

ক্লাস HCSR04:

# echo_timeout_us চিপ পরিসীমা সীমার উপর ভিত্তি করে (400cm)
ডিফ __গরম__ ( স্ব , ট্রিগার_পিন , ইকো_পিন , echo_timeout_us = 500 * দুই * 30 ) :

স্ব . echo_timeout_us = echo_timeout_us
# ইনিট ট্রিগার পিন (আউট)
স্ব . ট্রিগার = পিন ( ট্রিগার_পিন , মোড = পিন। আউট , টান = কোনোটিই নয় )
স্ব . ট্রিগার . মান ( 0 )

# Init ইকো পিন (ইন)
স্ব . প্রতিধ্বনি = পিন ( ইকো_পিন , মোড = পিন। ভিতরে , টান = কোনোটিই নয় )

ডিফ _পালস_পালস_এবং_অপেক্ষা করুন ( স্ব ) :

স্ব . ট্রিগার . মান ( 0 ) # সেন্সর স্থির করুন
সময় . ঘুমাও ( 5 )
স্ব . ট্রিগার . মান ( 1 )
# একটি 10us পালস পাঠান।
সময় . ঘুমাও ( 10 )
স্ব . ট্রিগার . মান ( 0 )
চেষ্টা করুন :
নাড়ি_সময় = মেশিন সময়_পালস_আমাদের ( স্ব . প্রতিধ্বনি , 1 , স্ব . echo_timeout_us )
প্রত্যাবর্তন নাড়ি_সময়
ছাড়া ওএসইরর হিসাবে উদাঃ
যদি প্রাক্তন args [ 0 ] == 110 : # 110 = ETIMEDOUT
বাড়াতে ওএসইরর ( 'সীমার বাইরে' )
বাড়াতে প্রাক্তন

ডিফ দূরত্ব_মিমি ( স্ব ) :

নাড়ি_সময় = স্ব ._পালস_পালস_এবং_অপেক্ষা করুন ( )

মিমি = নাড়ি_সময় * 100 // 582
প্রত্যাবর্তন মিমি

ডিফ দূরত্ব_সেমি ( স্ব ) :

নাড়ি_সময় = স্ব ._পালস_পালস_এবং_অপেক্ষা করুন ( )

সেমি = ( নাড়ি_সময় / দুই ) / 29.1
প্রত্যাবর্তন সেমি

ধাপ ২: লেখার পর লাইব্রেরি এডিটর উইন্ডোর ভিতরে কোডটি এখন আমাদের মাইক্রোপাইথন ডিভাইসের ভিতরে সংরক্ষণ করতে হবে।

  পাঠ্য, অ্যাপ্লিকেশন বিবরণ স্বয়ংক্রিয়ভাবে তৈরি

ধাপ 3: যাও : ফাইল> সংরক্ষণ করুন বা টিপুন Ctrl + S .

  গ্রাফিকাল ইউজার ইন্টারফেস, অ্যাপ্লিকেশন, টিমের বিবরণ স্বয়ংক্রিয়ভাবে তৈরি

ধাপ 4: একটি নতুন উইন্ডো প্রদর্শিত হবে। নিশ্চিত করুন যে ESP32 পিসির সাথে সংযুক্ত আছে। লাইব্রেরি ফাইল সংরক্ষণ করতে MicroPython ডিভাইস নির্বাচন করুন।

  গ্রাফিক্যাল ইউজার ইন্টারফেস, অ্যাপ্লিকেশন বিবরণ স্বয়ংক্রিয়ভাবে উত্পন্ন

ধাপ 5: নাম সহ অতিস্বনক লাইব্রেরি ফাইল সংরক্ষণ করুন hcsr04.py এবং ক্লিক করুন ঠিক আছে .

  গ্রাফিক্যাল ইউজার ইন্টারফেস, অ্যাপ্লিকেশন বিবরণ স্বয়ংক্রিয়ভাবে উত্পন্ন

এখন অতিস্বনক hcsr04 সেন্সর লাইব্রেরি সফলভাবে ESP32 বোর্ডে যোগ করা হয়েছে। এখন আমরা বিভিন্ন বস্তুর দূরত্ব পরিমাপ করতে কোডের ভিতরে লাইব্রেরি ফাংশনকে কল করতে পারি।

মাইক্রোপাইথন ব্যবহার করে অতিস্বনক সেন্সরের জন্য কোড

অতিস্বনক সেন্সর কোডের জন্য একটি নতুন ফাইল তৈরি করুন ( Ctrl + N ) সম্পাদক উইন্ডোতে, নীচের কোডটি প্রবেশ করান এবং এটির ভিতরে সংরক্ষণ করুন main.py বা boot.py ফাইল এই কোডটি HC-SR04 এর সামনে আসা যেকোনো বস্তুর দূরত্ব প্রিন্ট করবে।

  গ্রাফিকাল ইউজার ইন্টারফেস, টেক্সট, অ্যাপ্লিকেশন বর্ণনা স্বয়ংক্রিয়ভাবে তৈরি

কোড যেমন গুরুত্বপূর্ণ লাইব্রেরি কল করে শুরু HCSR04 এবং সময় সঙ্গে লাইব্রেরি ঘুম বিলম্ব দিতে

এর পরে, আমরা একটি নাম দিয়ে একটি নতুন বস্তু তৈরি করেছি সেন্সর . এই বস্তুটি তিনটি ভিন্ন আর্গুমেন্ট নিচ্ছে: ট্রিগার, ইকো এবং টাইমআউট। এখানে টাইমআউটকে সেন্সর সীমার বাইরে চলে যাওয়ার পরে সর্বাধিক সময় হিসাবে সংজ্ঞায়িত করা হয়েছে।

সেন্সর = HCSR04 ( ট্রিগার_পিন = 5 , ইকো_পিন = 18 , echo_timeout_us = 10000 )

দূরত্ব পরিমাপ এবং সংরক্ষণ করার জন্য একটি নতুন বস্তু নামে দূরত্ব সৃষ্ট. এই বস্তুটি সেমি দূরত্ব সংরক্ষণ করবে।

দূরত্ব = সেন্সর. দূরত্ব_সেমি ( )

mm এ ডাটা পেতে নিচের কোডটি লিখুন।

দূরত্ব = সেন্সর. দূরত্ব_মিমি ( )

এর পরে, আমরা MicroPython IDE শেলে ফলাফল প্রিন্ট করেছি।

ছাপা ( 'দূরত্ব:' , দূরত্ব , 'সেমি' )

শেষ পর্যন্ত 1 সেকেন্ডের বিলম্ব দেওয়া হয়।

ঘুম ( 1 )

সম্পূর্ণ কোড নীচে দেওয়া হল:

থেকে hcsr04 আমদানি HCSR04
থেকে সময় আমদানি ঘুম
# ESP32
সেন্সর = HCSR04 ( ট্রিগার_পিন = 5 , ইকো_পিন = 18 , echo_timeout_us = 10000 )
# ESP8266
#sensor = HCSR04(trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
যখন সত্য :
দূরত্ব = সেন্সর. দূরত্ব_সেমি ( )
ছাপা ( 'দূরত্ব:' , দূরত্ব , 'সেমি' )
ঘুম ( 1 )

মাইক্রোপাইথন ডিভাইসের ভিতরে কোড লেখা এবং সংরক্ষণ করার পরে, আমি এখন অতিস্বনক সেন্সর চালাচ্ছি main.py ফাইল কোড। প্লে বোতামে ক্লিক করুন বা টিপুন F5 .

  গ্রাফিক্যাল ইউজার ইন্টারফেস, পাঠ্য, অ্যাপ্লিকেশন, চ্যাট বা পাঠ্য বার্তা বর্ণনা স্বয়ংক্রিয়ভাবে তৈরি

বস্তুর কাছাকাছি হলে অতিস্বনক সেন্সরের আউটপুট

এখন অতিস্বনক সেন্সরের কাছে একটি বস্তু রাখুন এবং Arduino IDE এর সিরিয়াল মনিটরের উইন্ডোতে পরিমাপ করা দূরত্ব পরীক্ষা করুন।

  পাঠ্য বিবরণ ধারণকারী একটি ছবি স্বয়ংক্রিয়ভাবে উত্পন্ন

বস্তুর দূরত্ব শেল টার্মিনালে দেখানো হয়। এখন বস্তুটিকে অতিস্বনক সেন্সর থেকে 5 সেমি দূরে রাখা হয়েছে।

অতিস্বনক সেন্সরের আউটপুট যখন বস্তু দূরে থাকে

এখন আমাদের ফলাফল যাচাই করার জন্য আমরা সেন্সর থেকে অনেক দূরে বস্তু রাখব এবং অতিস্বনক সেন্সরের কাজ পরীক্ষা করব। নীচের ছবিতে দেখানো মত বস্তু রাখুন:

  পাঠ্য বিবরণ ধারণকারী একটি ছবি স্বয়ংক্রিয়ভাবে উত্পন্ন

আউটপুট উইন্ডো আমাদের একটি নতুন দূরত্ব দেবে এবং আমরা দেখতে পাচ্ছি যে বস্তুটি সেন্সর থেকে অনেক দূরে, তাই পরিমাপ করা দূরত্ব প্রায়। অতিস্বনক সেন্সর থেকে 15 সেমি.

  গ্রাফিক্যাল ইউজার ইন্টারফেস, অ্যাপ্লিকেশন, ওয়ার্ড বর্ণনা স্বয়ংক্রিয়ভাবে তৈরি

উপসংহার

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