5304|2

282

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

远程文字图形显示器 [复制链接]

本帖最后由 hehung 于 2018-10-14 12:04 编辑

经过对该开发板的一段时间的接触与学习,最终完成了这个项目的作品。使用该开发板进行开发的一个好处就是与stm32的相似度很高,上手很快,虽然以前没有使用过该开发板,但是通过官方的例程和以前的经验可以快速上手。
本次比赛我说做的题目是一个远程文字图形显示器。作开始报名的时候其实也不知道该做一个什么,手头有的传感器和一个外围设备都不多,只有一个esp8266模块,oled12864的显示模块,所以就想制作一个用到了oled和ESP8266的作品,如下图。开机界面时先显示EEworld的logo,再显示兆易创新的logo,最后显示我的logo,就开始联接服务器了。


一、作品简介:
     该设计是利用GD32F350作为主控,OLED12864作为显示屏,ESP8266模块作为网络连接模块的显示器。系统启动之后会自动连接服务器(使用易语言写的服务器软件)。之后可以通过使用B2按键获取网络时间更新到单片机系统,校准当前的时间。在接收模式下可以接收来自服务器的图片和文字信息,单片机对传输的信息进行处理之后通过OLED屏显示出来。该设计可以作为一个任务器,从网络发送任务然后使用OLED显示出来,方便查看。可以作为一个电子便签,放在家里或者公司,发送今天应该完成的工作,给自己提醒。该设计还包括了闹钟,用户可以设定一个闹钟用于提醒自己,作用起床,任务提醒等都是可以的。


二、系统框图:
   
上面是系统框图,整个系统由以上部件组成。下面会详细的讲述每个组成模块的作用及功能。

三、模块组成及作用:
1、GD32F350
    这个就不用多说了吧,都是用的这个处理器。
    该设计中具体使用到了   
          模拟IIC总线(OLED,SCL--PA5 ,SDA--PA6 )
          LED(PB10)
          KEY(B2-PA0,B3-PB7)
          USART1(用于连接TTL-UART模块,发送数据到上位机,找BUG用,哈哈 TX- PA2,RX-PA3)
          USART2(用于给ESP8266通信使用,TX- PA9,RX-PA10)
          蜂鸣器(PC6)

          还用到了RTC内置时钟芯片,用于实时更新时间,但是经过我的实验,发现在断情况下时间是不会进行更新的,主要原因应该是没有电池供电的原因。

    我在软件上使用的操作方式是分时操作,使用滴答定时器将时间分为2ms,10ms,50ms,500ms,10000ms,1s这些时长的任务,这样对应不同的任务给定不同的时间间隔处理,可以提高效率,较低出错的可能,同时方便管理。

2、ESP8266模块(wifi模块)
     本设计使用的是ESP8266的串口通信的功能。利用串口进行数据通信,通过AT指令达到通信的目的。废话不多说。直接上图。


    使用的是ESP8266-01模块,使用方法不在多做解释了,前面已经说过了是用AT指令进行操作的。使用的几个指令分别如下:

        AT  --  测试通信是否正确。
        AT+CWJAP="wifi name","password"  --  连接路由器
        AT+CIPSTART="TCP","address",8080   --  连接服务器
        AT+CIPSEND=length   --  发送指定长度的数据

3、蜂鸣器
    蜂鸣器使用的是有源蜂鸣器,就是直接给高电平就会发出声音信号,需要一个三极管进行驱动,如果直接驱动的话一般都是驱动不起来的。

    蜂鸣器主要的作用是作为闹钟报警使用。当设定的时间到了之后,蜂鸣器会报警,默认时长是1分钟,可以随时使用按键B3进行关闭。



4、按键
    按键使用了GD32f350板载的两个按键,按键有两个按下模式(长按  [2s以上]  和短按)。
        短按一般用来进行特定项目的选择,长按用来确定用。
    按键模块的使用在2ms的任务中进行调用的,实时监控按键的状态,因为在整个系统中会时刻的使用到按键。

5、LED
    LED也是使用的板载的LED,主要运行在500ms的任务中,每500ms翻转一次,用于监控系统是否在正常的运行。

6、OLED
    OLED是该设计中最重要的部分,用于进行各种信息的显示,显示图形,时间,联网状态,操作选项等。
    其分为多个显示界面,下面将一一介绍:
   开机界面:
        开机界面最开始会显示EEWorld的官方Logo,之后会显示兆易创新的Logo,最后显示我的Logo,如下图所示:


        接下来即开始进行联网操作。联网也有几个阶段。AT指令发送,连接wifi,连接服务器,才会进入工作界面,联网界面都是一样的,只是下方的进度条会随着联网的进度更新。上方会显示时间,因为当前还处于联网状态,所以时间还是上一次的时间,这个时间在断电的情况下是不会更新的。
      此时界面的黄色部分的最右边有一个黑色的圆形,这个就是wifi没有连接的标志,当连接上wifi之后会变成双圆形的填充图样


    主界面显示:
        在主界面中,最上方显示的是时间信息。下面还有三组可供选择的选项。分别是【获取时间,接收模式,闹钟】。通过短按B2(时间小于2s)可以切换模式选择。
        当前选中项前面的菱形图形会变成全黑,不选中是是空心的。如下图:
   

    获取时间:
        当前选择项是获取时间的时候,通过长按按键B2(时间大于2s),进入获取时间的界面,在这个界面下,单片机会通过ESP8266给服务器发送一个获取时间的命令“GetTime”,服务器在收到信息之后会返回当前的时间信息给单片机,进行处理之后写入RTC时钟,使用RTC时钟芯片来进行时间的更新,这样更加的准确。
    在获取时间的过程中,单片机会一直判断当前的状态,如果一直没有获取到时间,会自动重连服务器,再次尝试获取时间信息。在这个接界面下也可以通过短按和长按B2都可以退出。
    当获取到正确的时间之后会自动退出这个界面,并更新时间。


    接收模式:
        该模式主要是用来接收图片信息的。在该模式下,单片机会使用一个较大的空间来存储服务器发送的图片信息,首先进入的时候
会显示接收模式,当有图片信息传输过来之后,接收完图像信息之后,单片机会进行处理,此时会显示图像处理中,最后处理之后会显示完整的图像。如下图,该模式下同样可以通过短按和长按B2退出。
        下方第三方图是经过服务器传输过来的图像信息。图四是服务器传输的文字。
   

    闹钟:
        在此模式下,可以通过服务器发送定时时间,然后更新到单片机中,当到达定时的时间之后就会打开蜂鸣器报警,时长是1min,期间可用通过按键B3关闭蜂鸣器,在此模式下可以打开和关闭闹钟模式。通过短按和长按B2退出该模式。
  



7、服务器
    服务器是使用易语言进行编写的。下面将对服务器操作进行解释:

    主界面。这个界面包含了该服务器的所有操作,文字编辑发送,图片编辑发送,闹钟时间发送,查看单片机网络连接状态等。


    文字编辑发送:
    该功能主要字编辑文字与发送,文字的字体大小类型都是可以自行选择的。这部分没有什么好说的,直接上图。



    图片选择发送操作:
   可以选择一个bmp格式的矢量图形,发送到单片机显示,如下操作:



   闹钟设置:
    服务器提供了一个设置闹钟的操作,通过该操作可以设置定时闹钟



上面就是该设计的所有部分。

四、实物演示

    下面就是整个系统的延时操作,请耐心看哦

1、主功能演示。
     视频比较长,请耐心观看
     有一点不好的就是视频上传之后居然翻转了90°,很不爽,请大家包含



2、闹钟功能演示
    上一个视频忘了演示闹钟功能,这个视频补充


四、总结

    本次设计共花费了一些时间,国庆和这周都在做这个项目,从开发板的使用到上手完成这些功能,还是有不少的收获的,从配置串口,让串口通信,到连上ESP8266通信,制作服务器通信,OLED显示等都花费了很大一段时间,但是也有了很多的收获,懂得了一些调试方式。最后的图片显示过程花了很长的时间调试,最开始是服务器发送的图片信息,单片机处理之后总是出错,显示不正确,各种状况乱入,甚至都不显示,折腾了很久,使用了很多方式,直接在服务器上变成莫伊一位一位的打点显示验证正确性等。但好在最后都成功实现了,这之间的苦楚只有自己知道。但是当成功之后带来的喜悦也是很大的。
    最后感谢eeworld和兆易创新提供的平台与开发板,期望你们越做越好。


最后来一张成品展示图:



附件当然是不能少的:
服务器: 远程图片文字显示器服务器.zip (360.5 KB, 下载次数: 11)

单片机程序:
图形文字显示器.zip (6.1 MB, 下载次数: 36)

此帖出自GD32 MCU论坛

最新回复

太厉害,点赞!!  详情 回复 发表于 2018-10-19 21:56
点赞 关注(1)
 

回复
举报

1368

帖子

6

TA的资源

版主

沙发
 
厉害了我的哥,加油!
此帖出自GD32 MCU论坛
 
个人签名专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void
 
 

回复

29

帖子

2

TA的资源

一粒金砂(初级)

板凳
 
太厉害,点赞!!
此帖出自GD32 MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表