جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
MCP9808 عبارة عن مستشعر درجة حرارة رقمي عالي الدقة ± 0.5 درجة مئوية وحدة صغيرة I2C. وهي مُجسَّدة بسجلات قابلة للبرمجة بواسطة المستخدم تسهل تطبيقات استشعار درجة الحرارة. أصبح مستشعر درجة الحرارة عالي الدقة MCP9808 معيارًا صناعيًا من حيث عامل الشكل والذكاء ، مما يوفر إشارات مستشعر خطية ومعايرة بتنسيق رقمي I2C. هذا هو العرض التوضيحي برمز Python باستخدام Raspberry Pi.
الخطوة 1: ماذا تحتاج..
1. Raspberry Pi
2. MCP9808
3. كابل I²C
4. I²C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة 2: التوصيلات
خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر MCP9808 والطرف الآخر بغطاء I2C.
قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.
تظهر الاتصالات في الصورة أعلاه.
الخطوة 3: الكود
يمكن تنزيل كود python الخاص بـ MCP9808 من مستودع GitHub - Dcube Store
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/MCP9808
يمكن العثور على ورقة بيانات MCP9808 هنا:
ww1.microchip.com/downloads/en/DeviceDoc/25…
لقد استخدمنا مكتبة SMBus لرمز Python ، يتم وصف خطوات تثبيت SMBus على Raspberry Pi هنا:
pypi.python.org/pypi/smbus-cffi/0.5.1
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
# موزعة بترخيص الإرادة الحرة.
# استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، بشرط أن تتناسب مع تراخيص الأعمال المرتبطة بها.
# MCP9808
# تم تصميم هذا الرمز للعمل مع الوحدة النمطية الصغيرة MCP9808_I2CS I2C المتوفرة في Dcube Store.
استيراد smbus
وقت الاستيراد
# احصل على حافلة I2C
الحافلة = smbus. SMBus (1)
# عنوان MCP9808 ، 0x18 (24)
# حدد سجل التكوين ، 0x01 (1)
# 0x0000 (00) وضع التحويل المستمر ، التشغيل الافتراضي
التكوين = [0x00 ، 0x00]
bus.write_i2c_block_data (0x18 ، 0x01 ، التكوين)
# عنوان MCP9808 ، 0x18 (24)
# حدد الدقة rgister ، 0x08 (8)
# 0x03 (03) الدقة = +0.0625 / C.
bus.write_byte_data (0x18 ، 0x08 ، 0x03)
time.sleep (0.5) # عنوان MCP9808 ، 0x18 (24)
# قراءة البيانات مرة أخرى من 0x05 (5) ، 2 بايت
# Temp MSB ، TEMP LSB
data = bus.read_i2c_block_data (0x18، 0x05، 2)
# تحويل البيانات إلى 13 بت
ctemp = ((البيانات [0] & 0x1F) * 256) + البيانات [1]
إذا كان ctemp> 4095:
ctemp - = 8192
ctemp = ctemp * 0.0625
ftemp = ctemp * 1.8 + 32
# إخراج البيانات إلى الشاشة
طباعة "درجة الحرارة بالدرجة المئوية:٪.2f C"٪ ctemp
طباعة "درجة الحرارة بالفهرنهايت هي:٪.2f F"٪ ftemp
الخطوة الرابعة: الطلبات..:
يحتوي مستشعر درجة الحرارة الرقمي MCP9808 على العديد من التطبيقات على مستوى الصناعة والتي تتضمن المجمدات الصناعية والثلاجات جنبًا إلى جنب مع العديد من معالجات الطعام. يمكن استخدام هذا المستشعر للعديد من أجهزة الكمبيوتر الشخصية والخوادم بالإضافة إلى الأجهزة الطرفية الأخرى للكمبيوتر الشخصي.