สารบัญ:

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

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

วีดีโอ: Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: 4 ขั้นตอน
วีดีโอ: Keynote - Retro Gaming with Java, JavaFX, and Raspberry Pi 2024, พฤศจิกายน
Anonim
Image
Image

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

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

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

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

2. MCP9803

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

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

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

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

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

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

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

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

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

รหัส
รหัส

รหัสจาวาสำหรับ MCP9803 สามารถดาวน์โหลดได้จากที่เก็บ github ของเรา - Dcube Store

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

github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java

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

pi4j.com/install.html

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

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

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

// MCP9803

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

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

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

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

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

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

{

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

{

// สร้างบัส I2C

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

// รับอุปกรณ์ I2C ที่อยู่ MCP9803 I2C คือ 0x48 (72)

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

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

// โหมดการแปลงต่อเนื่อง, เพิ่มพลัง, โหมดเปรียบเทียบ, ความละเอียด 12 บิต

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

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

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

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

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

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

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

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

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

{

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

}

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

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

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

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

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

}

}

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

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

แนะนำ: