综合实验:气象站

实验介绍

利用之前实验中用到的一系列的硬件,如温湿度传感器、气压传感器、SerLCD、RTC时钟模块等,再结合太阳能电池板,就可以模拟一个气象站。该气象站可用于监控周围环境的温湿度、气压情况,可通过LCD屏实时显示获取的传感器数据,并能同步到云端。

实验目的

  1. 了解并掌握各传感器的工作原理和通信方式

  2. 掌握将多个程序模块综合到一起的方法,学会写头文件

  3. 提高自己的动手实践和解决问题的能力

软硬件清单

软件

  • Arduino IDE

硬件

图1.7.1 硬件清单

实验步骤

一、硬件组装

图1.7.2 外壳组成 图1.7.2 外壳组成

1.组装太阳能充电和锂电池供电系统
  • 将“Solder charger”板和锂电池用胶固定在亚克力板“D壳”上合适的位置,将电池的插头插在“Solder Charger”板上的“VOUT1”上;

  • 将太阳能电池板固定在“D壳”的另外一面,注意将电池板的线穿过“D壳”上面的孔,然后接在“solder Charger”板的”VIN2”上;

  • 将杜邦线接在接在“solder Charger”板的“VOUT2”上,另外一端后面再接到LinkNode D1的电源上;

图1.7.3 组装供电系统 图1.7.3 组装供电系统

图1.7.4 太阳能电池板 图1.7.4 太阳能电池板

2.固定主控板以及传感器:

取四个M3螺丝,螺母,将LinkNode D1和温湿度传感器固定在“B壳”如图位置上,用胶将时钟模块和气压传感器固定在“B壳”合适的位置:

图1.7.5 固定主控板和传感器 图1.7.5 固定主控板和传感器

3.安装LCD显示屏

将4个M3螺丝分别穿过“A壳”上的固定孔,然后在LCD固定孔和“A壳”之间添加垫片,再用螺母将LCD屏固定好(注意:屏幕安装的方向,有白色控制板的一方为正立)

图1.7.6 安装LCD屏__加垫片 图1.7.6 安装LCD屏_加垫片

图1.7.7 安装LCD屏_背面 图1.7.7 安装LCD屏_背面

图1.7.8 安装LCD屏_正面 图1.7.8 安装LCD屏_正面

4.安装按键

将4个M2螺丝分别穿过“E/F壳”上的固定孔,然后在按键固定孔和“E/F壳”之间添加一个M3螺母充当垫片,再用螺母将按键屏固定好:

图1.7.9 安装按键_加垫片 图1.7.9 安装按键_加垫片

图1.7.10 安装按键_效果图 图1.7.10 安装按键_效果图

5.接线
  • 温湿度传感器-> GPIO0
  • 按键 -> GPIO2
  • 气压传感器->I2C
  • RTC时钟模块->I2C
  • LCD RXD->LinkNode D1 GPIO14
  • LCD +5V->LinkNode D1 3V3
  • LCD GND->LinkNode D1 GND

注意:太阳能充电板的VOU2的正负极分别连接到LinkNode D1的5V,GND上,等待气象站程序下载完毕后再接到LinkNode D1上

图1.7.11 整体接线图 图1.7.11 整体接线图

先将linker base shield 插在D1上,然后再根据上面说明,接线:

图1.7.12 接线完成效果图 图1.7.12 接线完成效果图

二、软件下载

用MicroUSB线将LinkNode D1连接到电脑上,打开Arduino IDE,导入源代码(请参见WeatherStation文件),注意修改 “apikey” 和 “deviceID”,并下载到Linknode D1中:

图1.7.13  软件下载 图1.7.13 软件下载

若板子是第一次运行该程序,或者局域网改变,则需要重新配置WiFi,具体参见实验五:WiFi Manager。

配置好后,我们拔去USB下载线,接上太阳能供电系统,然后将外壳固定好,到这里整个系统已经搭建完成,在LCD屏上面可以看到如下显示(按键可切换显示内容):

图1.7.14 组装外壳 图1.7.14 组装外壳

图1.7.15 LCD显示欢迎界面 图1.7.15 LCD显示欢迎界面

图1.7.16 LCD显示时间温湿度 图1.7.16 LCD显示时间温湿度

图1.7.17 LCD显示气压海拔 图1.7.17 LCD显示气压海拔

三、程序功能说明:

  1. 短按键:点亮屏幕背光,约5秒后自动熄灭

  2. 长按键:切换显示内容

  3. 程序每隔10秒,将温湿度,气压等数据上传至云端(linksprite.io)

四、云端数据查看

Web端:(http://www.linksprite.io)

图1.7.18  添加设备 图1.7.18 添加设备

图1.7.19 云端结果图 图1.7.19 云端结果图

results matching ""

    No results matching ""