সুচিপত্র:
ভিডিও: Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
MMA8452Q হল একটি স্মার্ট, লো-পাওয়ার, তিন-অক্ষ, ক্যাপাসিটিভ, 12 বিট রেজোলিউশনের মাইক্রো-মেশিন অ্যাকসিলরোমিটার। নমনীয় ব্যবহারকারী প্রোগ্রামযোগ্য বিকল্পগুলি অ্যাক্সিলরোমিটারে এম্বেডেড ফাংশনগুলির সাহায্যে সরবরাহ করা হয়, দুটি ইন্টারাপ্ট পিনের জন্য কনফিগারযোগ্য। এটিতে ব্যবহারকারীর select 2g/± 4g/± 8g এর পূর্ণ-স্কেল রয়েছে যা উচ্চ-পাস ফিল্টার ফিল্টারড ডেটার পাশাপাশি নন-ফিল্টারড ডেটা রিয়েল-টাইমে উপলব্ধ। এখানে Arduino ন্যানো সঙ্গে তার প্রদর্শন।
ধাপ 1: আপনার যা প্রয়োজন..
1. আরডুইনো ন্যানো
2. MMA8452Q
3. I²C কেবল
4. Arduino Nano এর জন্য I²C শিল্ড
ধাপ 2: সংযোগ:
আরডুইনো ন্যানোর জন্য একটি I2C ieldাল নিন এবং আলতো করে ন্যানোর পিনের উপরে চাপ দিন।
তারপর I2C তারের এক প্রান্তকে MMA8452Q সেন্সর এবং অন্য প্রান্তকে I2C ieldালের সাথে সংযুক্ত করুন।
উপরের ছবিতে কানেকশন দেখানো হয়েছে।
ধাপ 3: কোড:
MMMA8452Q এর জন্য arduino কোডটি আমাদের github repository- DCUBE স্টোর থেকে ডাউনলোড করা যাবে।
এখানে লিঙ্ক আছে।
Arduino বোর্ডের সাথে সেন্সরের I2c যোগাযোগের সুবিধার্থে আমরা লাইব্রেরি Wire.h অন্তর্ভুক্ত করি।
আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:
// একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়।
// এটি যে কোন উপায়ে ব্যবহার করুন, মুনাফা বা বিনামূল্যে, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।
// MMA8452Q
// এই কোডটি MMA8452Q_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে।
#অন্তর্ভুক্ত
// MMA8452Q I2C ঠিকানা হল 0x1C (28)
#সংযোজনকারী 0x1C
অকার্যকর সেটআপ()
{
// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন
Wire.begin ();
// সিরিয়াল কমিউনিকেশন শুরু করুন, বড রেট = 9600 সেট করুন
Serial.begin (9600);
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// নিয়ন্ত্রণ নিবন্ধন নির্বাচন করুন
Wire.write (0x2A);
// চলমান ভাব
Wire.write (0x00);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// নিয়ন্ত্রণ নিবন্ধন নির্বাচন করুন
Wire.write (0x2A);
// সক্রিয় মোড
Wire.write (0x01);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// নিয়ন্ত্রণ নিবন্ধন নির্বাচন করুন
Wire.write (0x0E);
// রেঞ্জ +/- 2g এ সেট করুন
Wire.write (0x00);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
বিলম্ব (300);
}
অকার্যকর লুপ ()
{
স্বাক্ষরবিহীন int ডেটা [7];
// 7 বাইট ডেটার অনুরোধ করুন
Wire.requestFrom (Addr, 7);
// 7 বাইট ডেটা পড়ুন
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
যদি (Wire.available () == 7)
{
ডেটা [0] = ওয়্যার.রেড ();
ডেটা [1] = ওয়্যার.রেড ();
ডেটা [2] = ওয়্যার.রেড ();
ডেটা [3] = ওয়্যার.রেড ();
তথ্য [4] = Wire.read ();
তথ্য [5] = ওয়্যার.রেড ();
তথ্য [6] = ওয়্যার.রেড ();
}
// ডেটাকে 12-বিটে রূপান্তর করুন
int xAccl = ((data [1] * 256) + data [2]) / 16;
যদি (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((data [3] * 256) + data [4]) / 16;
যদি (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((data [5] * 256) + data [6]) / 16;
যদি (zAccl> 2047)
{
zAccl -= 4096;
}
// সিরিয়াল মনিটরে আউটপুট ডেটা
সিরিয়াল.প্রিন্ট ("এক্স-এক্সিসে এক্সিলারেশন:");
Serial.println (xAccl);
Serial.print ("Y-Axis- এ ত্বরণ:");
Serial.println (yAccl);
সিরিয়াল.প্রিন্ট ("Z-Axis- এ এক্সিলারেশন:");
Serial.println (zAccl);
বিলম্ব (500);
}
ধাপ 4: অ্যাপ্লিকেশন:
MMA8452Q এর বিভিন্ন অ্যাপ্লিকেশন রয়েছে যার মধ্যে রয়েছে ই-কম্পাস অ্যাপ্লিকেশন, স্ট্যাটিক ওরিয়েন্টেশন ডিটেকশন যা পোর্ট্রেট/ল্যান্ডস্কেপ, আপ/ডাউন, লেফট/রাইট, ব্যাক/ফ্রন্ট পজিশন আইডেন্টিফিকেশন, নোটবুক, ই-রিডার, এবং ল্যাপটপ টাম্বল এবং ফ্রিফল ডিটেকশন, রিয়েল-টাইম ভার্চুয়াল রিয়েলিটি এবং গেমিং থ্রিডি ইউজার পজিশন ফিডব্যাক, রিয়েল-টাইম অ্যাক্টিভিটি বিশ্লেষণ যেমন পেডোমিটার স্টেপ কাউন্টিং, এইচডিডি-র জন্য ফ্রিফল ড্রপ ডিটেকশন, ডেড-রিকোনিং জিপিএস ব্যাকআপ সহ আরও অনেক কিছু।
প্রস্তাবিত:
Arduino Accelerometer টিউটোরিয়াল: একটি Servo মোটর ব্যবহার করে একটি জাহাজ সেতু নিয়ন্ত্রণ করুন: 5 টি ধাপ
Arduino Accelerometer টিউটোরিয়াল: একটি Servo মোটর ব্যবহার করে একটি জাহাজ সেতু নিয়ন্ত্রণ করুন: অ্যাক্সিলারোমিটার সেন্সরগুলি এখন আমাদের বেশিরভাগ স্মার্টফোনে রয়েছে যা তাদের দৈনন্দিন ব্যবহার এবং ক্ষমতাগুলির একটি বিস্তৃততা দেয়, এমনকি এটি না জেনেও যে এর জন্য দায়ী একজন অ্যাকসিলরোমিটার। এই ক্ষমতাগুলির মধ্যে একটি হ'ল কন্ট্রোলবিল
কিভাবে একটি Arduino এবং Accelerometer দিয়ে একটি Cubesat তৈরি করবেন।: 5 টি ধাপ
কিভাবে একটি Arduino এবং Accelerometer দিয়ে একটি Cubesat তৈরি করবেন: আমাদের নাম ব্রক, এডি এবং ড্রু। আমাদের ফিজিক্স ক্লাসের মূল লক্ষ্য হল কিউব স্যাট ব্যবহার করে মঙ্গলের চারপাশের কক্ষপথ অনুকরণ এবং তথ্য সংগ্রহ করার সময় পৃথিবী থেকে মঙ্গল গ্রহে ভ্রমণ করা। এই প্রকল্পের জন্য আমাদের গোষ্ঠীর লক্ষ্য হল একটি অ্যাক্সিল ব্যবহার করে তথ্য সংগ্রহ করা
Arduino Nano এবং Visuino: Acceleration কে Accelerometer এবং Gyroscope MPU6050 I2C Sensor থেকে কোণে রূপান্তর করুন: Ste টি ধাপ (ছবি সহ)
Arduino Nano এবং Visuino: Acceleration কে Accelerometer এবং Gyroscope MPU6050 I2C সেন্সর থেকে কোণে রূপান্তর করুন: কিছুক্ষণ আগে আমি কিভাবে আপনি MPU9250 Accelerometer, Gyroscope এবং Compass Sensor কে Arduino Nano এর সাথে সংযুক্ত করতে পারেন এবং প্যাকেট ডেটা এবং ডিসপ্লে পাঠানোর জন্য Visuino দিয়ে প্রোগ্রাম করতে পারেন তার একটি টিউটোরিয়াল পোস্ট করেছি এটি একটি ব্যাপ্তি এবং ভিজ্যুয়াল যন্ত্রগুলিতে।
Arduino Nano: Accelerometer Gyroscope Compass MPU9250 I2C Sensor with Visuino: 11 ধাপ
Arduino Nano: Accelerometer Gyroscope Compass MPU9250 I2C Sensor with Visuino: MPU9250 হল বর্তমানে পাওয়া সবচেয়ে উন্নত একসিলরোমিটার, জাইরোস্কোপ এবং কম্পাস ছোট সাইজের সেন্সর। কম পাস ফিল্টারিং, মোশন ডিটেকশন, এমনকি একটি প্রোগ্রামযোগ্য বিশেষ প্রসেসর সহ তাদের অনেক উন্নত বৈশিষ্ট্য রয়েছে
Gyro, Accelerometer এবং Arduino ব্যবহার করে কোণ পরিমাপ: ৫ টি ধাপ
Gyro, Accelerometer এবং Arduino ব্যবহার করে এঙ্গেল মেজারমেন্ট: ডিভাইসটি হল একটি মোটামুটি প্রোটোটাইপ যা শেষ পর্যন্ত একটি সেলফ ব্যালেন্স রোবট হয়ে উঠবে, এটি হোল জিনিসের দ্বিতীয় অংশ (অ্যাক্সিলারোমিটার পড়ুন এবং একটি মোটরকে সেলফ ব্যালেন্সে নিয়ন্ত্রণ করুন)। শুধুমাত্র গাইরোর সাথে প্রথম অংশটি এখানে পাওয়া যাবে।