جدول المحتويات:

مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python: 6 خطوات
مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python: 6 خطوات

فيديو: مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python: 6 خطوات

فيديو: مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python: 6 خطوات
فيديو: Home Automation Using Accelecrometer 2024, شهر نوفمبر
Anonim
مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python
مقياس تسارع ثلاثي المحاور ، ADXL345 مع Raspberry Pi باستخدام Python

التفكير في أداة يمكنها التحقق من النقطة التي يميل فيها Offroader نحو التباطؤ. ألن يكون أمرًا ممتعًا في حالة تعديل شخص ما عندما يكون هناك احتمال للانقلاب؟ بالطبع نعم. سيكون مفيدًا حقًا للأفراد الذين يحبون الذهاب في الجبال ورحلات العمل.

بلا شك ، إنها فترة رائعة حقًا من التقييم التوضيحي المتقدم ، إن إنترنت الأشياء علينا. بصفتنا من عشاق الأدوات والبرمجة ، نعتقد ، Raspberry Pi ، تعامل الكمبيوتر الشخصي الصغير Linux مع القدرات الإبداعية للأشخاص بشكل عام ، وحمل معه انفجارًا في المنهجيات المبتكرة. إذن ما هي النتائج التي يمكن تصورها والتي يمكننا القيام بها في حالة وجود Raspberry Pi ومقياس تسارع ثلاثي المحاور بالقرب منك؟ يجب أن نكتشف! في هذه المهمة ، سوف نشعر بالتسارع على 3 محاور ، X و Y و Z باستخدام Raspberry Pi و ADXL345 ، وهو مقياس تسارع ثلاثي المحاور. لذلك يجب أن نلاحظ في هذه الرحلة لتصنيع إطار لقياس التسارع ثلاثي الأبعاد لأعلى أو G-Force.

الخطوة 1: الأجهزة الأساسية التي نحتاجها

الأجهزة الأساسية التي نحتاجها
الأجهزة الأساسية التي نحتاجها
الأجهزة الأساسية التي نحتاجها
الأجهزة الأساسية التي نحتاجها
الأجهزة الأساسية التي نحتاجها
الأجهزة الأساسية التي نحتاجها

كانت المشكلات أقل بالنسبة لنا نظرًا لأن لدينا الكثير من الأشياء الموجودة حولنا للعمل منها. ومع ذلك ، فنحن نعلم كيف أنه من المزعج للآخرين تجميع الجزء الصحيح في الوقت المناسب من المكان المناسب وهذا مبرر بغض النظر عن كل بنس. لذلك سنساعدك في جميع المناطق. اقرأ ما يلي للحصول على قائمة أجزاء كاملة.

1. Raspberry Pi

كانت الخطوة الأولى هي الحصول على لوحة Raspberry Pi. يوفر هذا الكمبيوتر الصغير منخفض الطاقة قاعدة رخيصة وبسيطة بشكل عام لمشاريع الإلكترونيات وإنترنت الأشياء (IoT) والمدن الذكية والتعليم المدرسي.

2. I2C Shield لـ Raspberry Pi

الشيء الرئيسي المفقود حقا Raspberry Pi هو منفذ I²C. لذلك ، يمنحك موصل TOUTPI2 I²C الشعور باستخدام Rasp Pi مع أجهزة MULTIPLE I²C. يمكن الوصول إليه من متجر DCUBE

3. 3 محاور التسارع ، ADXL345

تم تصنيع ADXL345 بواسطة الأجهزة التناظرية ، وهو مقياس تسارع منخفض الطاقة ثلاثي المحاور مع دقة عالية قياس 13 بت تصل إلى ± 16 جرام. لقد حصلنا على هذا المستشعر من متجر DCUBE

4. توصيل الكابلات

كان لدينا كابل توصيل I2C يمكن الوصول إليه في متجر DCUBE

5. كابل USB الصغير

أدنى ارتباك ، ولكنه الأكثر صرامة فيما يتعلق بضرورة الطاقة هو Raspberry Pi! الطريقة الأكثر سهولة لتشغيل Raspberry Pi هي عن طريق كابل Micro USB.

6. الوصول إلى الويب حاجة

يمكن تمكين الوصول إلى الويب من خلال كبل Ethernet (LAN) المرتبط بالشبكة المحلية والويب. من ناحية أخرى ، يمكنك الارتباط بشبكة لاسلكية باستخدام دونجل USB لاسلكي ، الأمر الذي يتطلب التكوين.

7. كابل HDMI / الوصول عن بعد

باستخدام كبل HDMI على اللوحة ، يمكنك توصيله بجهاز تلفزيون رقمي أو بشاشة. بحاجة الى ادخار النقود! يمكن الوصول إلى Raspberry Pi عن بعد لاستخدام استراتيجيات مميزة مثل SSH والوصول عبر الويب. يمكنك استخدام البرنامج المصدر PuTTYopen.

الخطوة 2: توصيل الجهاز

توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز

جعل الدائرة وفقا للتخطيطي ظهرت. ارسم مخططًا وخذ بعد التكوين عن عمد.

اتصال Raspberry Pi و I2C Shield

قبل كل شيء ، خذ Raspberry Pi واكتشف I2C Shield عليه. اضغط على Shield بدقة فوق دبابيس GPIO الخاصة بـ Pi وانتهينا من هذا التقدم البسيط مثل الفطيرة (انظر الخاطف).

اتصال المستشعر و Raspberry Pi

خذ المستشعر وواجهة كابل I2C معه. للتشغيل المناسب لهذا الكبل ، يرجى تذكر شركاء إخراج I2C دائمًا مع مدخلات I2C. يجب أخذ نفس الشيء بعد ذلك بالنسبة لـ Raspberry Pi مع درع I2C المثبت فوقه دبابيس GPIO.

نحن نوصي باستخدام كبل I2C لأنه يدحض متطلبات الاطلاع على pinouts واللحام والضيق الناجم حتى عن أصغر خطأ فادح. باستخدام كابل التوصيل والتشغيل الأساسي هذا ، يمكنك إدخال الأجهزة أو تبديلها أو إضافة المزيد من الأجهزة إلى أحد التطبيقات بسهولة. هذا يجعل الأمور غير معقدة.

ملحوظة: يجب أن يتبع السلك البني اتصال الأرض (GND) بشكل موثوق بين خرج أحد الأجهزة ومدخل جهاز آخر

شبكة الويب هي المفتاح

لجعل مشروعنا مربحًا ، نحتاج إلى اتصال ويب لـ Raspberry Pi الخاص بنا. لهذا ، لديك بدائل مثل توصيل كبل Ethernet (LAN) بالنظام المنزلي. بالإضافة إلى ذلك ، كخيار ، فإن الطريق المفيد هو استخدام موصل WiFi. في بعض الأحيان لهذا ، تحتاج إلى سائق لجعله يعمل. لذا اتجه نحو الشخص الذي يحتوي على Linux في الصورة.

مزود الطاقة

قم بتوصيل كابل Micro USB بمقبس الطاقة الخاص بـ Raspberry Pi. أشعلها ونحن على ما يرام.

الاتصال بالشاشة

يمكننا ربط كابل HDMI بشاشة أخرى. في بعض الحالات ، يجب عليك الوصول إلى Raspberry Pi دون ربطه بشاشة أو قد تحتاج إلى عرض بعض البيانات منه من مكان آخر. من المتصور أن هناك مناهج مبتكرة وذكية مالياً للقيام بذلك على هذا النحو. واحد منهم يستخدم - SSH (تسجيل الدخول عن بعد في سطر الأوامر). يمكنك أيضًا استخدام برنامج PuTTY لذلك.

الخطوة 3: Python Coding for Raspberry Pi

ترميز Python لـ Raspberry Pi
ترميز Python لـ Raspberry Pi

يمكن الوصول إلى كود Python الخاص بمستشعر Raspberry Pi و ADXL345 في مستودع Github الخاص بنا.

قبل المضي قدمًا في الكود ، تأكد من قراءة الإرشادات الواردة في مستند المستند التمهيدي وإعداد Raspberry Pi وفقًا لها. سوف يتوقف ببساطة لمدة دقيقة للقيام بذلك على هذا النحو.

مقياس التسارع هو جهاز يقيس التسارع المناسب ؛ التسارع المناسب ليس هو نفسه تسارع الإحداثيات (معدل تغير السرعة). يمكن الوصول إلى نماذج أحادية ومتعددة المحاور من مقياس التسارع لتحديد حجم واتجاه التسارع المناسب ، ككمية متجهية ، ويمكن استخدامها لاستشعار الاتجاه وتنسيق التسارع والاهتزاز والصدمة والسقوط في وسط مقاوم.

الشفرة واضحة أمامك وهي في أبسط هيكل يمكنك تخيله ويجب ألا تواجه أية مشكلات.

# موزعة بترخيص الإرادة الحرة. # استخدمها بالطريقة التي تريدها ، أو الربح أو المجاني ، بشرط أن تتناسب مع تراخيص الأعمال المرتبطة بها. # ADXL345 # تم تصميم هذا الرمز للعمل مع الوحدة النمطية ADXL345_I2CS I2C المصغرة المتوفرة من dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i٪C2٪B2c-mini -وحدة/

استيراد smbus

وقت الاستيراد

# احصل على حافلة I2C

الحافلة = smbus. SMBus (1)

# ADXL345 عنوان ، 0x53 (83)

# حدد تسجيل معدل النطاق الترددي ، 0x2C (44) # 0x0A (10) الوضع العادي ، معدل بيانات الإخراج = 100 Hz bus.write_byte_data (0x53 ، 0x2C ، 0x0A) # عنوان ADXL345 ، 0x53 (83) # حدد سجل التحكم في الطاقة ، 0x2D (45) # 0x08 (08) تعطيل السكون التلقائي bus.write_byte_data (0x53، 0x2D، 0x08) # ADXL345 address، 0x53 (83) # حدد تسجيل تنسيق البيانات ، 0x31 (49) # 0x08 (08) تم تعطيل الاختبار الذاتي ، 4 أسلاك الواجهة # الدقة الكاملة ، النطاق = +/- 2g bus.write_byte_data (0x53 ، 0x31 ، 0x08)

وقت النوم (0.5)

# ADXL345 عنوان ، 0x53 (83)

# قراءة البيانات مرة أخرى من 0x32 (50) ، 2 بايت # X-Axis LSB ، X-Axis MSB data0 = bus.read_byte_data (0x53، 0x32) data1 = bus.read_byte_data (0x53، 0x33)

# تحويل البيانات إلى 10 بت

xAccl = ((data1 & 0x03) * 256) + data0 إذا كانت xAccl> 511: xAccl - = 1024

# ADXL345 عنوان ، 0x53 (83)

# قراءة البيانات مرة أخرى من 0x34 (52) ، 2 بايت # Y-Axis LSB ، Y-Axis MSB data0 = bus.read_byte_data (0x53، 0x34) data1 = bus.read_byte_data (0x53، 0x35)

# تحويل البيانات إلى 10 بت

yAccl = ((data1 & 0x03) * 256) + data0 إذا كان yAccl> 511: yAccl - = 1024

# ADXL345 عنوان ، 0x53 (83)

# قراءة البيانات مرة أخرى من 0x36 (54) ، 2 بايت # Z-Axis LSB ، Z-Axis MSB data0 = bus.read_byte_data (0x53، 0x36) data1 = bus.read_byte_data (0x53، 0x37)

# تحويل البيانات إلى 10 بت

zAccl = ((data1 & 0x03) * 256) + data0 إذا كان zAccl> 511: zAccl - = 1024

# إخراج البيانات إلى الشاشة

طباعة "تسريع في المحور س:٪ d"٪ xAccl print "تسريع في المحور ص:٪ d"٪ yAccl print "تسريع في المحور Z:٪ d"٪ zAccl

الخطوة 4: التطبيق العملي للمدونة

التطبيق العملي للمدونة
التطبيق العملي للمدونة

قم بتنزيل (أو git pull) الكود من Github وافتحه في Raspberry Pi.

قم بتشغيل الأوامر الخاصة بـ Compile and Upload Code في Terminal وشاهد الإخراج على Monitor. بعد لحظات قليلة ، ستظهر كل واحدة من المعلمات. بعد التأكد من أن كل شيء يعمل بسهولة ، يمكنك أخذ هذا المشروع في مهمة أكبر.

الخطوة 5: التطبيقات والميزات

ADXL345 هو مقياس تسارع صغير ورفيع وقوي للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يعد ADXL345 مناسبًا لتطبيقات الهواتف المحمولة. إنه يحدد مقدار التسارع الثابت للجاذبية في تطبيقات كشف الإمالة بالإضافة إلى التسريع الديناميكي القادم بسبب الحركة أو الصدمة. تشتمل التطبيقات الأخرى على أمثال الهواتف والأجهزة الطبية وأجهزة الألعاب والتأشير والأجهزة الصناعية وأجهزة الملاحة الشخصية وحماية محرك الأقراص الثابتة (HDD).

الخطوة السادسة: الخاتمة

نأمل أن تحفز هذه المهمة على مزيد من التجارب. يتميز مستشعر I2C هذا بأنه مرن للغاية ورخيص ويمكن الوصول إليه. نظرًا لأنه نظام غير دائم إلى حد كبير ، فهناك طرق مثيرة للاهتمام يمكنك من خلالها توسيع هذه المهمة وتحسينها حتى.

على سبيل المثال ، يمكنك البدء بفكرة الميل باستخدام ADXL345 و Raspberry Pi. في المشروع أعلاه ، استخدمنا الحسابات الأساسية. يمكنك تحسين رمز قيم G ، أو زوايا المنحدر (أو الإمالة) ، أو ارتفاع أو انخفاض كائن فيما يتعلق بالجاذبية. ثم يمكنك التحقق من الخيارات المتقدمة مثل زوايا الدوران للفة (المحور الأمامي إلى الخلف ، X) ، والانحراف (المحور الجانبي ، Y) والانعراج (المحور الرأسي ، Z). يعرض مقياس التسارع هذا قوى جي ثلاثية الأبعاد. لذلك يمكنك استخدام هذا المستشعر بعدة طرق يمكنك وضعها في الاعتبار.

من أجل راحتك ، لدينا فيديو تعليمي رائع على YouTube والذي قد يساعدك في تحقيقك. ثق بأن هذا المشروع يحفز المزيد من الاستكشاف. استمر في التفكير! ضع في اعتبارك أن تسعى وراء ذلك لأن المزيد يأتي باستمرار.

موصى به: