2863浏览
查看: 2863|回复: 3

【2020】用古德微控制掌控板显示多张地图

[复制链接]
【2020】用古德微控制掌控板显示多张地图
年前,看过朱老师的几个帖子,也想学学掌控板OLED的使用方法,于是就有了用古德微控制掌控板显示多张地图的想法。
一、准备素材
1、选择合适的图片:
OLED显示屏只能显示黑白图片,所以图片要线条分明,且颜色不能过于丰富。
【2020】用古德微控制掌控板显示多张地图图3
2、图片处理:
OLED显示屏只能显示128*64的,因此需要将你的图片调整大小为128*64范围以内。至于软件,自带的画图就能实现。
【2020】用古德微控制掌控板显示多张地图图1
3、图片取模:
为什么会用到取模软件,看到下面的积木你就明白,今天显示图片就用到它。
【2020】用古德微控制掌控板显示多张地图图2
在这块积木中,我们所要用到的图像必须是16进制的数据,所以就需要找一款软件将我们的图片转换成16进制的数据。网上有PCtoLCD、lcd2image,converter等取模软件,可根据自己喜好自行选择。
【2020】用古德微控制掌控板显示多张地图图4
记事本中的数据去掉首行和***,就是我们需要的16进制数据。
如果还想多显示几张图片,还可以再加上中国地图等等,方法一样,只是体力劳动!
二、掌控板程序
1、OLED显示地图
把从取模软件中得到的16进制数据粘贴到初始化列表中,就可以显示在OLED屏上。在掌控板显示图片的同时,我还在右侧加上了几个文字---世界地图,算是文字说明吧!
【2020】用古德微控制掌控板显示多张地图图5
如果还有其他的地图,只需要略加修改就行,这里就不重复上图了。
2、程序初始化
连接WIFI,需要有古德微的账号和密码呀!
服务器我使用的古德微MQTT,很方便,Client ID 是我的古德微账号。
【2020】用古德微控制掌控板显示多张地图图6
显示中有些莫名其妙的空格,是我有意为之,其实想实现居中显示,这是偷懒的做法。
【2020】用古德微控制掌控板显示多张地图图7
如果不喜欢用最原始的空格来居中,那就换用下面的积木吧!
【2020】用古德微控制掌控板显示多张地图图8
指定起始文字坐标,会更精确!
3、主程序
控制开关灯:当接收到由服务器传过来的设备主题(yangguangfeng/LED1)消息后,根据数据实现开灯与关灯。
【2020】用古德微控制掌控板显示多张地图图9
控制红绿灯:当接收到由服务器传过来的设备主题(yangguangfeng/LED2)消息后,根据数据实现开灯与关灯。
【2020】用古德微控制掌控板显示多张地图图10
控制地图显示:当接收到由服务器传过来的设备主题(yangguangfeng/FOUNDATION)消息后,根据滑块的值实现切换地图。这里我用的地图是世界地图、亚洲地图、中国地图、山东地图、淄博地图,每隔20切换一次。几个地图的显示程序我都写成了函数,方便阅读。
【2020】用古德微控制掌控板显示多张地图图11
四、古德微配置
1、添加控件:
登陆古德微平台,在设备控制、控件控制中,添加控件。
这里我添加了三个控件。一个按钮,控制灯的亮灭;一个图标,控制红绿灯;还有一个是滑块,控制五张地图的切换。注意设备号与自定义主题的名字,要与前面掌控板程序中保持一致!
【2020】用古德微控制掌控板显示多张地图图12
2、保存,生成网页。
先点击保存,然后点击生成网页,就出现了控制网页,试试你的控件效果吧!
【2020】用古德微控制掌控板显示多张地图图13
3、点击分享
点击分享后,你会得到一张二维码,用手机微信扫一扫,就会得到一个控制页面,效果与网页上一样有效呀!
【2020】用古德微控制掌控板显示多张地图图14

视频地址:
https://v.youku.com/v_show/id_XNDUyNDg0NjgzMg==.html
202001273108..png

DFrJ5KYVQaH  中级技匠

发表于 2020-1-28 08:58:23

杨老师的贴子,真好
回复

使用道具 举报

且歌且行  中级技师

发表于 2020-2-15 22:36:33

这个项目也看过好几遍,太牛了。
回复

使用道具 举报

kylinpoet  初级技神

发表于 2020-2-18 07:17:05

多谢分享,学习了。
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail