File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed
Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change 1+ # [ mpy-lib] ( https://github.com/micropython-Chinese-Community/mpy-lib )
2+
3+ ## AHT20 SENSOR
4+
5+
6+ ## Example
7+
8+
9+ ``` py
10+ from machine import I2C , Pin
11+ from aht20 import AHT20
12+ from time import sleep_ms
13+
14+ i2c = I2C(0 , sda = Pin(4 ), scl = Pin(5 ))
15+ aht = AHT20(i2c)
16+
17+ while 1 :
18+ aht.measure()
19+ print (' Humi: {:.2f } %, Temp: {:.2f } C' .format(aht.Humi(), aht.Temp()))
20+ sleep_ms(1000 )
21+ ```
Original file line number Diff line number Diff line change 1+ '''
2+ mpy drive for AHT20 Sensor
3+
4+ Author: shaoziyang
5+ Date: 2023.8
6+
7+ http://www.micropython.org.cn
8+
9+ '''
10+ from machine import I2C
11+ from micropython import const
12+ from time import sleep_ms
13+
14+ CMD_INIT = const (0xBE )
15+ CMD_MEASURE = const (0xAC )
16+ CMD_RESET = const (0xBA )
17+
18+ class AHT20 :
19+
20+ def __init__ (self , i2c ):
21+ self .i2c = i2c
22+ self .addr = 56
23+ self .tb = bytearray (3 )
24+ self .rb = bytearray (6 )
25+ self ._H = 0
26+ self ._T = 0
27+ self .init ()
28+
29+ def set (self , cmd , dat ):
30+ self .tb [0 ] = cmd
31+ self .tb [1 ] = dat >> 8
32+ self .tb [2 ] = dat
33+ self .i2c .writeto_mem (self .addr , cmd , self .tb )
34+
35+ def get (self ):
36+ self .i2c .readfrom_into (self .addr , self .rb )
37+
38+ def init (self ):
39+ self .set (CMD_INIT , 0x0800 )
40+
41+ def reset (self ):
42+ self .set (CMD_RESET , 0 )
43+
44+ def measure (self ):
45+ self .set (CMD_MEASURE , 0x3300 )
46+ sleep_ms (75 )
47+ self .get ()
48+ self ._H = (self .rb [1 ]<< 12 )+ (self .rb [2 ]<< 4 )+ (self .rb [3 ]>> 4 )
49+ self ._T = ((self .rb [3 ]% 16 )<< 16 )+ (self .rb [4 ]<< 8 )+ self .rb [5 ]
50+
51+ def Humi (self ):
52+ return (self ._H * 100 )/ (1 << 20 )
53+
54+ def Temp (self ):
55+ return (self ._T * 200 )/ (1 << 20 )- 50
56+
57+
You can’t perform that action at this time.
0 commit comments