সুচিপত্র:

Arduino সঙ্গে ইনফ্রারেড রাডার: 6 ধাপ
Arduino সঙ্গে ইনফ্রারেড রাডার: 6 ধাপ

ভিডিও: Arduino সঙ্গে ইনফ্রারেড রাডার: 6 ধাপ

ভিডিও: Arduino সঙ্গে ইনফ্রারেড রাডার: 6 ধাপ
ভিডিও: Blink LED with Arduino UNO and IR sensor at Home | DIY projects | 2024, নভেম্বর
Anonim
Image
Image

এই ছোট প্রকল্পে আমি আপনাকে দেখাতে চাই কিভাবে আপনি Arduino এর সাহায্যে বাড়িতে একটি সহজ রাডার তৈরি করতে পারেন। ইন্টারনেটে অনেকগুলি অনুরূপ প্রকল্প রয়েছে, কিন্তু তারা সবাই দূরত্ব পরিমাপের জন্য একটি অতিস্বনক সেন্সর ব্যবহার করছে। এই প্রকল্পে আমি দূরত্ব পরিমাপের জন্য একটি ইনফ্রারেড সেন্সর ব্যবহার করি।

আমার লক্ষ্য এটি দিয়ে একটি খুব সহজ এবং সস্তা LIDAR সিস্টেম তৈরি করা এবং একটি ম্যাপিং ডিভাইস বাস্তবায়ন করা।

সরবরাহ

  • Arduino (আমি একটি ম্যাপেল মিনি ব্যবহার করেছি)
  • তীব্র দূরত্ব সেন্সর (আমি শার্প GP2Y0A02YK0F ব্যবহার করেছি)
  • মাইক্রো সার্ভো (9 গ্রাম)
  • ব্রেডবোর্ড, তার
  • Ptionচ্ছিক: 4.7k প্রতিরোধক, 100nF ক্যাপাসিটর

ধাপ 1: অতিস্বনক ভিএস ইনফ্রারেড সেন্সর

পরিকল্পিত
পরিকল্পিত

অতিস্বনক এবং ইনফ্রারেড দূরত্ব সেন্সরের মধ্যে প্রধান পার্থক্য হল যে অতিস্বনক সেন্সর বিস্তৃত পরিসরে দূরত্ব পরিমাপ করে। অতএব এটি একটি বাধার অবস্থান সঠিকভাবে সনাক্ত করতে সক্ষম নয়। এর মানে হল যে এটি নিকটতম বস্তুর দূরত্ব পরিমাপ করে যা একটি ~ +-30 ° কোণ পরিসরের মধ্যে অবস্থিত।

অবশ্যই, এর অর্থ এই নয় যে শার্প সেন্সরটি আরও ভাল। কখনও কখনও এই সম্পত্তি খুব দরকারী হতে পারে (যেমন মাটি থেকে উচ্চতা পরিমাপ করতে ড্রোন দ্বারা ব্যবহৃত)। সঠিক পছন্দ সম্পূর্ণরূপে আপনার প্রকল্পের প্রয়োজনীয়তার উপর নির্ভর করে।

ধাপ 2: পরিকল্পিত

পরিকল্পিত
পরিকল্পিত
পরিকল্পিত
পরিকল্পিত

অংশগুলির মধ্যে সংযোগ তৈরি করা খুব সহজ। আপনার Arduino বোর্ডে একটি PWM আউটপুট এবং একটি এনালগ ইনপুট নির্বাচন করুন এবং সেই পিনের সাথে Servo এবং Sharp দূরত্বের সেন্সর সংযুক্ত করুন। আমি এই উদ্দেশ্যে নিম্নলিখিত পিন ব্যবহার করেছি:

  • PA0: শার্প দূরত্ব সেন্সরের জন্য এনালগ ইনপুট
  • PA9: Servo এর জন্য PWM আউটপুট

কখনও কখনও শার্প আইআর সেন্সরে গোলমাল আউটপুট থাকতে পারে, তাই আপনাকে এটিতে একটি সাধারণ লো পাস ফিল্টার লাগাতে হবে। এনালগ পিনে গোলমাল কমাতে আমি 4.7k রোধকারী এবং 100nF ক্যাপাসিটর ব্যবহার করেছি। তাছাড়া আমি কোডে পরিমাপ করা মানটি একাধিকবার পড়ে এবং গড় গণনা করে ফিল্টার করেছি।

ধাপ 3: সেন্সর বৈশিষ্ট্য

সেন্সর বৈশিষ্ট্য
সেন্সর বৈশিষ্ট্য
সেন্সর বৈশিষ্ট্য
সেন্সর বৈশিষ্ট্য

দুর্ভাগ্যক্রমে ব্যবহৃত ইনফ্রারেড দূরত্ব সেন্সরের অ-রৈখিক বৈশিষ্ট্য রয়েছে। এর মানে হল যে দূরত্ব পেতে, এটি পরিমাপকৃত ADC মানকে একটি ধ্রুবক মান দিয়ে গুণ করা এবং এটিতে আরেকটি ধ্রুবক মান যোগ করা যথেষ্ট নয়।

যদিও সেন্সরের ডেটশীট বৈশিষ্ট্য প্রদান করে, আমি নির্দিষ্ট প্রকল্পে এটি নিজের দ্বারা পরিমাপ করতে পছন্দ করি (এটি ব্যবহৃত ভোল্টেজের উপর নির্ভর করতে পারে)। এর জন্য, আমি পরিমাপকৃত এডিসি মান এবং প্রতি 10 সেন্টিমিটারের দূরত্ব থেকে জোড়া তৈরি করেছি। (আমার সেন্সর 12 সেমি থেকে সঠিক দূরত্ব পরিমাপ করতে সক্ষম হয়েছিল)।

আমি লিনিয়ার ইন্টারপোলেশনের সাথে সঠিক দূরত্ব পেতে কোডে এই জোড়াগুলি ব্যবহার করেছি।

বৈশিষ্ট্যগত পরিমাপের সময় ADC মান পরিমাপ করার জন্য আপনি নথির শেষে একটি সহজ Arduino কোড পাবেন।

ধাপ 4: সিরিয়াল যোগাযোগ

সিরিয়াল যোগাযোগ
সিরিয়াল যোগাযোগ

আমি পিসিতে পরিমাপ করা কোণ-দূরত্বের মান পাঠানোর জন্য সিরিয়াল যোগাযোগ ব্যবহার করেছি। যেহেতু আমাকে একাধিক বাইট এবং বিভিন্ন ধরণের বার্তা পাঠাতে হবে, তাই আমি একটি সহজ যোগাযোগ প্রোটোকল ডিজাইন করেছি।

এই প্রোকোটল একটি জেনেরিক উপায়ে বিভিন্ন বার্তার ধরন সংজ্ঞায়িত করতে সক্ষম করে। এই প্রকল্পে আমি 2 বার্তা প্রকার ব্যবহার করেছি:

  • প্যারামিটার: পিসি অ্যাপ্লিকেশনে প্যারামিটার পাঠাতে ব্যবহৃত হয়, আরডুইনোতে সংজ্ঞায়িত করা হয় যেমন সর্বোচ্চ দূরত্ব এবং একটি রাউন্ডে বাধার সংখ্যা।
  • বাধা: একটি সনাক্ত বাধা পাঠাতে ব্যবহৃত হয়। এটি servo এবং পরিমাপ দূরত্ব কোণ দ্বারা চিহ্নিত করা হয়। পিসি অ্যাপ্লিকেশন দ্বারা xY অবস্থান গণনা করা হবে।

ধাপ 5: Qt আবেদন

Qt আবেদন
Qt আবেদন

Arduino এর সাথে যোগাযোগ করতে এবং রাডারের মত পরিমাপ করা বিন্দু আঁকতে আমি Qt (C ++) এ একটি পিসি অ্যাপ্লিকেশন তৈরি করেছি। এটি কিছু প্যারামিটার (Arduino তে সংজ্ঞায়িত) এবং পরিমাপ করা দূরত্ব পয়েন্টগুলি গ্রহণ করে।

আপনি অ্যাপ্লিকেশন এবং এর সোর্স কোড ডাউনলোড করতে পারেন।

ধাপ 6: Arduino সোর্স কোড

আপনি ম্যাক্রো সহ কোডের শীর্ষে কিছু প্যারামিটার কাস্টমাইজ করতে পারেন।

মনে রাখবেন, যদি আপনি শার্প দূরত্বের সেন্সরের বৈশিষ্ট্য পরিবর্তন করেন, তাহলে আপনাকে distAdcMap অ্যারের মান পরিবর্তন করতে হবে!

  • InfraRadar.c: রাডার কোড। আপনার Arduino প্রকল্পে কপি এবং পেস্ট করুন।
  • InfraRadarMeasurement.c: চরিত্রগত পরিমাপের জন্য কোড। আপনার Arduino প্রকল্পে কপি এবং পেস্ট করুন। ADC এর মান পরীক্ষা করতে সিরিয়াল কনসোল ব্যবহার করুন।

প্রস্তাবিত: