这个实验是读取温湿度数据,并在串口输出。
ESP32S3 通过 IO 使用单总线协议,就可以读取到当前的温湿度数据
(1) DHT11 数据时序图
1 起始信号
主机拉低总线不能小于 18ms(最大不得超过 30ms),然后微处理器的 I/O 设置为输入状态,由 于上拉电阻,主机的 I/O 即 DHT11 的 DATA 数据线也随之变高,等待 DHT11 作出回答信号
2 从机响应信号
DHT11 的 DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后 DHT11 的 DATA 引脚处于输出状态,输出 83 微秒的低电平作为应答信号,紧接着输出 87 微秒的高电平通知外设准 备接收数据,微处理器的 I/O 此时处于输入状态,检测到 I/O 有低电平(DHT11 回应信号)后,等 待 87 微秒的高电平后的数据接收3 从机返回 5 个字节的数据
由 DHT11 的 DATA 引脚输出 40 位数据,微处理器根据 I/O 电平的变化接收 40 位数据,位数据 “0”的格式为: 54 微秒的低电平和 23-27 微秒的高电平,位数据“1”的格式为: 54 微秒的低电
平加 68-74 微秒的高电平。