جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
AD7416ARZ عبارة عن مستشعر درجة حرارة 10 بت مع أربعة محولات تناظرية أحادية القناة إلى رقمية ومستشعر درجة حرارة مدمج فيه. يمكن الوصول إلى مستشعر درجة الحرارة على الأجزاء عبر قنوات المضاعف. أصبح مستشعر درجة الحرارة عالي الدقة هذا معيارًا صناعيًا من حيث الشكل والعامل والذكاء ، مما يوفر إشارات مستشعرات خطية ومعايرة بتنسيق رقمي I2C.
في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة استشعار AD7416ARZ مع فوتون الجسيمات. لقراءة قيم درجة الحرارة ، استخدمنا اردوينو مع محول I2c. يجعل هذا المحول I2C الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. AD 7416ARZ
2. جسيم الفوتون
3. كابل I2C
4. I2C Shield للفوتون الجسيمي
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر وفوتون الجسيمات. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل AD7416ARZ على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود قياس درجة الحرارة:
لنبدأ الآن برمز الجسيمات.
أثناء استخدام وحدة المستشعر مع الجسيمات ، نقوم بتضمين مكتبة application.h و spark_wiring_i2c.h. تحتوي مكتبة "application.h" و spark_wiring_i2c.h على الوظائف التي تسهل اتصال i2c بين المستشعر والجسيم.
يتم توفير رمز الجسيمات بالكامل أدناه لراحة المستخدم:
#يشمل
#يشمل
// AD7416ARZ I2C عنوان هو 0x48 (72)
#define Addr 0x48
تعويم cTemp = 0.0 ، fTemp = 0.0 ؛
درجة الحرارة int = 0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "AD7416ARZ") ؛
Particle.variable ("cTemp" ، cTemp) ؛
// تهيئة اتصال I2C كسيد
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [2] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x00) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// طلب 2 بايت من البيانات
Wire.request From (Addr، 2) ؛
// قراءة 2 بايت من البيانات
// temp msb، temp lsb
إذا (Wire.available () == 2)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
}
// تحويل البيانات إلى 12 بت
// تحويل البيانات إلى 10 بت
temp = ((data [0] * 256) + (data [1] & 0xC0)) / 64 ؛
إذا (درجة الحرارة> 511)
{
درجة الحرارة - = 1024 ؛
}
cTemp = درجة الحرارة * 0.25 ؛
fTemp = (cTemp * 1.8) + 32 ؛
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛
Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛
تأخير (1000) ؛
}
تنشئ الدالة Particle.variable () المتغيرات لتخزين إخراج المستشعر وتعرض وظيفة Particle.publish () الإخراج على لوحة القيادة بالموقع.
يظهر خرج المستشعر في الصورة أعلاه للرجوع إليها.
الخطوة 4: التطبيقات:
AD7416ARZ عبارة عن مستشعر درجة حرارة 10 بت مع أربعة محول تناظري رقمي أحادي القناة يمكنه إجراء عملية الحصول على البيانات مع مراقبة درجة الحرارة المحيطة. يمكن استخدامه أيضًا في أنظمة التحكم في العمليات الصناعية وتطبيقات شحن بطاريات السيارات وأجهزة الكمبيوتر الشخصية.