جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
TCN75A عبارة عن مستشعر درجة حرارة تسلسلي ثنائي الأسلاك مدمج مع محول درجة حرارة إلى رقمي. تم دمجه مع سجلات المستخدم القابلة للبرمجة والتي توفر المرونة لتطبيقات استشعار درجة الحرارة. تسمح إعدادات التسجيل للمستخدمين بتكوين وضع توفير الطاقة ووضع الإغلاق ووضع اللقطة الواحدة وما إلى ذلك. يحتوي المستشعر على واجهة تسلسلية متوافقة مع i2c والتي يمكن أن تسهل توصيل ما يصل إلى ثمانية أجهزة في ناقل تسلسلي واحد. ها هو توضيحها باستخدام فوتون الجسيم.
الخطوة 1: ماذا تحتاج…
1. جسيم الفوتون
2. TCN75A
3. كابل I²C
4. I²C Shield for Particle Photon
الخطوة الثانية: التوصيلات:
خذ درع I2C لفوتون الجسيمات وادفعه برفق فوق دبابيس فوتون الجسيمات.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر TCN75A والطرف الآخر بدرع I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود الجسيمات الخاص بـ TCN75A من مستودع جيثب - متجر DCUBE.
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
لقد استخدمنا مكتبتين لرمز الجسيمات ، وهما application.h و spark_wiring_i2c.h. مكتبة Spark_wiring_i2c مطلوبة لتسهيل اتصال I2C مع المستشعر.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// TCN75A
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية المصغرة TCN75A_I2CS I2C
#يشمل
#يشمل
// عنوان TCN75A I2C هو 0x48 (72)
#define Addr 0x48
تعويم cTemp = 0.0 ، fTemp = 0.0 ؛
درجة الحرارة int = 0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "TCN75A") ؛
Particle.variable ("cTemp" ، cTemp) ؛
// تهيئة اتصال I2C كسيد
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التكوين
Wire.write (0x01) ؛
// قرار ADC 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 بايت من البيانات
// temp msb، temp lsb
إذا (Wire.available () == 2)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
}
// تحويل البيانات إلى 12 بت
temp = (((data [0] * 256) + (data [1] & 0xF0)) / 16) ؛
إذا (درجة الحرارة> 2047)
{
درجة الحرارة - = 4096 ؛
}
cTemp = درجة الحرارة * 0.0625 ؛
fTemp = (cTemp * 1.8) + 32 ؛
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛
Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛
تأخير (1000) ؛
}
الخطوة 4: التطبيقات:
TCN75A هو مستشعر لدرجة الحرارة يمكن استخدامه في أجهزة الكمبيوتر الشخصية والخوادم ، ويمكن أيضًا نشره في أنظمة الترفيه ، والمعدات المكتبية ، ومحركات الأقراص الصلبة وغيرها من الأجهزة الطرفية للكمبيوتر الشخصي ، كما يجد هذا المستشعر تطبيقه في معدات اتصال البيانات.