nodemcu+dth11.rar

  • d9_234670
    了解作者
  • 4KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-11 09:39
    上传日期
nodemcu+DHT11,将数据上传到自己的服务器,亲测有效,想加其他传感器可以在此代码基础上扩展
nodemcu+dth11.rar
  • nodemcu+dth11
  • nodemcu_dht11
  • DHT11.h
    1.1KB
  • nodemcu_dht11.ino
    5.9KB
  • DHT11.cpp
    3.1KB
内容介绍
/****************************************************************************** ----------------本例程仅供学习使用,未经作者允许,不得用于其他用途。----------- ------------------------版权所有,仿冒必究!----------------------------------- ----------------1.开发环境:Arduino IDE----------------------------------------- ----------------2.测试使用开发板型号:Arduino Leonardo or Arduino UNO R3------- ----------------3.单片机使用晶振:16M------------------------------------------ ----------------4.淘宝网址:Ilovemcu.taobao.com-------------------------------- ----------------------------epic-mcu.taobao.com-------------------------------- ----------------5.作者:神秘藏宝室--------------------------------------------- /* 连接WiFi的账号和密码 */ //#define wifi_ssid "Tenda_1C50E8" //#define wifi_passwd "shb123456" /******************************************************************************/ #include "DHT11.h" //定义变量 unsigned char HUMI_Buffer_Int = 0; unsigned char TEM_Buffer_Int = 0; DHT11::DHT11(int pin) { DHT11_DQ = pin; } //**************************************************** //初始化DHT11 //**************************************************** void DHT11::DHT11_Init() { pinMode(DHT11_DQ,OUTPUT); digitalWrite(DHT11_DQ,LOW); //拉低总线,发开始信号; delay(30); //延时要大于 18ms,以便 DHT11 能检测到开始信号; digitalWrite(DHT11_DQ,HIGH); delayMicroseconds(40); //等待 DHT11 响应; pinMode(DHT11_DQ,INPUT_PULLUP); while(digitalRead(DHT11_DQ) == HIGH); delayMicroseconds(80); //DHT11 发出响应,拉低总线 80us; if(digitalRead(DHT11_DQ) == LOW); delayMicroseconds(80); //DHT11 拉高总线 80us 后开始发送数据; } //**************************************************** //读一个字节DHT11数据 //**************************************************** unsigned char DHT11::DHT11_Read_Byte() { unsigned char i,dat = 0; unsigned int j; pinMode(DHT11_DQ,INPUT_PULLUP); delayMicroseconds(2); for( i=0; i<8; i++) { while(digitalRead(DHT11_DQ) == LOW); //等待 50us; delayMicroseconds(40); //判断高电平的持续时间,以判定数据是‘0’还是‘1’; if(digitalRead(DHT11_DQ) == HIGH) dat |= (1<<(7-i)); //高位在前,低位在后; while(digitalRead(DHT11_DQ) == HIGH); //数据‘1’,等待下一位的接收; } return dat; } //**************************************************** //读取温湿度值,存放在TEM_Buffer和HUMI_Buffer //**************************************************** void DHT11::DHT11_Read() { DHT11_Init(); HUMI_Buffer_Int = DHT11_Read_Byte(); //读取湿度的整数值 DHT11_Read_Byte(); //读取湿度的小数值 TEM_Buffer_Int = DHT11_Read_Byte(); //读取温度的整数值 DHT11_Read_Byte(); //读取温度的小数值 DHT11_Read_Byte(); //读取校验和 delayMicroseconds(50); //DHT11拉低总线50us pinMode(DHT11_DQ,OUTPUT); digitalWrite(DHT11_DQ,HIGH); //释放总线 }
评论
    相关推荐
    • memcached服务器
      memcached服务器,安装包。memcached服务器,安装包。
    • iocp服务器客户端混合框架
      //连接远程服务器成功 或 接收到一个远程连接时,本函数将会被ioc.dll回调.在本函数中,应该向客户端列表中添加节点,记得加锁 // //2.s :套接字句柄,标志着一个新的连接 //3.u_addr:对端的IP地址,网络字节序 //4.u_...
    • EMC备份案例
      EMC备份软件 硬件资料 大连理工大学客户案例 2009年下半年,大连理工大学网络与信息...进一步扩大服务器虚拟化,将校园门户等关键应用迁移到虚拟化环境。这 意味着,大连理工大学在虚拟化应用方面走在同行和业界前列。
    • FreeRTOS零散:FreeRTOS的零星服务器调度程序分支
      FreeRTOS-arduino 这是Richard Barry的freeRTOS的一种形式。 它被创建为用于在arduino uno上进行的实时系统分配。 它使用具有实现的memcpy和realloc方法的heap4.c而不是heap3。 堆设置为1024字节。...
    • EMC配置手册
      EMC自从和DELL合作后,销量暴涨,那么在如今大规模使用的趋势下,作为企业的存储管理者,如何使用和配置EMC也成为了必要的常识。通过这篇文章,希望能对你深入地了解存储系统有所帮助。
    • EMC器件详解
      详细介绍EMC相关的每个器件的使用原理以及在EMC设计过程中这些器件滤掉的干扰
    • GloopBot:适用于ConU BIOBIOCHEMCHEM不和谐服务器的实用程序bot
      ConU BIO / BIOCHEM / CHEM不和谐服务器的实用程序bot。 所有命令列表 Gloop bot的所有命令均以前缀“>”表示。 > ping 返回以毫秒为单位的延迟。 >报名[部门] [班级编号] 唯一可用的部门是生物学和化学部门。 ...
    • EMC存储容灾
      企业或运营商数据存储EMC异地容灾解决方案
    • EMC存储最佳实践手册
      因此,EMC推荐你使用Navisphere Analyzer来分析你的阵列的工作情形,并且要定期的复习和回顾相关文档的基础知识。同时,请记住在配置一个阵列的时候很少有显而易见的选择,所以在有疑问的时候最好是按照默认的配置和...
    • memcache服务器
      memcache服务器端 版本:1.2.1 安装方法:在cmd下,切换到解压目录,执行以下命令 memcached.exe -k install memcached.exe -k start 即可。以后每次开机,会自动作为服务启动,不需要的话,自己去服务中关闭自动启动