সুচিপত্র:

MPU-6000 এবং কণা ফোটন ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ
MPU-6000 এবং কণা ফোটন ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ

ভিডিও: MPU-6000 এবং কণা ফোটন ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ

ভিডিও: MPU-6000 এবং কণা ফোটন ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ
ভিডিও: Thorium: An energy solution - THORIUM REMIX 2011 2024, নভেম্বর
Anonim
Image
Image

MPU-6000 একটি 6-অ্যাক্সিস মোশন ট্র্যাকিং সেন্সর যার মধ্যে 3-অ্যাক্সিস অ্যাকসিলরোমিটার এবং 3-অ্যাক্সিস জাইরোস্কোপ রয়েছে। এই সেন্সরটি ত্রিমাত্রিক সমতলে কোন বস্তুর সঠিক অবস্থান এবং অবস্থানের দক্ষ ট্র্যাকিং করতে সক্ষম। এটি এমন সিস্টেমে নিযুক্ত করা যেতে পারে যার জন্য সর্বোচ্চ বিশুদ্ধতার জন্য অবস্থান বিশ্লেষণ প্রয়োজন।

এই টিউটোরিয়ালে পার্টিকেল ফোটন সহ MPU-6000 সেন্সর মডিউলের ইন্টারফেসিং চিত্রিত করা হয়েছে। ত্বরণ এবং ঘূর্ণন কোণের মান পড়ার জন্য, আমরা একটি I2c অ্যাডাপ্টারের সাথে কণা ব্যবহার করেছি এই I2C অ্যাডাপ্টার সেন্সর মডিউলের সাথে সংযোগ সহজ এবং আরো নির্ভরযোগ্য করে তোলে।

পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:

হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন

আমাদের কাজ সম্পাদনের জন্য প্রয়োজনীয় উপকরণগুলি নীচে উল্লিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:

1. এমপিইউ -6000

2. কণা ফোটন

3. I2C কেবল

4. কণা ফোটনের জন্য I2C শিল্ড

পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:

হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি

হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং কণা ফোটনের মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:

MPU-6000 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।

বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই। আপনার প্রয়োজন শুধু চারটি তারের!

VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।

এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।

ধাপ 3: মোশন ট্র্যাকিংয়ের জন্য কোড:

মোশন ট্র্যাকিংয়ের জন্য কোড
মোশন ট্র্যাকিংয়ের জন্য কোড

এখন কণা কোড দিয়ে শুরু করা যাক।

Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা application.h এবং spark_wiring_i2c.h লাইব্রেরি অন্তর্ভুক্ত করি। "application.h" এবং spark_wiring_i2c.h লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং কণার মধ্যে i2c যোগাযোগ সহজ করে।

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

#include #include // MPU-6000 I2C ঠিকানা হল 0x68 (104) #Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; অকার্যকর সেটআপ () {// সেট পরিবর্তনশীল Particle.variable ("i2cdevice", "MPU-6000"); Particle.variable ("xAccl", xAccl); Particle.variable ("yAccl", yAccl); Particle.variable ("zAccl", zAccl); Particle.variable ("xGyro", xGyro); Particle.variable ("yGyro", yGyro); Particle.variable ("zGyro", zGyro); // মাস্টার ওয়্যার হিসাবে I2C যোগাযোগ শুরু করুন (); // সিরিয়াল যোগাযোগ শুরু করুন, বড রেট সেট করুন = 9600 সিরিয়াল.বেগিন (9600); // I2C ট্রান্সমিশন শুরু Wire.beginTransmission (Addr); // জাইরোস্কোপ কনফিগারেশন রেজিস্টার Wire.write নির্বাচন করুন (0x1B); // পূর্ণ স্কেল পরিসীমা = 2000 ডিপিএস Wire.write (0x18); // স্টপ I2C ট্রান্সমিশন Wire.endTransmission (); // I2C ট্রান্সমিশন শুরু করুন Wire.beginTransmission (Addr); // অ্যাকসিলরোমিটার কনফিগারেশন রেজিস্টার Wire.write (0x1C) নির্বাচন করুন; // সম্পূর্ণ স্কেল পরিসীমা = +/- 16g Wire.write (0x18); // স্টপ I2C ট্রান্সমিশন Wire.endTransmission (); // I2C ট্রান্সমিশন শুরু Wire.beginTransmission (Addr); // পাওয়ার ম্যানেজমেন্ট রেজিস্টার Wire.write (0x6B) নির্বাচন করুন; // xGyro রেফারেন্স Wire.write সঙ্গে PLL (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) {data [0] = Wire.read (); ডেটা [1] = ওয়্যার.রেড (); ডেটা [2] = ওয়্যার.রেড (); ডেটা [3] = ওয়্যার.রেড (); তথ্য [4] = Wire.read (); তথ্য [5] = ওয়্যার.রেড (); } বিলম্ব (800); // ডেটা রূপান্তর করুন xAccl = ((data [1] * 256) + data [0]); যদি (xAccl> 32767) {xAccl -= 65536; } yAccl = ((data [3] * 256) + data [2]); যদি (yAccl> 32767) {yAccl -= 65536; } zAccl = ((data [5] * 256) + data [4]); যদি (zAccl> 32767) {zAccl -= 65536; } বিলম্ব (800); // I2C ট্রান্সমিশন শুরু করুন Wire.beginTransmission (Addr); // ডাটা রেজিস্টার Wire.write নির্বাচন করুন (0x43); // I2C ট্রান্সমিশন Wire.endTransmission () বন্ধ করুন; // অনুরোধ 6 বাইট ডেটা Wire.requestFrom (Addr, 6); // তথ্য 6 বাইট পড়ুন যদি (Wire.available () == 6) {data [0] = Wire.read (); ডেটা [1] = ওয়্যার.রেড (); ডেটা [2] = ওয়্যার.রেড (); ডেটা [3] = ওয়্যার.রেড (); তথ্য [4] = Wire.read (); তথ্য [5] = ওয়্যার.রেড (); } // ডেটা রূপান্তর করুন xGyro = ((data [1] * 256) + data [0]); যদি (xGyro> 32767) {xGyro -= 65536; } yGyro = ((data [3] * 256) + data [2]); যদি (yGyro> 32767) {yGyro -= 65536; } zGyro = ((data [5] * 256) + data [4]); যদি (zGyro> 32767) {zGyro -= 65536; } // ড্যাশবোর্ড Particle.publish এ আউটপুট ডেটা ("এক্স-এক্সিসে এক্সিলারেশন:", স্ট্রিং (xAccl)); বিলম্ব (1000); Particle.publish ("Y-Axis- এ ত্বরণ:", স্ট্রিং (yAccl)); বিলম্ব (1000); Particle.publish ("Z-Axis- এ এক্সিলারেশন:", স্ট্রিং (zAccl)); বিলম্ব (1000); Particle.publish ("ঘূর্ণনের X- অক্ষ:", স্ট্রিং (xGyro)); বিলম্ব (1000); Particle.publish ("ঘূর্ণনের Y- অক্ষ:", স্ট্রিং (yGyro)); বিলম্ব (1000); Particle.publish ("ঘূর্ণনের Z- অক্ষ:", স্ট্রিং (zGyro)); বিলম্ব (1000); }

Particle.variable () ফাংশন সেন্সরের আউটপুট সংরক্ষণ করার জন্য ভেরিয়েবল তৈরি করে এবং Particle.publish () ফাংশন সাইটের ড্যাশবোর্ডে আউটপুট প্রদর্শন করে।

আপনার রেফারেন্সের জন্য উপরের ছবিতে সেন্সর আউটপুট দেখানো হয়েছে।

ধাপ 4: অ্যাপ্লিকেশন:

অ্যাপ্লিকেশন
অ্যাপ্লিকেশন

MPU-6000 একটি মোশন ট্র্যাকিং সেন্সর, যা স্মার্টফোন এবং ট্যাবলেটগুলির মোশন ইন্টারফেসে এর প্রয়োগ খুঁজে পায়। স্মার্টফোনে এই সেন্সরগুলি অ্যাপ্লিকেশনগুলিতে ব্যবহার করা যেতে পারে যেমন অ্যাপ্লিকেশনগুলির জন্য অঙ্গভঙ্গি কমান্ড এবং ফোন নিয়ন্ত্রণ, বর্ধিত গেমিং, বর্ধিত বাস্তবতা, প্যানোরামিক ছবি তোলা এবং দেখা এবং পথচারী এবং যানবাহন চলাচল। মোশনট্র্যাকিং প্রযুক্তি হ্যান্ডসেট এবং ট্যাবলেটগুলিকে শক্তিশালী 3 ডি বুদ্ধিমান ডিভাইসে রূপান্তর করতে পারে যা স্বাস্থ্য এবং ফিটনেস পর্যবেক্ষণ থেকে শুরু করে অবস্থান-ভিত্তিক পরিষেবাগুলিতে ব্যবহার করা যেতে পারে।

প্রস্তাবিত: