สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี, สวัสดี..!!
ฉัน (Somanshu Choudhary) ในนามของกิจการ Dcube tech ที่จะวัดอุณหภูมิโดยใช้ Arduino nano มันเป็นหนึ่งในแอปพลิเคชันของโปรโตคอล I2C เพื่ออ่านข้อมูลแอนะล็อกของเซ็นเซอร์อุณหภูมิ TMP-112
ขั้นตอนที่ 1: ภาพรวม
- TMP-112 เป็นเซ็นเซอร์อุณหภูมิ
- ลิงก์เอกสารข้อมูล:
ขั้นตอนที่ 2: สิ่งที่คุณต้องการ / ลิงค์
- Arduino นาโน
- I²C Shield สำหรับ Arduino Nano
- สาย USB Type A ถึง Micro Type B ยาว 6 ฟุต
- สายเคเบิล I²C
- TMP112 I²C เซนเซอร์จับอุณหภูมิ ±.5°C โมดูลขนาดเล็ก I²C 12 บิต
ขั้นตอนที่ 3: แผนภาพวงจร
ขั้นตอนที่ 4: การเขียนโปรแกรม
#รวม
การตั้งค่าเป็นโมฆะ ()
{
// ที่อยู่ I2C ของ TMP112
#define TMP_ADDR 0x48
// เข้าร่วม I2c Bus ในฐานะมาสเตอร์
Wire.begin();
// เริ่มการสื่อสารแบบอนุกรม
Serial.begin(9600);
// เริ่มส่ง
Wire.beginTransmission (TMP_ADDR);
// เลือกเปิดใช้งานการลงทะเบียน
Wire.write(0x01);
// เลือกการทำงานปกติ
Wire.write(0x60A0);
// สิ้นสุดการส่งและปล่อยบัส I2C
Wire.endTransmission();
}
วงเป็นโมฆะ ()
{
// เริ่มส่ง
Wire.beginTransmission (TMP_ADDR);
// เลือก Data Registers
Wire.write(0X00);
// สิ้นสุดการส่ง
Wire.endTransmission();
ล่าช้า (500);
// ขอ 2 ไบต์, Msb ก่อน
Wire.requestFrom(TMP_ADDR, 2);
// อ่านสองไบต์
ในขณะที่(Wire.available())
{
//เอาขยะ
Serial.flush();
int msb = Wire.read();
int lsb = Wire.read();
Wire.endTransmission();
// การแปลงข้อมูลเป็นค่าดิบ
int rawtmp = msb << 8 |lsb;
ค่า int = rawtmp >> 4;
double ans = ค่า * 0.0625;
// พิมพ์เอาต์พุต
Serial.print("ค่าเซลเซียส: ");
Serial.println(ans);
}
}
ขั้นตอนที่ 5:
ฉันพยายามทำดีที่สุดแล้ว;-)
ต้องการข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของเรา:
www.dcubetechnologies.com