当前位置:   article > 正文

基于NodeMcu的远程天气预报获取及智能温度控制系统_nodemcu i2c 0.96 心知天气

nodemcu i2c 0.96 心知天气

所用模块及平台

1、NodeMcu开发板
2、blynk云平台
3、心知天气服务器
4、5v继电器
5、直流电机

功能流程图

在这里插入图片描述

功能描述

通过NodeMcu上打搭载的esp8266WiFi模块,将其接入互联网,从而接入blynk云平台,通过平台手机终端控制MCU开发板,实现远程控制,另外既然NodeMcu连上了互联网则可以访问心知天气(一个提供天气信息的平台)服务器,通过程序代码写入待查询地区,向心知天气服务器发出请求以获取天气预报,再利用Arduino的第三方json库将获取的数据进行解析,将需要显示的信息通过IIC通信发送给0.96OLED 屏幕,使其显示出来,我设置的是当读到温度大于20摄氏度时就自动触发继电器从而使直流电机开启,不仅可以通过温度控制,还能通过blynk终端远程向开发板发送命令从而控制直流电机从而达到双重控制。另外人性化交互设置就是当温度低于20摄氏度时,屏幕就会显示“It’s cold,plsease close the fan!”当未打开天气获取功能时,屏幕上温馨提示:“No open,please wait !”至于为什么全部都是英文我在总结中已经解释过了。

重要模块学习介绍

Nodemcu开发板
这是一块集成好的esp8266模块,上面有十个GPIO口,可以通过控制这些IO口来实现所需的功能,由于是集成好的班子,引脚与IO口之间就有一个映射,映射关系见下图:
在这里插入图片描述
其中我要介绍一下esp8266的工作模式的使用,这篇是我学习工作模式的参考
另外在arduino中对8266引脚进行操作时,不要看板子上写的那个号码,要看其对应的GPIO口号码,(这是我如果的一个坑)
关于8266先讲这么多,以后有新学再补充。
blynk云平台及终端的使用
我在整个项目中就只用了两个按钮控件如下图:在这里插入图片描述
关于blynk软件的使用参见我的上一篇博客blynk的使用
这里就不多说了。
1路继电器
我使用的是单组继电器,主要是因为NodeMcu板子最大输出电压是5v,直接用单片机给电机供电可能有时会烧坏板子,所以我就接了一个继电器,继电器的工作内容就相当一个开关,实现用小电流控制大电流,继电器和驱动就是把电机的电源独立出来,理论上讲只要有驱动单片机可以驱动汽车甚至货车的电机。其中继电器的触发方式有高电平触发和低电平触发两种,这里采用低电平触发,所以刚开始设置与其相连的单片机IO口为高电平,通过blyn控制单片机的高低电平来控制电机,其中继电器的的使用方式某宝上介绍的很详细:在这里插入图片描述
下面是电路图
在这里插入图片描述

差不多就这些了,下面附上部分截图:
在这里插入图片描述
在这里插入图片描述
代码

#include <SeeedOLED.h>
#include <avr/pgmspace.h>
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <U8g2lib.h>
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/263252
推荐阅读
相关标签
  

闽ICP备14008679号