เอาภาพของ Logic Analyzer มาลงไว้ วันข้างหน้าจะแวะมาเปิดดู เป็นการอ่านค่าเซนเซอร์ผ่าน I2C bus
Fig.2 Captured signal while reading AHT10 by increasing retention time 200ms (should larger than 75ms) |
ความถี่ SCL ที่ 100kHz ของ Arduino Pro mini 168 5V ดูแล้วค่าไม่คลาดเคลื่อนเลย ถ้าเป็น STM8S นี่ก็ประมาณ 99.3 kHz
การอ่านค่าต้องอ่านมา 6 ค่า ค่าแรก 0x99 หรือ 0b1001 1001 จะเป็น status อันนี้หมายถึง device busy ต้องเพิ่มเวลาก่อนที่ส่งคำสั่งให้อ่านค่า ในคู่มือระบุให้ไม่น้อยกว่า 75ms จาก fig.2 เป็น 0x19 หรือ 0b0001 1001 อันนี้ปกติ
ข้อมูล RH อยู่ที่ byte 2,3 และ 4 (bit 7-4)
ข้อมูล T อยู่ที่ byte 4 (bit 3-0) byte 5,6
จากนั้นต้องเอาไว้คิดตามสมการ ที่เขียนไว้ในคู่มือ
RH = [Signal*100% ] / [2^20]
T = ([Signal *200] / [2^20] ) -50
ไม่มีความคิดเห็น:
แสดงความคิดเห็น