Mundarija:

MCP9808 va Raspberry Pi yordamida haroratni kuzatish: 4 qadam
MCP9808 va Raspberry Pi yordamida haroratni kuzatish: 4 qadam

Video: MCP9808 va Raspberry Pi yordamida haroratni kuzatish: 4 qadam

Video: MCP9808 va Raspberry Pi yordamida haroratni kuzatish: 4 qadam
Video: Lesson 32: MCP9808 High Accuracy I2C Temperature | Arduino Step By Step Course 2024, Noyabr
Anonim
Image
Image

MCP9808 - yuqori aniqlikdagi raqamli harorat sensori ± 0,5 ° C I2C mini moduli. Ular foydalanuvchi tomonidan dasturlashtiriladigan registrlar bilan jihozlangan bo'lib, ular haroratni sezishni osonlashtiradi. MCP9808 yuqori aniqlikdagi harorat sensori raqamli, I2C formatida kalibrlangan, chiziqli sensorlar signallarini ta'minlovchi, form faktor va razvedka nuqtai nazaridan sanoat standartiga aylandi.

Ushbu qo'llanmada MCP9808 sensori modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uni python tilida dasturlash ham tasvirlangan. Harorat qiymatlarini o'qish uchun I2c adapterli malina pi ishlatilgan, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.

1 -qadam: Uskuna kerak:

Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi

Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:

1. MCP9808

2. Raspberry Pi

3. I2C kabeli

4. Malina pi uchun I2C qalqoni

5. Ethernet kabeli

2 -qadam: Uskuna ulanishi:

Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi

Uskuna ulanish bo'limi, asosan, sensori va malina pi o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:

MCP9808 I2C orqali ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.

Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz. Sizga faqat to'rtta sim kerak!

Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.

Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.

3 -qadam: Haroratni o'lchash kodi:

Haroratni o'lchash kodi
Haroratni o'lchash kodi

Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu taxtaning afzalliklaridan foydalanib, biz bu erda uning pitonda dasturlashini namoyish qilamiz. Python - sintaksisiga ega bo'lgan eng oson dasturlash tillaridan biri. MCP9808 uchun python kodini bizning github hamjamiyatidan, ya'ni DCUBE do'konlar hamjamiyatidan yuklab olish mumkin.

Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:

Kodlashning birinchi bosqichi sifatida siz python uchun SMBus kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:

pypi.python.org/pypi/smbus-cffi/0.5.1

Ish kodini bu erdan nusxalashingiz mumkin:

smbus import qilish

import vaqti

# I2C avtobusini oling = smbus. SMBus (1)

# MCP9808 manzili, 0x18 (24)

# Konfiguratsiya registrini tanlang, 0x01 (1)

# 0x0000 (00) Uzluksiz konvertatsiya qilish rejimi, sukut bo'yicha yoqish

config = [0x00, 0x00] bus.write_i2c_block_data (0x18, 0x01, config)

# MCP9808 manzili, 0x18 (24)

# Rxister o'lchamini tanlang, 0x08 (8)

# 0x03 (03) Ruxsat = +0.0625 / S

bus.write_byte_data (0x18, 0x08, 0x03)

vaqt uyqu (0,5)

# MCP9808 manzili, 0x18 (24)

# Ma'lumotni 0x05 (5), 2 baytdan o'qing

# Harorat MSB, TEMP LSB

ma'lumotlar = bus.read_i2c_block_data (0x18, 0x05, 2)

# Ma'lumotni 13 bitga aylantiring

ctemp = ((ma'lumotlar [0] va 0x1F) * 256) + ma'lumotlar [1]

agar ctemp> 4095 bo'lsa:

ctemp -= 8192

ctemp = ctemp * 0.0625

ftemp = ctemp * 1.8 + 32

# Ma'lumotlarni ekranga chiqarish

chop etish "Selsiydagi harorat: %.2f C" %ctemp

chop etish "Farengeytdagi harorat: %.2f F" %ftemp

Kod quyidagi buyruq yordamida bajariladi:

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

Sensor chiqishi foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.

4 -qadam: Ilovalar:

Ilovalar
Ilovalar

MCP9808 raqamli harorat sensori sanoat darajasidagi bir nechta dasturlarga ega, ular sanoat muzlatgichlari va muzlatgichlarni, shuningdek, turli xil oziq -ovqat protsessorlarini o'z ichiga oladi. Ushbu sensor turli xil shaxsiy kompyuterlar, serverlar va boshqa shaxsiy kompyuterlar uchun ishlatilishi mumkin.

Tavsiya: