2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
MCP9808 yüksək dəqiqlikli rəqəmsal temperatur sensoru ± 0,5 ° C I2C mini moduldur. İstilik algılama tətbiqlərini asanlaşdıran istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə təcəssüm olunur. MCP9808 yüksək dəqiqlikli temperatur sensoru, rəqəmsal, I2C formatında kalibrlənmiş, xətti sensor siqnalları təmin edən forma faktoru və zəka baxımından sənaye standartına çevrildi. Burada Raspberry Pi istifadə edərək bir python kodu olan nümayişdir.
Addım 1: Nə Lazımdır..
1. Moruq Pi
2. MCP9808
3. I²C Kabel
4. Raspberry Pi üçün I²C Qalxanı
5. Ethernet Kabeli
Addım 2: Bağlantılar
Moruq pi üçün bir I2C qalxanı götürün və moruq pi -nin gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.
Sonra I2C kabelinin bir ucunu MCP9808 sensoruna, digər ucunu isə I2C ekranına bağlayın.
Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz.
Bağlantılar yuxarıdakı şəkildə göstərilmişdir.
Addım 3: Kod
MCP9808 üçün python kodu GitHub depomuzdan yükləyə bilərsiniz- Dcube Mağazası
İşdə bunun üçün bağlantı:
github.com/DcubeTechVentures/MCP9808
MCP9808 məlumat cədvəlini burada tapa bilərsiniz:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Python kodu üçün SMBus kitabxanasından istifadə etmişik, moruq pi üzərində SMBus quraşdırma addımları burada təsvir edilmişdir:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalaya bilərsiniz, belə verilir:
# Sərbəst iradə lisenziyası ilə paylandı.
# Əlaqədar əsərlərinin lisenziyalarına uyğun olması şərtilə, mənfəət və ya pulsuz olaraq istədiyiniz şəkildə istifadə edin.
# MCP9808
# Bu kod, Dcube Store -da mövcud olan MCP9808_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.
smbus idxal edin
idxal vaxtı
# I2C avtobusu alın
avtobus = smbus. SMBus (1)
# MCP9808 ünvanı, 0x18 (24)
# Konfiqurasiya qeydini seçin, 0x01 (1)
# 0x0000 (00) Davamlı çevrilmə rejimi, Gücləndirmə standartı
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, konfiqurasiya)
# MCP9808 ünvanı, 0x18 (24)
# Rgister qətnamə seçin, 0x08 (8)
# 0x03 (03) Çözünürlük = +0.0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # MCP9808 ünvanı, 0x18 (24)
# 0x05 (5), 2 baytdan məlumatları geri oxuyun
# Temp MSB, TEMP LSB
data = bus.read_i2c_block_data (0x18, 0x05, 2)
# Məlumatı 13 bitə çevirin
ctemp = ((data [0] & 0x1F) * 256) + məlumat [1]
əgər ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0.0625
ftemp = ctemp * 1.8 + 32
# Ekrana məlumat çıxarın
çap "Selsi İstiliyi: %.2f C" %ctemp
çap "Fahrenheitdəki temperatur: %.2f F" %ftemp
Addım 4: Tətbiqlər..:
MCP9808 Rəqəmsal Temperatur Sensoru, müxtəlif qida prosessorları ilə birlikdə sənaye dondurucuları və soyuducuları özündə birləşdirən bir neçə sənaye səviyyəli tətbiqə malikdir. Bu sensor müxtəlif fərdi kompüterlər, serverlər və digər PC ətraf qurğuları üçün istifadə edilə bilər.