สารบัญ:

อนุภาคโฟตอน - บทช่วยสอนเกี่ยวกับเซ็นเซอร์อุณหภูมิ TMP100: 4 ขั้นตอน
อนุภาคโฟตอน - บทช่วยสอนเกี่ยวกับเซ็นเซอร์อุณหภูมิ TMP100: 4 ขั้นตอน

วีดีโอ: อนุภาคโฟตอน - บทช่วยสอนเกี่ยวกับเซ็นเซอร์อุณหภูมิ TMP100: 4 ขั้นตอน

วีดีโอ: อนุภาคโฟตอน - บทช่วยสอนเกี่ยวกับเซ็นเซอร์อุณหภูมิ TMP100: 4 ขั้นตอน
วีดีโอ: กลศาสตร์ควอนตัมและการนำไปประยุกต์ใช้ประโยชน์ (ฟิสิกส์ ม 6 เล่ม 6 บทที่ 19) 2024, พฤศจิกายน
Anonim
Image
Image

TMP100 โมดูล I2C MINI เซ็นเซอร์อุณหภูมิดิจิตอลกำลังไฟต่ำและความแม่นยำสูง TMP100 เหมาะสำหรับการวัดอุณหภูมิแบบขยายเวลา อุปกรณ์นี้มีความแม่นยำ ±1°C โดยไม่ต้องสอบเทียบหรือปรับสภาพสัญญาณส่วนประกอบภายนอก นี่คือการสาธิตด้วยอนุภาคโฟตอน

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

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

1. อนุภาคโฟตอน

2. TMP100

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

4. I²C Shield สำหรับอนุภาคโฟตอน

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

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

นำเกราะป้องกัน I2C สำหรับโฟตอนอนุภาคแล้วดันเบาๆ เหนือหมุดของโฟตอนอนุภาค

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

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

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

รหัส
รหัส

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

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

github.com/DcubeTechVentures/TMP100…

เราใช้สองไลบรารีสำหรับรหัสอนุภาค ซึ่งได้แก่ application.h และ spark_wiring_i2c.h จำเป็นต้องมีไลบรารี Spark_wiring_i2c เพื่ออำนวยความสะดวกในการสื่อสาร I2C กับเซ็นเซอร์

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

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

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

// TMP100

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

#รวม

#รวม

// ที่อยู่ TMP100 I2C คือ 0x4F(79)

#define แอดเดอร์ 0x4F

float cTemp = 0, fTemp = 0;

การตั้งค่าเป็นโมฆะ ()

{

// ตั้งค่าตัวแปร

Particle.variable("i2cdevice", "TMP100");

Particle.variable("cTemp", cTemp);

// เริ่มต้นการสื่อสาร I2C เป็น MASTER

Wire.begin();

// เริ่มต้นการสื่อสารแบบอนุกรม กำหนดอัตรารับส่งข้อมูล = 9600

Serial.begin(9600);

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr);

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

Wire.write(0x01);

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

Wire.write(0x60);

// หยุดการส่ง I2C

Wire.endTransmission();

ล่าช้า (300);

}

วงเป็นโมฆะ ()

{

ข้อมูล int ที่ไม่ได้ลงนาม[2];

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr);

// เลือก data register

Wire.write(0x00);

// หยุดการส่ง I2C

Wire.endTransmission();

// ขอข้อมูล 2 ไบต์

Wire.requestFrom(Addr, 2);

// อ่านข้อมูลขนาด 2 ไบต์

// cTemp msb, cTemp lsb

ถ้า (Wire.available() == 2)

{

data[0] = Wire.read();

ข้อมูล[1] = Wire.read();

}

// แปลงข้อมูล

cTemp = (((ข้อมูล[0] * 256) + (ข้อมูล[1] & 0xF0)) / 16) * 0.0625;

fTemp = cTemp * 1.8 + 32;

// ส่งออกข้อมูลไปยังแดชบอร์ด

Particle.publish("อุณหภูมิในเซลเซียส: ", String(cTemp));

Particle.publish("อุณหภูมิในฟาเรนไฮต์: ", สตริง (fTemp));

ล่าช้า (1000);

}

ขั้นตอนที่ 4: การใช้งาน:

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

แนะนำ: