วันพุธที่ 1 ธันวาคม พ.ศ. 2564

AHT10 I2C SIGNAL

เอาภาพของ Logic Analyzer มาลงไว้ วันข้างหน้าจะแวะมาเปิดดู เป็นการอ่านค่าเซนเซอร์ผ่าน I2C bus

Fig.1 Captured signal while reading AHT10, Address 0x38.


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



MAPs

วันก่อนได้ลองเขียนแบบ แบบตัวนั้นมันต้องแนบแผนที่สังเขปของโครงการ ลองๆ แล้วก็ใช้ snazzymaps แล้วก็เอามาทำต่อใน inkscape มันก็ออกมาดูได้ระดับห...