جدول المحتويات:
فيديو: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
MMA8452Q هو مقياس تسارع ذكي ، منخفض الطاقة ، ثلاثي المحاور ، سعوي ، دقيق ميكانيكي مع دقة 12 بت. يتم توفير خيارات المستخدم القابلة للبرمجة المرنة بمساعدة الوظائف المضمنة في مقياس التسارع ، والتي يمكن تكوينها إلى دبابيس للمقاطعة. إنه يحتوي على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 2g / ± 4g / ± 8g مع بيانات مصفاة عالية التمرير بالإضافة إلى البيانات غير المفلترة المتاحة في الوقت الفعلي. هذا هو العرض التوضيحي باستخدام Arduino nano.
الخطوة 1: ماذا تحتاج..
1. اردوينو نانو
2. MMA8452Q
3. كابل I²C
4. I²C Shield لـ Arduino Nano
الخطوة الثانية: التوصيل:
خذ درع I2C لـ Arduino Nano وادفعه برفق فوق دبابيس Nano.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر MMA8452Q والطرف الآخر بدرع I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود اردوينو الخاص بـ MMMA8452Q من مستودع جيثب الخاص بنا- متجر DCUBE.
ها هو الرابط الالكتروني.
نقوم بتضمين مكتبة Wire.h لتسهيل اتصال I2c للمستشعر بلوحة Arduino.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// MMA8452Q
// تم تصميم هذا الرمز للعمل مع الوحدة المصغرة MMA8452Q_I2CS I2C.
#يشمل
// MMA8452Q عنوان I2C هو 0x1C (28)
#define Addr 0x1C
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x2A) ؛
// وضعيه الإستعداد
Wire.write (0x00) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x2A) ؛
// الوضع النشط
Wire.write (0x01) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x0E) ؛
// اضبط النطاق على +/- 2g
Wire.write (0x00) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [7] ؛
// طلب 7 بايت من البيانات
Wire.request From (Addr، 7) ؛
// قراءة 7 بايت من البيانات
// staus، xAccl lsb، xAccl msb، yAccl lsb، yAccl msb، zAccl lsb، zAccl msb
إذا كان (Wire.available () == 7)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
البيانات [6] = Wire.read () ؛
}
// تحويل البيانات إلى 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.print ("تسريع في المحور X:") ؛
Serial.println (xAccl) ؛
Serial.print ("تسريع في المحور ص:") ؛
Serial.println (yAccl) ؛
Serial.print ("تسريع في المحور Z:") ؛
Serial.println (zAccl) ؛
تأخير (500) ؛
}
الخطوة 4: التطبيقات:
يحتوي MMA8452Q على العديد من التطبيقات التي تشمل تطبيقات البوصلة الإلكترونية ، واكتشاف الاتجاه الثابت الذي يتضمن تحديد الوضع الرأسي / الأفقي ، أعلى / أسفل ، يسار / يمين ، تحديد الموضع الخلفي / الأمامي ، الكمبيوتر المحمول ، القارئ الإلكتروني ، واكتشاف السقوط الحر والحاسوب المحمول ، في الوقت الفعلي الكشف عن الاتجاه بما في ذلك الواقع الافتراضي وملاحظات موقع المستخدم ثلاثية الأبعاد للألعاب ، وتحليل النشاط في الوقت الفعلي مثل عد خطوات عداد الخطى ، واكتشاف السقوط الحر لمحرك الأقراص الصلبة ، والنسخ الاحتياطي لنظام تحديد المواقع العالمي (GPS) الميت الحساب وغير ذلك الكثير.
موصى به:
برنامج Arduino Accelerometer التعليمي: التحكم في جسر السفينة باستخدام محرك سيرفو: 5 خطوات
برنامج Arduino Accelerometer التعليمي: التحكم في جسر السفينة باستخدام محرك مؤازر: توجد مستشعرات مقياس التسارع الآن في معظم هواتفنا الذكية لمنحهم مجموعة متنوعة من الاستخدامات والقدرات التي نستخدمها يوميًا ، حتى دون معرفة أن الشخص المسؤول عن ذلك هو مقياس التسارع. إحدى هذه القدرات هي إمكانية التحكم
Claqueta Digital Con Arduino (لوحة Clapperboard رقمية مع Arduino): 7 خطوات
Claqueta Digital Con Arduino (لوحة Clapperboard رقمية مع Arduino): Crea tu propia claqueta رقمي ، también puedes convertir una claqueta no digital en una ، usedizando Arduino.MATERIALES عرض 7 مقاطع MAX7219 de 8 أرقام متوافقة مع نموذج DS arduino.Modulo de Reloj RTC يخدع اردوينو. Arduino
MPU6050-Accelerometer + Gyroscope Sensor Basics: 3 خطوات
MPU6050-Accelerometer + Gyroscope Sensor Basics: MPU6050 هو مستشعر مفيد للغاية. mpu 6050 عبارة عن IMU: وحدة قياس بالقصور الذاتي (IMU) هي جهاز إلكتروني يقيس ويبلغ القوة المحددة للجسم ، ومعدل الزوايا ، وأحيانًا الاتجاه من الجسم ، باستخدام مزيج
ESP32 مع E32-433T LoRa Module Tutorial - واجهة LoRa Arduino: 8 خطوات
ESP32 مع E32-433T LoRa Module Tutorial | LoRa Arduino Interfacing: مرحبًا ، ما الأمر يا رفاق! Akarsh هنا من CETech هذا المشروع الخاص بي هو ربط وحدة E32 LoRa من eByte وهي وحدة إرسال واستقبال عالية الطاقة 1 واط مع ESP32 باستخدام Arduino IDE. لقد فهمنا عمل E32 في آخر دروسنا
مشروع Arduino Digital Compass: 3 خطوات
مشروع Arduino Digital Compass: مرحبًا! في هذا الدليل ، سترى كيف يمكنك إنشاء بوصلة رقمية باستخدام Arduino و Processing IDE. هذا مشروع Arduino بسيط للغاية ولكنه مثير للاهتمام ورائع المظهر. يمكنك مشاهدة المثال التوضيحي لهذا البرنامج التعليمي على الفيديو