Thaimicrotron.com : Home | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การใช้งาน
SHT1x Sensor Probe วัดอุณหภูมิ ความชื้น |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pin
layout |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2). Command sequence | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.1). Transmission Start | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ลักษณะเงื่อนไขของสัญญาณมีลักษณะเป็น | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- Data เปลี่ยนจาก 1 เป็น 0 ขณะที่ SCK ลูกแรก เป็น 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- Data เปลี่ยนจาก 0 เป็น 1 ขณะที่ SCK ลูกที่2 เป็น 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.2). Connection reset sequence | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-เมื่อขาดการติดต่อกับอุปกรณ์ ให้ส่ง SCK ไปอย่างน้อย 9 ลูก ขณะที่ Data เป็น 1แล้วตามด้วย Transmission Start | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.3). I/O Characteristics | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Timing
Diagram |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3). List of commands | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SHT1x
list of commands |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การอ่านข้อมูลจาก Sensor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การรับส่งข้อมูล |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ชุดคำสั่งประกอบด้วย Transmission Start+Address+Command | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
โดย Address= 000 3 +Command 5 bit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.1) Measurement sequence (T and RH) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การอ่านค่าอุณหภูและความชื้นสัมพัทธ์ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ตัวอย่างเมื่อไมโครฯ ต้องการอ่านค่า Humidity จาก sensor ซึ่งมี address =000 และคำสั่ง=00101 จะมีชุดคำสั่งดังนี้ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ลักษณะสัญญาณในการอ่านข้อมูลจาก
Sensor |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
เมื่อ sensor รับทราบคำสั่งแล้วจะส่ง acknowledge (ACK) ด้วยการดึงขา Data ลงเป็น 0 (เส้นทึบ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ลักษณะสัญญาณในการอ่านข้อมูลT/H
2 byte จาก Sensor |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ข้อมูลของ temperature มีขนาด 14bit และ humidity มีขนาด 12bit (สามารถเปลี่ยนได้เป็น 12 และ 8 bit โดย status register.) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- เมื่อได้รับ
acknowledge แล้วให้ไมโครฯ รอสักครู่ประมาณ >210 ms เพื่อให้ Sensor พร้อม
แล้วจึงส่งสํญญาณ SCK ต่อไปอีก 2 byte สำหรับรับข้อมูล และ 1 byte สำหรับ ข้อมูล ตรวจสอบ ความผิดพลาด (CRC) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
จากตัวอย่างจะสามารถอ่านข้อมูล
12 bit ของ Humidity (4 bit แรกเป็น 0 เสมอ) ได้เป็น 0000 1001 0011 0001= 2353 (dec)= 75.79%RH |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
เมื่อได้ข้อมูลครบแล้วหากต้องการ CRC ให้ตอบ acknowledge ด้วยการดึงขา Data ลงเป็น 0 หากไม่ต้องการก็ข้ามขั้นตอนนี้ไป | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.2) การอ่านข้อมูลเพื่อตรวจสอบข้อผิดพลาด (CRC) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ลักษณะสัญญาณในการอ่านข้อมูล
CRC8 1byte จาก Sensor |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ส่งสํญญาณ SCK
ต่อไปอีก 1 byte (8 bit)สำหรับ ข้อมูล CRC หากสิ้นสุดการติดต่อก็ไม่ต้องตอบ acknowledge ปล่อยให้ Data เป็น 1 ไว้ เมื่อผ่าน SCK ลูกที่ 9 หากต้องการอ่านข้อมูลต่อ ให้ตอบ acknowledge ด้วยการดึงขา Data ลงเป็น 0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ตารางหาค่า
d1,d2 ขนาด 14 bit,12 bit ที่แรงดัน 5 และ 3V |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3) การเปลี่ยนข้อมูล digital | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การเปลี่ยนข้อมูล digital เป็นข้อมูล temperature | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ค่าของข้อมูล temperature มีลักษณะเป็นเชิงเส้นสามารถคำนวนได้โดยใช้สูตร | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
เช่นอ่านข้อมูล digital ขนาด14 bit ได้ SOT =011010 11111111B = 06911 dec | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ที่แรงดัน 5 V เมื่อต้องการอ่านค่าเป็นองศา Celsius จะได้ค่า d1= -40 ,d2 = 0.01 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ผลการคำนวน temperature = 29.11C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การเปลี่ยนข้อมูล digital เป็นข้อมูล humidity | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ค่าของข้อมูล humidity มีลักษณะไม่เป็นเชิงเส้น สามารถคำนวนได้ตามขั้นตอนดังนี้ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
เช่นอ่านข้อมูล digital ขนาด 12 bit ได้ RH-linear = 0110 11111111B =1791 dec | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ที่แรงดัน 5 V อ่านค่า Tc = 29.11C (จาก 3.3.1) เมื่อต้องการหาค่า humidity จะได้ค่า c1= -4 ,c2 = 0.0405 ,c3 = -0.0000028 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ผลการคำนวนค่า humidity = 60.18% | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ตัวอย่างการใช้งานโปรแกรม | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ศมิทธิ์
เอมสมบัติ |