1项目介绍
本项目设计的家庭环境智能控制系统,可以通过GD32F350R8驱动TFT液晶显示,触摸控制集中家庭中照明设备,新风(排风),除湿,照明等与我们在家庭生活中,对环境的各种需求控制,还可以加入WIFI网络实现远程监测控制系统的运行状态及参数。
系统结构框图
采用GD32F350R8实现系统设计,GD32F350R8通过I2C总线读取总线上的温度,湿度传感器HDC1080,然后用SPI+ADC实现TFT显示触摸的人机界面,显示环境参数,同时通过USART串口设置WIFI网络及参数,实时时钟,控制模式,对环境的温度,湿度控制调节等功能。
2功能说明及解析
1. 人机界面说明:
开机上电主界面:
A. 按下Control view就是进入温度,湿度,采集控制功能
上图自动模式,下图手动模式
B. 主界面按Network settings,进入WIFI网络设置,触摸相应参数,即可进入参数输入窗口
修改路由器SSID;
改路由器密码;
修改云平台IP;
C. 主界面按Peripheral Demo,进入GD32F350外设控制
D. 远程登陆OneNet云平台
可以看到当前传感器的温度,湿度值,同时显示设置值及动态趋势图。
3控制和开发流程
1. 硬件设计
正面实物:全部采用实验板+插针的方式与GD32F350R8板子对接,外设所需3.3V都另外5伏转3.3V (LDO)转换过来。
2. 功能解析
A. 显示部分
为了有个友好的人机界面设计中毅然采用彩色液晶模块,并行的TFTLCD会占用其他外设的功能脚,所以选择SPI串口方式的TFT液晶同时加上2路ADC就可以实现不同界面触摸的人机界面。
LCD只占用了SPI的时钟和数据脚,SPI的其他做普通GPIO配合SPI来使用。
LCD底层驱动 初始化,然后就是送数据了
B. 触摸部分
原理示意图
工作原理:
当采集X轴时,就把Y轴的2个脚,上来,下来,当有触摸时,X轴接入Y轴的电阻中,不同的位置采集到的电压不同。
当采集Y轴时,就把X轴的2个脚,上来,下来,当有触摸时,Y轴接入X轴的电阻中,不同的位置采集到的电压不同。
C. 环境参数采集
生活中,温度是人体最容易感受到,湿度对人体的健康很重要
所以这里采用了一体温,湿度传感器HDC1080,接口简单I2C即可实现对环境参数的读取。
D. WIFI模块连接网络
为了能把环境参数发送到远程云平台上,这里采用现成的内部采用ESP8266的E103-W01,GD32F350R8通过USART1发送AT命令配置E103-W01
E. GUI设计
我移植了grlib可以实现自己需要的人机界面
F. LED灯控制
使用GD32F350R8的TIMER2的PWM功能实现4路PWM输出
4小结
经过这么多天对GD32F350R8的学习与使用,感觉芯片资源丰富,主频高,这样做小尺寸的彩色触摸HMI不错。作为32位入门级MCU,各种基本外设够用,轻松可以通过官方例子可以使用起来。
全部0条评论
快来发表一下你的评论吧 !