สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:
- ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:
- ขั้นตอนที่ 3: รหัสสำหรับการวัดอุณหภูมิ:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: การวัดอุณหภูมิโดยใช้ MCP9803 และ Raspberry Pi: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูงแบบ 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง
ในบทช่วยสอนนี้ มีการสาธิตการเชื่อมต่อโมดูลเซ็นเซอร์ MCP9803 กับ raspberry pi และแสดงการเขียนโปรแกรมโดยใช้ภาษา Java ด้วย ในการอ่านค่าอุณหภูมิ เราใช้ Raspberry Pi กับอะแดปเตอร์ I2C อะแดปเตอร์ I2C นี้ทำให้การเชื่อมต่อกับโมดูลเซ็นเซอร์ทำได้ง่ายและเชื่อถือได้มากขึ้น
ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:
วัสดุที่เราต้องการเพื่อให้บรรลุเป้าหมายประกอบด้วยส่วนประกอบฮาร์ดแวร์ต่อไปนี้:
1. MCP9803
2. ราสเบอร์รี่ปี่
3. สายเคเบิล I2C
4. I2C Shield สำหรับราสเบอร์รี่ pi
5. สายเคเบิลอีเธอร์เน็ต
ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:
ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และราสเบอร์รี่ pi ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:
MCP9803 จะทำงานบน I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์
นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า
สิ่งที่คุณต้องมีคือสี่สาย! ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C
การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน
ขั้นตอนที่ 3: รหัสสำหรับการวัดอุณหภูมิ:
ข้อดีของการใช้ raspberry pi คือ ให้ความยืดหยุ่นของภาษาการเขียนโปรแกรมที่คุณต้องการตั้งโปรแกรมบอร์ดเพื่อเชื่อมต่อกับเซ็นเซอร์ ใช้ประโยชน์จากข้อได้เปรียบของบอร์ดนี้ เรากำลังแสดงให้เห็นว่านี่คือการเขียนโปรแกรมใน Java รหัสจาวาสำหรับ MCP9803 สามารถดาวน์โหลดได้จากชุมชน Github ของเราที่ Dcube Store
เพื่อความสะดวกของผู้ใช้ เรากำลังอธิบายรหัสที่นี่ด้วย:
ในขั้นแรกของการเข้ารหัส คุณต้องดาวน์โหลดไลบรารี pi4j ในกรณีของจาวา เนื่องจากไลบรารีนี้รองรับฟังก์ชันที่ใช้ในโค้ด ดังนั้น หากต้องการดาวน์โหลดห้องสมุด คุณสามารถไปที่ลิงก์ต่อไปนี้:
pi4j.com/install.html
คุณสามารถคัดลอกโค้ดจาวาที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย:
นำเข้า 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);
}
}
ห้องสมุดที่อำนวยความสะดวกในการสื่อสาร i2c ระหว่างเซ็นเซอร์และบอร์ดคือ pi4j แพ็คเกจต่างๆ I2CBus, I2CDevice และ I2CFactory ช่วยสร้างการเชื่อมต่อ
นำเข้า com.pi4j.io.i2c. I2CBus;
นำเข้า com.pi4j.io.i2c. I2CDevice;
นำเข้า com.pi4j.io.i2c. I2CFactory;
นำเข้า java.io. IOException;
ฟังก์ชัน write() และ read() ใช้เพื่อเขียนคำสั่งบางอย่างไปยังเซ็นเซอร์เพื่อให้ทำงานในโหมดเฉพาะและอ่านเอาต์พุตของเซ็นเซอร์ตามลำดับ
เอาต์พุตของเซ็นเซอร์จะแสดงในภาพด้านบนด้วย
ขั้นตอนที่ 4: การใช้งาน:
MCP9803 สามารถใช้ได้กับอุปกรณ์หลากหลายประเภท ซึ่งรวมถึงคอมพิวเตอร์ส่วนบุคคลและอุปกรณ์ต่อพ่วง ฮาร์ดดิสก์ไดรฟ์ ระบบความบันเทิงต่างๆ ระบบสำนักงาน และระบบสื่อสารข้อมูล เซ็นเซอร์นี้สามารถรวมเข้ากับระบบที่ซับซ้อนต่างๆ
แนะนำ:
การวัดอุณหภูมิโดยใช้ AD7416ARZ และ Raspberry Pi: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ AD7416ARZ และ Raspberry Pi: AD7416ARZ เป็นเซ็นเซอร์อุณหภูมิ 10-Bit พร้อมตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอลสี่ช่องสัญญาณเดียวและเซ็นเซอร์อุณหภูมิบนบอร์ดรวมอยู่ในนั้น เซ็นเซอร์อุณหภูมิบนชิ้นส่วนสามารถเข้าถึงได้ผ่านช่องสัญญาณมัลติเพล็กเซอร์ อุณหภูมิความแม่นยำสูงนี้
การวัดอุณหภูมิโดยใช้ MCP9803 และ Arduino Nano: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ MCP9803 และ Arduino Nano: MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูงแบบ 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง ใ
การวัดอุณหภูมิโดยใช้ MCP9803 และอนุภาคโฟตอน: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ MCP9803 และอนุภาคโฟตอน: MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูงแบบ 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง ใ
การวัดอุณหภูมิโดยใช้ STS21 และ Raspberry Pi: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ STS21 และ Raspberry Pi: STS21 Digital Temperature Sensor มีประสิทธิภาพที่เหนือกว่าและประหยัดพื้นที่ ให้สัญญาณเชิงเส้นที่ปรับเทียบแล้วในรูปแบบดิจิตอล I2C การผลิตเซ็นเซอร์นี้ใช้เทคโนโลยี CMOSens ซึ่งมีคุณสมบัติที่เหนือกว่า
การวัดอุณหภูมิโดยใช้ TMP112 และ Raspberry Pi: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ TMP112 และ Raspberry Pi: TMP112 โมดูล I2C MINI ที่มีความแม่นยำสูง ใช้พลังงานต่ำ เซ็นเซอร์อุณหภูมิแบบดิจิตอล TMP112 เหมาะสำหรับการวัดอุณหภูมิแบบขยาย อุปกรณ์นี้มีความแม่นยำ ±0.5°C โดยไม่ต้องสอบเทียบหรือปรับสภาพสัญญาณส่วนประกอบภายนอก ฉัน