51单片机检测温湿度并且上传到阿里云 您所在的位置:网站首页 esp8266wifi模块接51单片机 51单片机检测温湿度并且上传到阿里云

51单片机检测温湿度并且上传到阿里云

2024-07-10 08:28| 来源: 网络整理| 查看: 265

这个项目基于51单片机、ESP8266WiFi模块、温湿度DHT11传感器、阿里云来完成。

目录

1、项目构思

2、各模块的硬件连线及代码编写

2.1、dht11温湿度模块

2.1.1、dht11硬件连接

2.1.2dht11代码编写

2.2、esp8266(WiFi模块)

2.2.1、硬件连接

2.2.2 ESP8266代码编写

2.3阿里云

3.产品结果展示:

1、项目构思

DHT11温湿度传感器采集数据后发送给单片机,单片机在经过简单的数据处理后把数据发送给esp8266WiFi模块,WiFi模块再把数据发送到阿里云上。

2、各模块的硬件连线及代码编写 2.1、dht11温湿度模块 2.1.1、dht11硬件连接

根据淘宝客服给的dht11模块资料,我们可以得出DHT11的供电电压为 3-5.5V这个信息以及dht11与单片机之间通过单总线的数据格式(即通信只需要用到data这一根引脚),因此关于dht11的引脚接线就是:

VCC接单片机上的上的5v引脚

DATA引脚接单片机任意一个IO引脚

GND接地

2.1.2dht11代码编写

单片机与dht11一次完整的数据传输为40bit,高位先出。

数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和

通讯过程如下图所示:

 接收到数据后,数据分为数据0和数据1

数字0信号表示方法如下图所示

数据 1信号表示方法如下图所示

由此,我们可以编写出dht11检测温湿度的代码(dht11.c)

#include "main.h" //DHT11起始信号 void DHT11_start() { Temp_data=1; delay_us(2); Temp_data=0; delay_ms(20); Temp_data=1; delay_us(13); } //接收一个字节 unsigned char DHT11_rec_byte() { unsigned char i,dat; for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有