Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pico-micropython-grove
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Embeded
pico-micropython-grove
Commits
92b22959
提交
92b22959
authored
5月 26, 2021
作者:
唐睿骞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add temper&humidity sensor
上级
21a13001
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
65 行增加
和
0 行删除
+65
-0
dht20.py
I2C/dht20.py
+65
-0
没有找到文件。
I2C/dht20.py
0 → 100644
浏览文件 @
92b22959
from
machine
import
I2C
from
time
import
sleep_ms
class
DHT20
(
object
):
def
__init__
(
self
,
i2c
):
self
.
i2c
=
i2c
if
(
self
.
dht20_read_status
()
&
0x80
)
==
0x80
:
self
.
dht20_init
()
def
read_dht20
(
self
):
self
.
i2c
.
writeto
(
0x38
,
bytes
([
0xac
,
0x33
,
0x00
]))
sleep_ms
(
80
)
cnt
=
0
while
(
self
.
dht20_read_status
()
&
0x80
)
==
0x80
:
sleep_ms
(
1
)
if
cnt
>=
100
:
cnt
+=
1
break
data
=
self
.
i2c
.
readfrom
(
0x38
,
7
,
True
)
n
=
[]
for
i
in
data
[:]:
n
.
append
(
i
)
return
n
def
dht20_read_status
(
self
):
data
=
self
.
i2c
.
readfrom
(
0x38
,
1
,
True
)
return
data
[
0
]
def
dht20_init
(
self
):
i2c
.
writeto
(
0x38
,
bytes
([
0xa8
,
0x00
,
0x00
]))
sleep_ms
(
10
)
i2c
.
writeto
(
0x38
,
bytes
([
0xbe
,
0x08
,
0x00
]))
def
calc_crc8
(
self
,
data
):
crc
=
0xff
for
i
in
data
[:
-
1
]:
crc
^=
i
for
j
in
range
(
8
):
if
crc
&
0x80
:
crc
=
(
crc
<<
1
)
^
0x31
else
:
crc
=
(
crc
<<
1
)
return
crc
def
dht20_temperature
(
self
):
data
=
self
.
read_dht20
()
Temper
=
0
if
1
:
Temper
=
(
Temper
|
data
[
3
])
<<
8
Temper
=
(
Temper
|
data
[
4
])
<<
8
Temper
=
Temper
|
data
[
5
]
Temper
=
Temper
&
0xfffff
Temper
=
(
Temper
*
200
*
10
/
1024
/
1024
-
500
)
/
10
return
Temper
def
dht20_humidity
(
self
):
data
=
self
.
read_dht20
()
humidity
=
0
if
1
:
humidity
=
(
humidity
|
data
[
1
])
<<
8
humidity
=
(
humidity
|
data
[
2
])
<<
8
humidity
=
humidity
|
data
[
3
]
humidity
=
humidity
>>
4
humidity
=
(
humidity
*
100
*
10
/
1024
/
1024
)
/
10
return
humidity
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论