সুচিপত্র:

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

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

ভিডিও: MPU-6000 এবং রাস্পবেরি পাই ব্যবহার করে মোশন ট্র্যাকিং: 4 টি ধাপ
ভিডিও: Gyro shootout: MPU6000 vs ICM20602 vs BMI270 and OSR4 mode for BMI Gyros! 2024, জুলাই
Anonim
Image
Image

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

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

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

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

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

1. এমপিইউ -6000

2. রাস্পবেরি পাই

3. I2C কেবল

4. রাস্পবেরি পাই এর জন্য I2C শিল্ড

5. ইথারনেট কেবল

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

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

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

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

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

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

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

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

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

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

পাশাপাশি ব্যবহারকারীদের স্বাচ্ছন্দ্যের জন্য, আমরা এখানে কোডটি ব্যাখ্যা করছি:

কোডিংয়ের প্রথম ধাপ হিসাবে, আপনাকে পাইথনের ক্ষেত্রে SMBus লাইব্রেরি ডাউনলোড করতে হবে কারণ এই লাইব্রেরি কোডে ব্যবহৃত ফাংশনগুলিকে সমর্থন করে। সুতরাং, লাইব্রেরি ডাউনলোড করতে আপনি নিম্নলিখিত লিঙ্কটি দেখতে পারেন:

pypi.python.org/pypi/smbus-cffi/0.5.1

আপনি এখান থেকে কাজের কোডটি অনুলিপি করতে পারেন:

এসএমবিএস আমদানি করুন

আমদানির সময়

# পান I2C বাসবাস = smbus. SMBus (1)

# MPU-6000 ঠিকানা, 0x68 (104)

# জাইরোস্কোপ কনফিগারেশন রেজিস্টার নির্বাচন করুন, 0x1B (27)

# 0x18 (24) পূর্ণ স্কেল পরিসীমা = 2000 ডিপিএস

bus.write_byte_data (0x68, 0x1B, 0x18)

# MPU-6000 ঠিকানা, 0x68 (104)

# এক্সেলরোমিটার কনফিগারেশন রেজিস্টার নির্বাচন করুন, 0x1C (28)

# 0x18 (24) পূর্ণ স্কেল পরিসীমা = +/- 16 গ্রাম

bus.write_byte_data (0x68, 0x1C, 0x18)

# MPU-6000 ঠিকানা, 0x68 (104)

# পাওয়ার ম্যানেজমেন্ট রেজিস্টার নির্বাচন করুন 1, 0x6B (107)

# 0x01 (01) xGyro রেফারেন্স সহ PLL

bus.write_byte_data (0x68, 0x6B, 0x01)

সময় ঘুম (0.8)

# MPU-6000 ঠিকানা, 0x68 (104)

# 0x3B (59), 6 বাইট থেকে ফিরে তথ্য পড়ুন

# এক্সেলরোমিটার এক্স-অ্যাক্সিস এমএসবি, এক্স-অ্যাক্সিস এলএসবি, ওয়াই-অ্যাক্সিস এমএসবি, ওয়াই-অ্যাক্সিস এলএসবি, জেড-অ্যাক্সিস এমএসবি, জেড-অ্যাক্সিস এলএসবি

data = bus.read_i2c_block_data (0x68, 0x3B, 6)

# ডেটা রূপান্তর করুন

xAccl = data [0] * 256 + data [1]

যদি xAccl> 32767:

xAccl -= 65536

yAccl = data [2] * 256 + data [3]

যদি yAccl> 32767:

yAccl -= 65536

zAccl = data [4] * 256 + data [5]

যদি zAccl> 32767:

zAccl -= 65536

# MPU-6000 ঠিকানা, 0x68 (104)

# 0x43 (67), 6 বাইট থেকে ফিরে তথ্য পড়ুন

# জাইরোমিটার এক্স-অ্যাক্সিস এমএসবি, এক্স-অ্যাক্সিস এলএসবি, ওয়াই-অ্যাক্সিস এমএসবি, ওয়াই-অ্যাক্সিস এলএসবি, জেড-অ্যাক্সিস এমএসবি, জেড-অ্যাক্সিস এলএসবি

data = bus.read_i2c_block_data (0x68, 0x43, 6)

# ডেটা রূপান্তর করুন

xGyro = data [0] * 256 + data [1]

যদি xGyro> 32767:

xGyro -= 65536

yGyro = data [2] * 256 + data [3]

যদি yGyro> 32767:

yGyro -= 65536

zGyro = data [4] * 256 + data [5]

যদি zGyro> 32767:

zGyro -= 65536

# স্ক্রিনে আউটপুট ডেটা

মুদ্রণ "এক্স-এক্সিসে এক্সিলারেশন: %d" %xAccl

"Y-Axis- তে অ্যাক্সিলারেশন: %d" %yAccl প্রিন্ট করুন

"Z-Axis- তে এক্সিলারেশন: %d" %zAccl প্রিন্ট করুন

"ঘূর্ণনের X- অক্ষ: %d" %xGyro প্রিন্ট করুন

"Y-Axis of Rotation: %d" %yGyro প্রিন্ট করুন

"ঘূর্ণনের Z- অক্ষ: %d" %zGyro প্রিন্ট করুন

কোডটি নিম্নলিখিত কমান্ড ব্যবহার করে কার্যকর করা হয়:

$> পাইথন MPU-6000.py gt; পাইথন MPU-6000.py

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

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

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

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

প্রস্তাবিত: