جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
SI7050 عبارة عن مستشعر درجة حرارة رقمي يعمل على بروتوكول اتصال I2C ويوفر دقة عالية على نطاق جهد التشغيل الكامل ونطاق درجة الحرارة. تُعزى هذه الدقة العالية للمستشعر إلى معالجة الإشارات الجديدة والتصميم التناظري. هذه المستشعرات مدمجة في ذاكرة على الرقاقة تخزن بيانات الاستدعاء مما يسهل استخدامها على نطاق واسع. هذا هو العرض التوضيحي مع Arduino Nano.
الخطوة 1: ماذا تحتاج..
1. اردوينو نانو
2. SI7050
3. كابل I²C
4. I²C Shield لـ Arduino Nano
الخطوة الثانية: التوصيل:
خذ درع I2C لـ Arduino Nano وادفعه برفق فوق دبابيس Nano.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر SI7050 والطرف الآخر بغطاء I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود اردوينو الخاص بـ SI7050 من مستودع جيثب- DCUBE Store الخاص بنا.
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
نقوم بتضمين مكتبة Wire.h لتسهيل اتصال I2c للمستشعر بلوحة Arduino.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// SI7050
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية الصغيرة SI7050_I2CS I2C
#يشمل
// عنوان SI7050 I2C هو 0x40 (64)
#define Addr 0x40
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [2] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// أرسل أمر قياس درجة الحرارة ، NO HOLD MASTER
Wire.write (0xF3) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (500) ؛
// طلب 2 بايت من البيانات
Wire.request From (Addr، 2) ؛
// قراءة 2 بايت من البيانات
// temp msb، temp lsb
إذا (Wire.available () == 2)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
}
// تحويل البيانات
تعويم درجة الحرارة = ((البيانات [0] * 256.0) + البيانات [1]) ؛
تعويم ctemp = ((175.72 * درجة الحرارة) / 65536.0) - 46.85 ؛
تعويم ftemp = ctemp * 1.8 + 32 ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("درجة الحرارة بالدرجة المئوية:") ؛
Serial.print (ctemp) ؛
Serial.println ("C") ؛
Serial.print ("درجة الحرارة بالفهرنهايت:") ؛
Serial.print (ftemp) ؛
Serial.println ("F") ؛
تأخير (500) ؛
}
الخطوة 4: التطبيقات:
يمكن دمج SI7050 في أنظمة مختلفة بما في ذلك أجهزة الكمبيوتر والأجهزة الاستهلاكية المحمولة والمعدات الطبية. يمكن استخدام هذا المستشعر في سلاسل التخزين البارد وتتبع الأصول وكذلك أنظمة التحكم الصناعية المختلفة. إنها تلعب دورًا محوريًا في حماية البطارية أيضًا.