সুচিপত্র:
- পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:
- পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:
- ধাপ 3: মোশন ট্র্যাকিংয়ের জন্য কোড:
- ধাপ 4: অ্যাপ্লিকেশন:
ভিডিও: MPU-6000 এবং Arduino Nano ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
MPU-6000 একটি 6-অ্যাক্সিস মোশন ট্র্যাকিং সেন্সর যার মধ্যে 3-অ্যাক্সিস অ্যাকসিলরোমিটার এবং 3-অ্যাক্সিস জাইরোস্কোপ রয়েছে। এই সেন্সরটি ত্রিমাত্রিক সমতলে কোন বস্তুর সঠিক অবস্থান এবং অবস্থানের দক্ষ ট্র্যাকিং করতে সক্ষম। এটি এমন সিস্টেমে নিযুক্ত করা যেতে পারে যার জন্য সর্বোচ্চ বিশুদ্ধতার জন্য অবস্থান বিশ্লেষণ প্রয়োজন।
এই টিউটোরিয়ালে MPU-6000 সেন্সর মডিউলের আরডুইনো ন্যানো সহ ইন্টারফেসিং চিত্রিত করা হয়েছে। ত্বরণ এবং ঘূর্ণন কোণের মান পড়ার জন্য, আমরা একটি I2c অ্যাডাপ্টারের সাথে arduino ন্যানো ব্যবহার করেছি এই I2C অ্যাডাপ্টার সেন্সর মডিউলের সাথে সংযোগ সহজ এবং আরো নির্ভরযোগ্য করে তোলে।
পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:
আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:
1. এমপিইউ -6000
2. Arduino Nano
3. I2C কেবল
4. Arduino ন্যানোর জন্য I2C শিল্ড
পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:
হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং আরডুইনো ন্যানোর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:
MPU-6000 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।
বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই।
আপনার প্রয়োজন শুধু চারটি তারের! VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।
এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।
ধাপ 3: মোশন ট্র্যাকিংয়ের জন্য কোড:
এখন আরডুইনো কোড দিয়ে শুরু করা যাক।
Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা Wire.h লাইব্রেরি অন্তর্ভুক্ত করি। "ওয়্যার" লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং আরডুইনো বোর্ডের মধ্যে i2c যোগাযোগকে সহজতর করে।
ব্যবহারকারীর সুবিধার জন্য সম্পূর্ণ আরডুইনো কোড নিচে দেওয়া হল:
#অন্তর্ভুক্ত
// MPU-6000 I2C ঠিকানা হল 0x68 (104)
#সংযোজনকারী 0x68
অকার্যকর সেটআপ()
{
// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন
Wire.begin ();
// সিরিয়াল যোগাযোগ শুরু করুন, বড রেট = 9600 সেট করুন
Serial.begin (9600);
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// জাইরোস্কোপ কনফিগারেশন রেজিস্টার নির্বাচন করুন
Wire.write (0x1B);
// পূর্ণ স্কেল পরিসীমা = 2000 ডিপিএস
Wire.write (0x18);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// অ্যাকসিলরোমিটার কনফিগারেশন রেজিস্টার নির্বাচন করুন
Wire.write (0x1C);
// পূর্ণ স্কেল পরিসীমা = +/- 16 গ্রাম
Wire.write (0x18);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// পাওয়ার ম্যানেজমেন্ট রেজিস্টার নির্বাচন করুন
Wire.write (0x6B);
// xGyro রেফারেন্স সহ PLL
Wire.write (0x01);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
বিলম্ব (300);
}
অকার্যকর লুপ ()
{
স্বাক্ষরবিহীন int ডেটা [6];
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডাটা রেজিস্টার নির্বাচন করুন
Wire.write (0x3B);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 6 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 6);
// 6 বাইট ডেটা পড়ুন
যদি (Wire.available () == 6)
{
ডেটা [0] = ওয়্যার.রেড ();
ডেটা [1] = ওয়্যার.রেড ();
ডেটা [2] = ওয়্যার.রেড ();
ডেটা [3] = ওয়্যার.রেড ();
তথ্য [4] = Wire.read ();
তথ্য [5] = ওয়্যার.রেড ();
}
// তথ্য রূপান্তর
int xAccl = data [0] * 256 + data [1];
int yAccl = data [2] * 256 + data [3];
int zAccl = data [4] * 256 + data [5];
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডাটা রেজিস্টার নির্বাচন করুন
Wire.write (0x43);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 6 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 6);
// 6 বাইট ডেটা পড়ুন
যদি (Wire.available () == 6)
{
ডেটা [0] = ওয়্যার.রেড ();
ডেটা [1] = ওয়্যার.রেড ();
ডেটা [2] = ওয়্যার.রেড ();
ডেটা [3] = ওয়্যার.রেড ();
তথ্য [4] = Wire.read ();
তথ্য [5] = ওয়্যার.রেড ();
}
// তথ্য রূপান্তর
int xGyro = data [0] * 256 + data [1];
int yGyro = data [2] * 256 + data [3];
int zGyro = data [4] * 256 + data [5];
// সিরিয়াল মনিটরে আউটপুট ডেটা
সিরিয়াল.প্রিন্ট ("এক্স-এক্সিসে এক্সিলারেশন:");
Serial.println (xAccl);
Serial.print ("Y-Axis- এ ত্বরণ:");
Serial.println (yAccl);
সিরিয়াল.প্রিন্ট ("Z-Axis- এ এক্সিলারেশন:");
Serial.println (zAccl);
সিরিয়াল.প্রিন্ট ("ঘূর্ণনের এক্স-অক্ষ:");
Serial.println (xGyro);
সিরিয়াল.প্রিন্ট ("ঘূর্ণনের Y- অক্ষ:");
Serial.println (yGyro);
সিরিয়াল.প্রিন্ট ("ঘূর্ণনের জেড-অক্ষ:");
Serial.println (zGyro);
বিলম্ব (500);
}
ওয়্যার লাইব্রেরিতে Wire.write () এবং Wire.read () কমান্ড লিখতে এবং সেন্সর আউটপুট পড়তে ব্যবহৃত হয়।
Serial.print () এবং Serial.println () Arduino IDE এর সিরিয়াল মনিটরে সেন্সরের আউটপুট প্রদর্শন করতে ব্যবহৃত হয়।
সেন্সরের আউটপুট উপরের ছবিতে দেখানো হয়েছে।
ধাপ 4: অ্যাপ্লিকেশন:
MPU-6000 একটি মোশন ট্র্যাকিং সেন্সর, যা স্মার্টফোন এবং ট্যাবলেটগুলির মোশন ইন্টারফেসে এর প্রয়োগ খুঁজে পায়। স্মার্টফোনে এই সেন্সরগুলি অ্যাপ্লিকেশনগুলিতে ব্যবহার করা যেতে পারে যেমন অ্যাপ্লিকেশনগুলির জন্য অঙ্গভঙ্গি কমান্ড এবং ফোন নিয়ন্ত্রণ, বর্ধিত গেমিং, বর্ধিত বাস্তবতা, প্যানোরামিক ছবি তোলা এবং দেখা এবং পথচারী এবং যানবাহন চলাচল। মোশনট্র্যাকিং প্রযুক্তি হ্যান্ডসেট এবং ট্যাবলেটগুলিকে শক্তিশালী 3 ডি বুদ্ধিমান ডিভাইসে রূপান্তর করতে পারে যা স্বাস্থ্য এবং ফিটনেস পর্যবেক্ষণ থেকে শুরু করে অবস্থান-ভিত্তিক পরিষেবাগুলিতে ব্যবহার করা যেতে পারে।
প্রস্তাবিত:
Arduino এবং Solenoid ভালভ ব্যবহার করে মোশন সেন্সর ওয়াটার ট্যাপ - DIY: 6 টি ধাপ
আরডুইনো এবং সোলেনয়েড ভালভ ব্যবহার করে মোশন সেন্সর ওয়াটার ট্যাপ - DIY: এই প্রকল্পে, আমি আপনাকে দেখাব কিভাবে সোলেনয়েড ভালভ ব্যবহার করে মোশন সেন্সর ওয়াটার ট্যাপ তৈরি করা যায়। এই প্রকল্পটি আপনাকে আপনার বিদ্যমান ম্যানুয়াল ওয়াটার ট্যাপকে একটি ট্যাপে রূপান্তর করতে সাহায্য করতে পারে যা মোশন ডিটেকশনের উপর ভিত্তি করে নিয়ন্ত্রণ করা যায়। আইআর সেন্সর ইন্টারফেস ব্যবহার করে
Arduino ব্যবহার করে জিপিএস ট্র্যাকিং এবং সতর্কতা সহ মহিলাদের নিরাপত্তা ডিভাইস: 6 টি ধাপ
আরডুইনো ব্যবহার করে জিপিএস ট্র্যাকিং এবং সতর্কতা সহ মহিলাদের সুরক্ষা ডিভাইস: সাম্প্রতিক সময়ে আমাদের কাছে উপলব্ধ সমস্ত প্রযুক্তির সাথে, মহিলাদের জন্য একটি সুরক্ষা ডিভাইস তৈরি করা কঠিন নয় যা কেবল একটি জরুরি অ্যালার্ম তৈরি করবে না বরং আপনার বন্ধু, পরিবারকে একটি বার্তাও পাঠাবে , অথবা সংশ্লিষ্ট ব্যক্তি। এখানে আমরা একটি ব্যান্ড তৈরি করব
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
ইনফ্রারেড সেন্সর ব্যবহার করে আই মোশন ট্র্যাকিং: ৫ টি ধাপ
ইনফ্রারেড সেন্সর ব্যবহার করে চোখের মোশন ট্র্যাকিং: আমি চোখের গতিবিধি বুঝতে এবং LED নিয়ন্ত্রণ করতে একটি ইনফ্রারেড সেন্সর ব্যবহার করেছি।
ক্যাপাসিটিভ সেন্সিং এবং LED আউটপুটের মাধ্যমে Tfcd 3D মোশন ট্র্যাকিং: Ste টি ধাপ (ছবি সহ)
ক্যাপাসিটিভ সেন্সিং এবং এলইডি আউটপুটের মাধ্যমে Tfcd 3D মোশন ট্র্যাকিং: এই নির্দেশনায় ব্যাখ্যা করা হয়েছে কিভাবে ক্যাপাসিটিভ সেন্সিংয়ের নীতি ব্যবহার করে 3D স্পেসে হাতের গতিবিধি ট্র্যাক করা যায়। অ্যালুমিনিয়ামের চার্জযুক্ত ফয়েল এবং আপনার হাতের মধ্যে দূরত্ব পরিবর্তন করে, ক্যাপাসিটরের ক্ষমতা পরিবর্তিত হবে