সুচিপত্র:

রাস্পবেরি পাই MMA8452Q 3-অক্ষ 12-বিট/8-বিট ডিজিটাল অ্যাকসিলরোমিটার জাভা টিউটোরিয়াল: 4 ধাপ
রাস্পবেরি পাই MMA8452Q 3-অক্ষ 12-বিট/8-বিট ডিজিটাল অ্যাকসিলরোমিটার জাভা টিউটোরিয়াল: 4 ধাপ
Anonim
Image
Image

MMA8452Q হল একটি স্মার্ট, লো-পাওয়ার, তিন-অক্ষ, ক্যাপাসিটিভ, 12 বিট রেজোলিউশনের মাইক্রো-মেশিন অ্যাকসিলরোমিটার। নমনীয় ব্যবহারকারী প্রোগ্রামযোগ্য বিকল্পগুলি অ্যাক্সিলরোমিটারে এম্বেডেড ফাংশনগুলির সাহায্যে সরবরাহ করা হয়, দুটি ইন্টারাপ্ট পিনের জন্য কনফিগারযোগ্য। এটিতে ব্যবহারকারীর select 2g/± 4g/± 8g এর পূর্ণ-স্কেল রয়েছে যা উচ্চ-পাস ফিল্টার ফিল্টারড ডেটার পাশাপাশি নন-ফিল্টারড ডেটা রিয়েল-টাইমে উপলব্ধ। এখানে জাভা কোড ব্যবহার করে রাস্পবেরি পাই দিয়ে এর প্রদর্শন।

ধাপ 1: আপনার যা প্রয়োজন..

তুমি কি চাও..!!
তুমি কি চাও..!!

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

2. MMA8452Q

3. I²C কেবল

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

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

ধাপ 2: সংযোগ:

সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ

রাস্পবেরি পাই এর জন্য একটি I2C ieldাল নিন এবং রাস্পবেরি পাই এর জিপিও পিনের উপর আলতো করে চাপ দিন।

তারপর I2C তারের এক প্রান্তকে MMA8452Q সেন্সর এবং অন্য প্রান্তকে I2C ieldালের সাথে সংযুক্ত করুন।

এছাড়াও ইথারনেট কেবল কে পাই এর সাথে সংযুক্ত করুন অথবা আপনি একটি ওয়াইফাই মডিউল ব্যবহার করতে পারেন।

উপরের ছবিতে কানেকশন দেখানো হয়েছে।

ধাপ 3: কোড:

কোড
কোড

MMA8452Q এর জন্য জাভা কোডটি আমাদের GitHub সংগ্রহস্থল- Dcube স্টোর থেকে ডাউনলোড করা যাবে

এখানে একই জন্য লিঙ্ক:

github.com/DcubeTechVentures/MMA8452Q

আমরা জাভা কোডের জন্য pi4j লাইব্রেরি ব্যবহার করেছি, রাস্পবেরি পাইতে pi4j ইনস্টল করার ধাপগুলি এখানে বর্ণনা করা হয়েছে:

pi4j.com/install.html

আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:

// একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়।

// এটি যে কোন উপায়ে ব্যবহার করুন, মুনাফা বা বিনামূল্যে, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।

// MMA8452Q

// এই কোডটি Dcube স্টোরে উপলব্ধ MMA8452Q_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে।

আমদানি com.pi4j.io.i2c. I2CBus;

com.pi4j.io.i2c. I2CDevice আমদানি করুন;

আমদানি com.pi4j.io.i2c. I2CFactory;

java.io. IOException আমদানি করুন;

পাবলিক ক্লাস MMA8452Q

{

পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আর্গস ) ব্যতিক্রম ছুঁড়ে দেয়

{

// I2C বাস তৈরি করুন

I2CBus বাস = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C ডিভাইস পান, MMA8452Q I2C ঠিকানা হল 0x1C (28)

I2CDevice ডিভাইস = bus.getDevice (0x1C);

// স্ট্যান্ডবাই কমান্ড পাঠান

device.write (0x2A, (বাইট) 0x00);

// সক্রিয় কমান্ড পাঠান

device.write (0x2A, (বাইট) 0x01);

// +/- 2g পর্যন্ত রেঞ্জ সেট করুন

device.write (0x0E, (বাইট) 0x00);

Thread.sleep (500);

// 0x00 (0) ঠিকানা থেকে 7 বাইট ডেটা পড়ুন

// স্ট্যাটাস, এক্স এমএসবি, এক্স এলএসবি, ওয়াই এমএসবি, ওয়াই এলএসবি, জেড এমএসবি, জেড এলএসবি

বাইট ডেটা = নতুন বাইট [7];

device.read (0x00, data, 0, 7);

// মানগুলি রূপান্তর করুন

int xAccl = (((data [1] & 0xFF) * 256) + (data [2] & 0xFF)) / 16;

যদি (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((data [3] & 0xFF) * 256) + (data [4] & 0xFF)) / 16;

যদি (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((data [5] & 0xFF) * 256) + (data [6] & 0xFF)) / 16;

যদি (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

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

System.out.printf ("X-Axis: %d %n", xAccl);

System.out.printf ("Y-Axis: %d %n", yAccl);

System.out.printf ("Z-Axis: %d %n", zAccl);

}

}

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

MMA8452Q এর বিভিন্ন অ্যাপ্লিকেশন রয়েছে যার মধ্যে রয়েছে ই-কম্পাস অ্যাপ্লিকেশন, স্ট্যাটিক ওরিয়েন্টেশন ডিটেকশন যা পোর্ট্রেট/ল্যান্ডস্কেপ, আপ/ডাউন, লেফট/রাইট, ব্যাক/ফ্রন্ট পজিশন আইডেন্টিফিকেশন, নোটবুক, ই-রিডার, এবং ল্যাপটপ টাম্বল এবং ফ্রিফল ডিটেকশন, রিয়েল-টাইম ভার্চুয়াল রিয়েলিটি এবং গেমিং থ্রিডি ইউজার পজিশন ফিডব্যাক, রিয়েল-টাইম অ্যাক্টিভিটি বিশ্লেষণ যেমন পেডোমিটার স্টেপ কাউন্টিং, এইচডিডি-র জন্য ফ্রিফল ড্রপ ডিটেকশন, ডেড-রিকোনিং জিপিএস ব্যাকআপ সহ আরও অনেক কিছু।

প্রস্তাবিত: