สารบัญ:

Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: 4 ขั้นตอน

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

วีดีโอ: Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: 4 ขั้นตอน
วีดีโอ: Raspberry Pi MCP9805 Temperature Sensor Java Tutorial 2024, พฤศจิกายน
Anonim
Image
Image

MCP9805 เป็นเซ็นเซอร์อุณหภูมิแบบดิจิตอลของโมดูลหน่วยความจำ มันถูกรวมเข้ากับรีจิสเตอร์ที่ตั้งโปรแกรมได้ของผู้ใช้ซึ่งให้ความยืดหยุ่นสำหรับการใช้งานการตรวจจับอุณหภูมิ เซ็นเซอร์นี้ได้รับการออกแบบให้รวมอยู่ในเซ็นเซอร์อุณหภูมิโมดูลหน่วยความจำแพลตฟอร์มมือถือ นี่คือการสาธิตด้วยรหัส java โดยใช้ Raspberry Pi

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

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

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

2. MCP9805

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

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

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

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

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

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

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

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

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

รหัส
รหัส

โค้ดจาวาสำหรับ MCP9805 สามารถดาวน์โหลดได้จากที่เก็บ GitHub-Dcube Store

นี่คือลิงค์สำหรับสิ่งเดียวกัน:

github.com/DcubeTechVentures/MCP9805

แผ่นข้อมูลของ MCP9805 สามารถพบได้ที่นี่:

ww1.microchip.com/downloads/en/DeviceDoc/21…

เราใช้ไลบรารี pi4j สำหรับโค้ด java ขั้นตอนในการติดตั้ง pi4j บน raspberry pi ได้อธิบายไว้ที่นี่:

pi4j.com/install.html

คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:

// แจกจ่ายด้วยใบอนุญาตอิสระ

// ใช้มันตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง

// MCP9805

// รหัสนี้ออกแบบมาเพื่อทำงานกับ MCP9808_I2CS I2C Mini Module ที่มีอยู่ใน Dcube Store

นำเข้า com.pi4j.io.i2c. I2CBus;

นำเข้า com.pi4j.io.i2c. I2CDevice;

นำเข้า com.pi4j.io.i2c. I2CFactory;

นำเข้า java.io. IOException;

คลาสสาธารณะ MCP9805

{

โมฆะคงที่สาธารณะหลัก (สตริง args ) พ่นข้อยกเว้น

{

// สร้างบัส I2C

I2CBus บัส = I2CFactory.getInstance(I2CBus. BUS_1);

// รับอุปกรณ์ I2C ที่อยู่ MCP9805 I2C คือ 0x18(24)

อุปกรณ์ I2CDevice = Bus.getDevice(0x18);

เธรดการนอนหลับ (300);

// เลือกการตั้งค่าการลงทะเบียน

// โหมดการแปลงต่อเนื่อง, เพิ่มพลัง

byte config = ไบต์ใหม่[2];

config[0] = 0x00;

config[1] = 0x00;

อุปกรณ์.write(0x01, config, 0, 2);

// เลือกความละเอียด rgister

// ความละเอียด = +0.0625 / C

อุปกรณ์.write(0x08, (ไบต์)0x03);

เธรดการนอนหลับ (300);

// อ่านข้อมูลขนาด 2 ไบต์จากที่อยู่ 0x05(05)

// ชั่วคราว msb, ชั่วคราว lsb

ไบต์ data = ไบต์ใหม่[2];

อุปกรณ์อ่าน (0x05, ข้อมูล, 0, 2);

// แปลงข้อมูลเป็น 13 บิต

int temp = ((data[0] & 0x1F) * 256 + (data[1] & 0xFF));

ถ้า (อุณหภูมิ > 4095)

{

อุณหภูมิ -= 8192;

}

cTemp สองเท่า = อุณหภูมิ * 0.0625;

fTemp สองเท่า = cTemp * 1.8 + 32;

// ส่งออกข้อมูลไปที่หน้าจอ

System.out.printf("อุณหภูมิในเซลเซียสคือ: %.2f C %n", cTemp);

System.out.printf("อุณหภูมิในหน่วยฟาเรนไฮต์คือ: %.2f F %n", fTemp);

}

}

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

MCP9805 สามารถรวมเข้ากับระบบต่างๆ ซึ่งรวมถึงระบบตรวจสอบอุณหภูมิโมดูลหน่วยความจำอินไลน์คู่ (DIMM) คอมพิวเตอร์ส่วนบุคคลและเซิร์ฟเวอร์ โดยทั่วไปสามารถใช้เป็นเซ็นเซอร์อุณหภูมิเอนกประสงค์ได้

แนะนำ: