51单片机检测温湿度并且上传到阿里云 | 您所在的位置:网站首页 › esp8266wifi模块接51单片机 › 51单片机检测温湿度并且上传到阿里云 |
这个项目基于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 实验室设备网 版权所有 |