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

الفوتون الجسيمي - برنامج استشعار درجة الحرارة TMP100: 4 خطوات
الفوتون الجسيمي - برنامج استشعار درجة الحرارة TMP100: 4 خطوات

فيديو: الفوتون الجسيمي - برنامج استشعار درجة الحرارة TMP100: 4 خطوات

فيديو: الفوتون الجسيمي - برنامج استشعار درجة الحرارة TMP100: 4 خطوات
فيديو: الترددات والذبذبات / السر المخفي 2024, شهر نوفمبر
Anonim
Image
Image

TMP100 وحدة I2C صغيرة عالية الدقة ومنخفضة الطاقة ومستشعر درجة الحرارة الرقمية. يعتبر TMP100 مثاليًا لقياس درجة الحرارة الممتدة. يوفر هذا الجهاز دقة تبلغ ± 1 درجة مئوية دون الحاجة إلى معايرة أو تكييف إشارة مكون خارجي. هذا هو العرض التوضيحي باستخدام فوتون الجسيم.

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

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

1. جسيم الفوتون

2. TMP100

3. كابل I²C

4. I²C Shield for Particle Photon

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

اتصال
اتصال
اتصال
اتصال
اتصال
اتصال
اتصال
اتصال

خذ درع I2C لفوتون الجسيمات وادفعه برفق فوق دبابيس فوتون الجسيمات.

ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر TMP100 والطرف الآخر بغطاء I2C.

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

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

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

يمكن تنزيل رمز الجسيمات الخاص بـ TMP100 من مستودع GitHub - Dcube Store

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

github.com/DcubeTechVentures/TMP100…

لقد استخدمنا مكتبتين لرمز الجسيمات ، وهما application.h و spark_wiring_i2c.h. مكتبة Spark_wiring_i2c مطلوبة لتسهيل اتصال I2C مع المستشعر.

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

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

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

// TMP100

// تم تصميم هذا الرمز للعمل مع الوحدة النمطية المصغرة TMP100_I2CS I2C المتوفرة في Dcube Store.

#يشمل

#يشمل

// عنوان TMP100 I2C هو 0x4F (79)

#define Addr 0x4F

تعويم cTemp = 0 ، fTemp = 0 ؛

الإعداد باطل()

{

// تعيين متغير

Particle.variable ("i2cdevice"، "TMP100") ؛

Particle.variable ("cTemp" ، cTemp) ؛

// تهيئة اتصال 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 ؛

// إخراج البيانات إلى لوحة القيادة

Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛

Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛

تأخير (1000) ؛

}

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

تتضمن التطبيقات المختلفة التي تتضمن مستشعر درجة الحرارة الرقمية ذات الطاقة المنخفضة وعالية الدقة TMP100 مراقبة درجة حرارة مصدر الطاقة ، والحماية الحرارية للأجهزة الطرفية للكمبيوتر ، وإدارة البطارية بالإضافة إلى الأجهزة المكتبية.

موصى به: