สารบัญ:

Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน
วีดีโอ: How to use MCP9808 Temperature Sensor with Arduino code 2024, กรกฎาคม
Anonim
Image
Image
สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!

MCP9808 เป็นเซ็นเซอร์อุณหภูมิแบบดิจิตอลที่มีความแม่นยำสูง ±0.5°C I2C mini module สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์อุณหภูมิความแม่นยำสูง MCP9808 ได้กลายเป็นมาตรฐานอุตสาหกรรมในแง่ของฟอร์มแฟคเตอร์และความชาญฉลาด โดยให้สัญญาณเซ็นเซอร์เชิงเส้นที่ปรับเทียบแล้วในรูปแบบ I2C ดิจิทัล นี่คือการสาธิตด้วยรหัสหลามโดยใช้ Raspberry Pi

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!

สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!

1. ราสเบอร์รี่ปี่

2. MCP9808

3. สายเคเบิล I²C

4. I²C Shield สำหรับ Raspberry Pi

5. สายเคเบิลอีเธอร์เน็ต

ขั้นตอนที่ 2: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi

จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ MCP9808 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C

เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้

การเชื่อมต่อแสดงในภาพด้านบน

ขั้นตอนที่ 3: รหัส

รหัสหลามสำหรับ 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 Mini Module ที่มีอยู่ใน Dcube Store

นำเข้า smbus

เวลานำเข้า

# รับรถบัส I2C

รถบัส = smbus. SMBus(1)

# MCP9808 ที่อยู่ 0x18(24)

# เลือกการลงทะเบียนการกำหนดค่า 0x01(1)

# 0x0000(00) โหมดการแปลงต่อเนื่อง, ค่าเริ่มต้นของการเปิดเครื่อง

config = [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 ไบต์

# ชั่วคราว MSB, TEMP LSB

ข้อมูล = 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

ขั้นตอนที่ 4: การสมัคร..:

MCP9808 Digital Temperature Sensor มีการใช้งานระดับอุตสาหกรรมหลายแบบ ซึ่งรวมตู้แช่แข็งและตู้เย็นสำหรับอุตสาหกรรมพร้อมกับเครื่องเตรียมอาหารต่างๆ เซ็นเซอร์นี้สามารถใช้ได้กับคอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์ และอุปกรณ์ต่อพ่วงพีซีอื่นๆ

แนะนำ: