সুচিপত্র:
- ধাপ 1: এটি কিভাবে কাজ করে?
- ধাপ 2: তিনটি সেন্সর স্টেশন এবং বস্তুগুলি কীভাবে কনফিগার করবেন
- ধাপ 3: কিভাবে মাস্টার স্টেশন কনফিগার করবেন
- ধাপ 4: উপাদানের তালিকা
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
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: উপাদানের তালিকা
একটি সেন্সর স্টেশন বা একটি বস্তুর জন্য প্রয়োজনীয় উপাদানের তালিকা নিম্নরূপ:
- ন্যানো বোর্ড
- অতিস্বনক সেন্সর
- মাইক্রো সার্ভো মোটর
- NRF24L01 ওয়্যারলেস মডিউল
- NRF24L01 অ্যাডাপ্টার
এবং মাস্টার স্টেশনের জন্য উপাদানগুলির তালিকা নিম্নরূপ:
- ন্যানো বোর্ড
- NRF24L01 ওয়্যারলেস মডিউল
- NRF24L01 অ্যাডাপ্টার
প্রস্তাবিত:
রঙ বাছাই সিস্টেম: দুটি বেল্ট সহ Arduino ভিত্তিক সিস্টেম: 8 টি ধাপ
রঙ বাছাই ব্যবস্থা: দুইটি বেল্ট সহ আরডুইনো ভিত্তিক সিস্টেম: পরিবহন এবং/অথবা শিল্প ক্ষেত্রে পণ্য ও সামগ্রীর প্যাকেজিং পরিবাহক বেল্ট ব্যবহার করে তৈরি লাইন ব্যবহার করে সম্পন্ন করা হয়। সেই বেল্টগুলি নির্দিষ্ট গতিতে আইটেমটিকে এক বিন্দু থেকে অন্য স্থানে নিয়ে যেতে সাহায্য করে। কিছু প্রক্রিয়াকরণ বা শনাক্তকরণ কাজ হতে পারে
অতিস্বনক ভিত্তিক অ্যাক্সেস সিস্টেম: 6 ধাপ (ছবি সহ)
অতিস্বনক ভিত্তিক অ্যাক্সেস সিস্টেম: এইবার আমি আপনাকে একটি অতিস্বনক ভিত্তিক অ্যাক্সেস সিস্টেম উপস্থাপন করছি আমি মনে করি এটি আকর্ষণীয় হতে পারে এটি অতিস্বনক তরঙ্গের উপর ভিত্তি করে তাই এটি একটি কন্টাক্টলেস অ্যাক্সেস সিস্টেম যার জন্য অন্য কোন ইলেকট্রনিক যন্ত্রের প্রয়োজন নেই কিন্তু আপনার হাতের যেকোন বস্তু চেষ্টা করার জন্য
আবহাওয়া ভিত্তিক সঙ্গীত জেনারেটর (ESP8266 ভিত্তিক মিডি জেনারেটর): 4 টি ধাপ (ছবি সহ)
আবহাওয়া ভিত্তিক মিউজিক জেনারেটর (ESP8266 ভিত্তিক মিডি জেনারেটর): হাই, আজ আমি ব্যাখ্যা করব কিভাবে আপনার নিজের সামান্য আবহাওয়া ভিত্তিক মিউজিক জেনারেটর তৈরি করা যায়। এবং হালকা তীব্রতা এটা সম্পূর্ণ গান বা জ্যোতির্বিজ্ঞান করতে আশা করবেন না
6 DOF রোবোটিক আর্মের XYZ পজিশনিং এর জন্য Arduino Uno ব্যবহার করা: 4 টি ধাপ
6 DOF রোবোটিক আর্মের XYZ পজিশনিং এর জন্য Arduino Uno ব্যবহার করা: এই প্রকল্পটি XYZ বিপরীত গতিশীল অবস্থান প্রদান করার জন্য একটি সংক্ষিপ্ত এবং অপেক্ষাকৃত সহজ Arduino স্কেচ বাস্তবায়নের বিষয়ে। আমি একটি serv টি সার্ভো রোবোটিক বাহু তৈরি করেছিলাম কিন্তু যখন এটি চালানোর জন্য সফটওয়্যার খোঁজার কথা আসে, তখন কাস্ট ছাড়া আর তেমন কিছু ছিল না
অ্যারডুইনো ভিত্তিক স্বায়ত্তশাসিত বট অতিস্বনক সেন্সর ব্যবহার করে: 5 টি ধাপ (ছবি সহ)
অতিস্বনক সেন্সর ব্যবহার করে আরডুইনো ভিত্তিক স্বায়ত্তশাসিত বট মূলত এটি যা করে তা হ'ল এটি তার চলার পথে যে কোনও ধরণের বাধা সনাক্ত করে এবং সেরা পথ নির্ধারণ করে