1、硬件设计 A、正面实物:全部采用实验板+插针的方式与GD32F350板子对接,外设所需3。3V都另外5伏转3.3V(LDO)转换过来。
B、反面实物
3、功能解析 A、显示部分 为了有个友好的人机界面设计中毅然采用彩色液晶模块,并行的TFTLCD会占用其他外设的功能脚,所以选择SPI串口方式的TFT液晶同时加上2路ADC就可以实现不同界面触摸的人机界面。 LCD只占用了SPI的时钟和数据脚,SPI的其他做普通GPIO配合SPI来使用。
LCD底层驱动 初始化
然后就是送数据了
详见源码 B、触摸部分
原理示意图
工作原理: 当采集X轴时,就把Y轴的2个脚,上来,下来,当有触摸时,X轴接入Y轴的电阻中,不同的位置采集到的电压不同。 当采集Y轴时,就把X轴的2个脚,上来,下来,当有触摸时,Y轴接入X轴的电阻中,不同的位置采集到的电压不同。 ADC初始化程序
C、环境参数采集 生活中,温度是人体最容易感受到,湿度对人体的健康很重要 所以这里采用了一体温,湿度传感器HDC1080,接口简单I2C即可实现对环境参数的读取。
初始化GD32F350的I2C0接口
D、WIFI模块连接网络 为了能把环境参数发送到远程云平台上,这里采用现成的内部采用ESP8266的E103-W01 GD32F350通过USART1发送AT命令配置E103-W01 设置路由器
与云平台之间的数据交换
D、GUI设计 我移植了grlib可以实现自己需要的人机界面 E、LED灯控制
使用GD32F350的TIMER2的PWM功能实现4路PWM输出
三、总结 经过这么多天对GD32F350的学习与使用,感觉他还是蛮不错的,资源丰富,主频高,这样做小尺寸的彩色触摸HMI不错。 GD32F350资源丰富,各种外设够用,轻松可以通过官方例子可以使用起来。方便易用 四、演示视频 详见附件 五、源码
详见一楼附件 |