جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
يوفر مستشعر درجة الحرارة الرقمي STS21 أداءً فائقًا وبصمة موفرة للمساحة. يوفر إشارات خطية معايرة بتنسيق رقمي I2C. يعتمد تصنيع هذا المستشعر على تقنية CMOSens ، والتي تنسب إلى الأداء الفائق والموثوقية لـ STS21. يمكن تغيير دقة STS21 عن طريق الأوامر ، ويمكن الكشف عن البطارية المنخفضة ويساعد المجموع الاختباري على تحسين موثوقية الاتصال. هذا هو عرضه للتفاعل مع الفوتون الجسيمي.
الخطوة 1: ماذا تحتاج..
1. جسيم الفوتون
2. STS21
3. كابل I²C
4. I²C Shield for Particle Photon
الخطوة الثانية: التوصيل:
خذ درع I2C لفوتون الجسيمات وادفعه برفق فوق دبابيس فوتون الجسيمات.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر STS21 والطرف الآخر بدرع I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل رمز الجسيمات الخاص بـ STS21 من مستودع GitHub - Dcube Store.
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/STS21
لقد استخدمنا مكتبتين لرمز الجسيمات ، وهما application.h و spark_wiring_i2c.h. مكتبة Spark_wiring_i2c مطلوبة لتسهيل اتصال I2C مع المستشعر.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// STS21
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية STS21_I2CS I2C المصغرة المتوفرة في Dcube Store.
#يشمل
#يشمل
// عنوان STS21 I2C هو 0x4A (74)
# تعريف العنوان 0x4A
تعويم cTemp = 0.0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "STS21") ؛
Particle.variable ("cTemp" ، cTemp) ؛
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// بدء الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
تأخير (300) ؛}
حلقة فارغة()
{
بيانات int غير الموقعة [2] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد بدون عقد رئيسي
Wire.write (0xF3) ؛
// End I2C Transmission
Wire.endTransmission () ؛
تأخير (500) ؛
// طلب 2 بايت من البيانات
Wire.request From (العنوان ، 2) ؛
// قراءة 2 بايت من البيانات
إذا (Wire.available () == 2)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
}
// تحويل البيانات
int rawtmp = بيانات [0] * 256 + بيانات [1] ؛
قيمة int = rawtmp & 0xFFFC ؛
cTemp = -46.85 + (175.72 * (القيمة / 65536.0)) ؛
تعويم fTemp = cTemp * 1.8 + 32 ؛
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛
Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛
تأخير (1000) ؛
}
الخطوة 4: التطبيقات:
يمكن استخدام مستشعر درجة الحرارة الرقمي STS21 في الأنظمة التي تتطلب مراقبة درجة حرارة عالية الدقة. يمكن دمجها في أجهزة الكمبيوتر المختلفة والمعدات الطبية وأنظمة التحكم الصناعية مع متطلبات قياس درجة الحرارة بدقة عالية.