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

Raspberry Pi A1332 Precision Hall - مستشعر زاوية التأثير برنامج Java التعليمي: 4 خطوات
Raspberry Pi A1332 Precision Hall - مستشعر زاوية التأثير برنامج Java التعليمي: 4 خطوات

فيديو: Raspberry Pi A1332 Precision Hall - مستشعر زاوية التأثير برنامج Java التعليمي: 4 خطوات

فيديو: Raspberry Pi A1332 Precision Hall - مستشعر زاوية التأثير برنامج Java التعليمي: 4 خطوات
فيديو: Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (1) 2024, شهر نوفمبر
Anonim
Image
Image

A1332 عبارة عن مستشعر زاوية مغناطيسي قابل للبرمجة عالي الدقة بزاوية 360 درجة. إنه مصمم للأنظمة الرقمية باستخدام واجهة I2C. إنه مبني على تقنية Circular Vertical Hall (CVH) ويتم أيضًا دمج معالجة الإشارات المعتمدة على المعالج الدقيق القابل للبرمجة في هذا المستشعر. هذا هو العرض التوضيحي برمز جافا باستخدام Raspberry Pi.

الخطوة 1: ماذا تحتاج..

ماذا تحتاج..!!
ماذا تحتاج..!!

1. Raspberry Pi

2- A1332

3. كابل I²C

4. I²C Shield لـ Raspberry Pi

5. كابل إيثرنت

الخطوة الثانية: التوصيلات:

روابط
روابط
روابط
روابط
روابط
روابط
روابط
روابط

خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.

ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر A1332 والطرف الآخر بواجهة I2C.

قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.

تظهر الاتصالات في الصورة أعلاه.

الخطوة الثالثة: الكود:

الشفرة
الشفرة

يمكن تنزيل كود جافا الخاص بـ A1332 من مستودع جيثب- Dcube Store

هنا هو الرابط لنفسه:

github.com/DcubeTechVentures/A1332/blob/master/Java/A1332.java

لقد استخدمنا مكتبة pi4j لرمز جافا ، وخطوات تثبيت pi4j على Raspberry Pi موصوفة هنا:

pi4j.com/install.html

يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:

// موزعة بترخيص الإرادة الحرة.

// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.

// A1332

// تم تصميم هذا الرمز للعمل مع الوحدة المصغرة A1332_I2CS I2C

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛

استيراد com.pi4j.io.i2c. I2CFactory ؛

استيراد java.io. IOException ؛

فئة عامة A1332

{

يطرح main static void main (String args ) استثناء

{

// إنشاء ناقل I2C

ناقل I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ،

// احصل على جهاز I2C ، عنوان A1332 I2C هو 0x0C (12)

جهاز I2CDevice = Bus.getDevice (0x0C) ،

Thread.sleep (500) ؛

// قراءة 2 بايت من البيانات

// raw_adc msb، raw_adc lsb

بايت بيانات = بايت جديد [2] ؛

قراءة الجهاز (البيانات ، 0 ، 2) ؛

// التحقق من صحة البيانات

بينما ((البيانات [0] == 0) && (البيانات [1] == 0))

{

قراءة الجهاز (البيانات ، 0 ، 2) ؛

}

// تحويل البيانات إلى 12 بت

int raw_adc = ((data [0] & 0x0F) * 256 + (data [1] & 0xFF)) ؛

زاوية مزدوجة = (raw_adc / 4096.0) * 360 ؛

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

System.out.printf ("الزاوية المغناطيسية:٪.2f٪ n" ، الزاوية) ؛

}

}

الخطوة 4: التطبيقات:

يعتبر A1332 مثاليًا لتطبيقات السيارات التي تتطلب قياسات زاوية عالية السرعة بزاوية 360 درجة ، مثل: التوجيه المعزز الإلكتروني (EPS) ، وناقل الحركة ، وقضيب الالتواء ، والأنظمة الأخرى التي تتطلب قياسًا دقيقًا للزوايا. تم تصميم هذا المستشعر لتلبية متطلبات الأنظمة التي تتضمن قياس الزاوية والموضع الدقيق بدقة عالية.

موصى به: