جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
TMP100 وحدة I2C صغيرة عالية الدقة ومنخفضة الطاقة ومستشعر درجة الحرارة الرقمية. يعتبر TMP100 مثاليًا لقياس درجة الحرارة الممتدة. يوفر هذا الجهاز دقة تبلغ ± 1 درجة مئوية دون الحاجة إلى معايرة أو تكييف إشارة مكون خارجي. هنا هو العرض التوضيحي مع Arduino Nano.
الخطوة 1: ماذا تحتاج..
1. اردوينو نانو
2. TMP100
3. كابل I²C
4. I²C Shield لـ Arduino Nano
الخطوة الثانية: التوصيل:
خذ درع I2C لـ Arduino Nano وادفعه برفق فوق دبابيس Nano.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر TMP100 والطرف الآخر بغطاء I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود Arduino الخاص بـ TMP100 من مستودع GitHub-Dcube Store
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/TMP100..
نقوم بتضمين مكتبة Wire.h لتسهيل اتصال I2c للمستشعر بلوحة Arduino.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// TMP100
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية المصغرة TMP100_I2CS I2C المتوفرة في Dcube Store.
#يشمل
// عنوان TMP100 I2C هو 0x4F (79)
#define Addr 0x4F
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التكوين
Wire.write (0x01) ؛
// ضبط التحويل المستمر ، وضع المقارنة ، دقة 12 بت
Wire.write (0x60) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [2] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x00) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// طلب 2 بايت من البيانات
Wire.request From (Addr، 2) ؛
// قراءة 2 بايت من البيانات
// cTemp msb، cTemp lsb
إذا (Wire.available () == 2)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
}
// تحويل البيانات
تعويم cTemp = (((البيانات [0] * 256) + (البيانات [1] & 0xF0)) / 16) * 0.0625 ؛
تعويم fTemp = cTemp * 1.8 + 32 ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("درجة الحرارة بالدرجة المئوية:") ؛
Serial.print (cTemp) ؛
Serial.println ("C") ؛
Serial.print ("درجة الحرارة بالفهرنهايت:") ؛
Serial.print (fTemp) ؛
Serial.println ("F") ؛
تأخير (500) ؛
}
الخطوة 4: التطبيقات:
تتضمن التطبيقات المختلفة التي تتضمن مستشعر درجة الحرارة الرقمية ذات الطاقة المنخفضة وعالية الدقة TMP100 مراقبة درجة حرارة مصدر الطاقة ، والحماية الحرارية للأجهزة الطرفية للكمبيوتر ، وإدارة البطارية بالإضافة إلى الأجهزة المكتبية.