সুচিপত্র:

অতিস্বনক ভিত্তিক পজিশনিং সিস্টেম: 4 টি ধাপ (ছবি সহ)
অতিস্বনক ভিত্তিক পজিশনিং সিস্টেম: 4 টি ধাপ (ছবি সহ)
Anonim
অতিস্বনক ভিত্তিক পজিশনিং সিস্টেম
অতিস্বনক ভিত্তিক পজিশনিং সিস্টেম

Arduino ডিভাইসের জন্য আমি যে আল্ট্রাসনিক রাডারের সংস্করণ পেয়েছি (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) খুব সুন্দর রাডার কিন্তু সেগুলো সবই "অন্ধ"। আমি বলতে চাচ্ছি, রাডার কিছু সনাক্ত করে কিন্তু এটি কি সনাক্ত করছে?

তাই আমি নিজেকে একটি সিস্টেম বিকাশ করার প্রস্তাব দিচ্ছি যা objets সনাক্ত করতে এবং তাদের সনাক্ত করতে সক্ষম। অন্য কথায় জিপিএস ডিভাইস ব্যবহার না করে একটি পজিশনিং সিস্টেম কিন্তু অতিস্বনক ডিটেক্টর।

এই ফলাফল আমি আশা করি আপনি পছন্দ করেন।

ধাপ 1: এটি কিভাবে কাজ করে?

এটা কিভাবে কাজ করে?
এটা কিভাবে কাজ করে?

পজিশনিং সিস্টেমগুলি তিনটি সেন্সর স্টেশন দ্বারা গঠিত হয় যেখানে অতিস্বনক ডিটেক্টর এবং id_node 1, 2 এবং 3 একটি আয়তক্ষেত্র বা বর্গক্ষেত্র তৈরি করে যা 90º এর কোণকে ঝাঁপ দেয় এবং যেখানে তাদের মধ্যে দূরত্বগুলি ছবি 1 এ দেখানো হিসাবে পরিচিত।

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 75.0;

এই সেন্সরগুলি অন্যান্য বস্তুর দূরত্ব এবং কোণের পরিমাপ করে যা id_node 3 এর চেয়ে বড় যার একটি অতিস্বনক আবিষ্কারকও রয়েছে যা 170 an কোণকে ঝাড়ু দেয়।

তারা সবাই দূরত্ব, কোণ পরিমাপ এবং id_node অন্য মাস্টার স্টেশনে বেতার যোগাযোগ ব্যবহার করে বিশ্লেষণ করে, ত্রিকোণমিতি গণনা ব্যবহার করে বস্তুর অবস্থান গণনা করে এবং তাদের সনাক্ত করে।

হস্তক্ষেপ এড়ানোর জন্য মাস্টার স্টেশন সমস্ত আল্ট্রাসোনিক ডিটেক্টরকে সেভাবে সিঙ্ক্রোনাইজ করে যে প্রতিটি মুহূর্তে শুধুমাত্র একটি অতিস্বনক আবিষ্কারক পরিমাপ করছে

এর পরে এবং একটি সিরিয়াল যোগাযোগ ব্যবহার করে মাস্টার স্টেশন ফলাফলগুলি চক্রান্ত করার জন্য একটি প্রসেসিং স্কেচে তথ্য (কোণ, দূরত্ব, id_object) পাঠায়।

ধাপ 2: তিনটি সেন্সর স্টেশন এবং বস্তুগুলি কীভাবে কনফিগার করবেন

কিভাবে তিনটি সেন্সর স্টেশন এবং অবজেক্ট কনফিগার করবেন
কিভাবে তিনটি সেন্সর স্টেশন এবং অবজেক্ট কনফিগার করবেন
কিভাবে তিনটি সেন্সর স্টেশন এবং অবজেক্ট কনফিগার করবেন
কিভাবে তিনটি সেন্সর স্টেশন এবং অবজেক্ট কনফিগার করবেন

প্রতিটি সেন্সর স্টেশনের একমাত্র কাজ হল বস্তু সনাক্ত করা এবং দূরত্ব, কোণ এবং আইডি নোডের তালিকা মাস্টার স্টেশনে পাঠানো।

তাই আপনাকে সনাক্তকরণ উন্নত করতে এবং সনাক্তকরণ অঞ্চল সীমাবদ্ধ করার জন্য অনুমোদিত সর্বোচ্চ সনাক্তকরণ দূরত্ব (“বৈধ_ম্যাক্স_ দূরত্ব”) এবং সর্বনিম্ন একটি (“বৈধ_মিন_ দূরত্ব”) (সেন্টিমিটার) আপডেট করতে হবে:

int valid_max_distance = 80;

int valid_min_distance = 1;

এই সেন্সর স্টেশনগুলির আইডি নোড (নীচের কোডে "এই_নোড" হল 1, 2 এবং 3 এবং মাস্টার স্টেশনের আইডি নোড 0।

const uint16_t this_node = 01; // অক্টাল ফরম্যাটে আমাদের নোডের ঠিকানা (Node01, Node02, Node03)

const uint16_t other_node = 00; // অক্টাল ফরম্যাটে মাস্টার নোডের ঠিকানা (Node00)

প্রতিটি সেন্সর স্টেশন ঝাঁপ দেয় এবং 100º এর কোণ (নীচের কোডে "max_angle")

#সংজ্ঞায়িত করুন min_angle 0

#সর্বোচ্চ_এঙ্গেল 100 নির্ধারণ করুন

উপরে যেমন একটি বস্তুর একমাত্র কাজ হল বস্তু সনাক্ত করা এবং দূরত্ব, কোণ এবং আইডি বস্তুর তালিকা মাস্টার স্টেশনে পাঠানো। একটি বস্তুর আইডি (নীচের কোডে "এই_নোড") 3 এর চেয়ে বড় হতে হবে।

প্রতিটি বস্তু 170º এর কোণ এবং কোণ এবং উপরের হিসাবে, সর্বাধিক এবং সর্বনিম্ন সনাক্তকরণ দূরত্ব আপডেট করা সম্ভব।

const uint16_t this_node = 04; // অক্টাল ফরম্যাটে আমাদের নোডের ঠিকানা (Node04, Node05,…)

const uint16_t other_node = 00; // মাস্টার নোডের ঠিকানা (Node00) অক্টাল ফরম্যাটে int valid_max_distance = 80; int valid_min_distance = 1; #ডিফাইন মিনি_এঙ্গেল 0 #ডিফাইন ম্যাক্স_এঙ্গল 170

ধাপ 3: কিভাবে মাস্টার স্টেশন কনফিগার করবেন

কিভাবে মাস্টার স্টেশন কনফিগার করবেন
কিভাবে মাস্টার স্টেশন কনফিগার করবেন
কিভাবে মাস্টার স্টেশন কনফিগার করবেন
কিভাবে মাস্টার স্টেশন কনফিগার করবেন
কিভাবে মাস্টার স্টেশন কনফিগার করবেন
কিভাবে মাস্টার স্টেশন কনফিগার করবেন

মাস্টার স্টেশনের কাজ হল সেন্সর স্টেশন এবং বস্তুর ট্রান্সমিশন গ্রহণ করা এবং সিরিয়াল পোর্ট ব্যবহার করে ফলাফলগুলি একটি প্লাস্টিং স্কেচে পাঠানো। তদুপরি সমস্ত বস্তু এবং তিনটি সেন্সর স্টেশনগুলিকে এইভাবে সিঙ্ক্রোনাইজ করে যে হস্তক্ষেপ এড়ানোর জন্য তাদের প্রত্যেকটি মাত্র একবার পরিমাপ করছে।

প্রথমে আপনাকে সেন্সর 1 এবং 2 এবং 2 এবং 3 এর মধ্যে দূরত্ব (সেন্টিমিটার) আপডেট করতে হবে।

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 70.0;

স্কেচ নিম্নলিখিত উপায়ে বস্তুর অবস্থান গণনা করে:

  • বস্তুর সমস্ত ট্রান্সমিশনের জন্য (id_node 3 এর বেশি) অতিস্বনক সেন্সরগুলির প্রতিটি ট্রান্সমিশনে একই দূরত্বের সন্ধান করুন (id_node 1, 2 বা 3)।
  • এই সমস্ত পয়েন্টগুলি "প্রার্থীদের" একটি তালিকা তৈরি করে (দূরত্ব, কোণ, id_node) একটি বস্তুর অবস্থান (স্কেচে "process_pointobject_with_pointssensor")।
  • পূর্ববর্তী তালিকার প্রতিটি "প্রার্থীর" জন্য, ফাংশন "candid_selected_between_sensor2and3" অতিস্বনক সেন্সর 2 এবং 3 এর দৃষ্টিকোণ থেকে গণনা করে যার মধ্যে নিম্নলিখিত ত্রিকোণমিতি অবস্থার সাথে মিল রয়েছে (ছবি 2 এবং 3 দেখুন)

float distancefroms2 = sin (radians (কোণ)) * দূরত্ব;

float distancefroms3 = cos (radians (angle_candidate)) * distance_candidate; // ত্রিকোণমিতি শর্ত 1 abs (distancefroms2 + distancefroms3 - distancebetween2and3) <= float (max_diference_distance)

উপরের হিসাবে, পূর্ববর্তী তালিকার প্রতিটি "প্রার্থীর" জন্য, "Candid_selected_between_sensor1and2" ফাংশনটি অতিস্বনক সেন্সর 1 এবং 2 এর দৃষ্টিকোণ থেকে গণনা করে, যার মধ্যে নিম্নলিখিত ত্রিকোণমিতির সম্পর্ক মেলে (ছবি 2 এবং 3 দেখুন)

float distancefroms1 = sin (radians (angle)) * distance; float distancefroms2 = cos (radians (angle_candidate)) * distance_candidate; // ত্রিকোণমিতি শর্ত 2 abs (distancefroms1 + distancefroms2 - distancebetween1and2) <= float (max_diference_distance)

শুধুমাত্র প্রার্থীরা (দূরত্ব, কোণ, id_node) যা ত্রিকোণমিতি শর্ত 1 এবং 2 এর সাথে মিলে যায় সেগুলি সেন্সর স্টেশন 1, 2 এবং 3 দ্বারা সনাক্তকৃত বস্তু।

তারপরে ফলাফলগুলি চক্রান্ত করার জন্য মাস্টার স্টেশন দ্বারা একটি প্রক্রিয়াকরণ স্কেচে পাঠানো হচ্ছে।

ধাপ 4: উপাদানের তালিকা

Image
Image

একটি সেন্সর স্টেশন বা একটি বস্তুর জন্য প্রয়োজনীয় উপাদানের তালিকা নিম্নরূপ:

  • ন্যানো বোর্ড
  • অতিস্বনক সেন্সর
  • মাইক্রো সার্ভো মোটর
  • NRF24L01 ওয়্যারলেস মডিউল
  • NRF24L01 অ্যাডাপ্টার

এবং মাস্টার স্টেশনের জন্য উপাদানগুলির তালিকা নিম্নরূপ:

  • ন্যানো বোর্ড
  • NRF24L01 ওয়্যারলেস মডিউল
  • NRF24L01 অ্যাডাপ্টার

প্রস্তাবিত: