جدول المحتويات:
فيديو: Arduino AMS5812_0050-D-B برنامج استشعار الضغط ودرجة الحرارة: 4 خطوات
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
جهاز استشعار الضغط المضخم AMS5812 مع المخرجات التناظرية والرقمية هو مستشعر عالي الدقة مع خرج جهد تناظري وواجهة I2C رقمية. فهو يجمع بين عنصر استشعار مقاوم للضغط مع عنصر تكييف إشارة لتشغيله. هذا هو العرض التوضيحي باستخدام اردوينو نانو.
الخطوة 1: ماذا تحتاج..
1. اردوينو نانو
2. AMS5812_0050-D-B
3. كابل I²C
4. I2C Shield لاردوينو نانو
الخطوة الثانية: التوصيلات:
خذ درع I2C لـ Arduino Nano وادفعه برفق فوق دبابيس Nano.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر AMS5812_0050-D-B والطرف الآخر بواجهة I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود Arduino الخاص بـ AMS5812_0050-D-B من مستودع GitHub-Dcube Store.
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/AMS5812-0050-D-B
نقوم بتضمين مكتبة Wire.h لتسهيل اتصال I2c للمستشعر بلوحة Arduino.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// AMS5812
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية AMS5812_I2CS_0050-D-B I2C المصغرة المتوفرة في Dcube Store.
#يشمل
// عنوان AMS5812 I2C هو 0x78 (120)
#define Addr 0x78
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [4] ؛
تأخير (500) ؛
// طلب 4 بايت من البيانات
Wire.request From (Addr، 4) ؛
// قراءة 4 بايت من البيانات
// الضغط msb ، الضغط lsb ، temp msb ، temp lsb
إذا كان (Wire.available () == 4)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
}
// تحويل البيانات
ضغط الطفو = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) ؛
تعويم temp = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF)) ؛
الضغط = ((الضغط - 3277.0) / ((26214.0) / 10.0)) - 5.0 ؛
تعويم cTemp = ((درجة الحرارة - 3277.0) / ((26214.0) / 110.0)) - 25.0 ؛
تعويم fTemp = (cTemp * 1.8) + 32 ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("الضغط:") ؛
Serial.print (الضغط) ؛
Serial.println ("PSI") ؛
Serial.print ("درجة الحرارة بالدرجة المئوية:") ؛
Serial.print (cTemp) ؛
Serial.println ("C") ؛
Serial.print ("درجة الحرارة بالفهرنهايت:") ؛
Serial.print (fTemp) ؛
Serial.println ("F") ؛
تأخير (500) ؛
}
الخطوة 4: التطبيقات:
AMS5812 عبارة عن مستشعر ضغط مضخم ويمكن استخدامه في الأنظمة التي يتم فيها قياس الضغط الثابت والديناميكي وقياس الضغط الجوي. يلعب دورًا محوريًا في مراقبة الفراغ ومراقبة تدفق الغاز وقياس مستوى السوائل وكذلك الأجهزة الطبية.