设为首页收藏labplus社区产品资料库
0
积分值+2
0
掌控币+1
0  关注
0  粉丝
4  帖子
蜗牛老师
2020年05月08日

#基础使用#零基础学掌控板第2课:坐标与静态显示

掌控板,它自带一块显示屏,可以显示文字、图案,甚至是视频。

如果此刻你的手头没有硬件,可以借助mPython中仿真模拟窗口来观看效果。


Hello,World!

世界上的第一个程序就是Hello World,这一句也作为一种编程精神传承下来。那我们先用掌控板来输出这句最简单的话,欢迎我们来到编程世界。

怎么实现呢?

在mPython的左侧积木模块中,找到【显示模块】

在【显示】模块中找到下面这几个语句,拖拽到脚本区。


然后单击软件右侧——掌控板模拟区。


先单击中间的【刷新】按钮,刷新一下,然后再单击左侧第一个【开始】按钮,模拟掌控板就会开始运行脚本区的脚本。

显示Hello,World!这三个脚本,很容易理解,不多赘述。

再单击【运行】来看看实际板子上的效果。



【加餐:运行和刷入有什么区别呢?】

运行:程序不存储在掌控板上,只是运行,显示一下效果,掌控板断电,效果消失。

刷入:将程序存储在掌控板上,掌控板断电再次打开后,仍然有效果。

思考第1个问题:Hello,World!在OLED 屏上的显示位置。

通过观看显示效果,我们可以看到这句话是从左上角开始显示的。

这是由脚本中第2句话显示文本X=0,Y=0来决定的。X、Y的值就规定了这句话的起点。


如果我想实现 Hello,World ! 在OLED屏幕的中间,怎么设置呢?


这就需要我们了解OLED显示屏的特点以及软件是如何与屏幕建立连接的。

掌控板屏幕分辨率为128x64。

分辨率指屏幕显示的像素个数。

那像素是什么呢?像素就是点。一个像素就可以理解为屏幕上的一个点。

屏幕正是由多个像素点组成。


比如,你在OLED显示屏上可以看到一张图片或一个字。当你贴在屏幕边上看,就会发现这图片或者字实际上是由无数个小点点组成的,因为每个点比较小,所以你的眼睛会误以为这是一张完整的图片。

那么掌控板屏幕分辨率为128x64,就是说这个显示屏上,水平方向含有128个像素(点),垂直方向含有64个像素(点),一共有128x64个像素点。

这样,我们就可以将其转化为我们数学上的坐标系。


水平方向称为X轴,有128个点,但是是从0开始数,X的数值范围就是从0到127;

竖直方向称为Y轴,有64个点,从0开始数,那么Y的数值范围就是从0到63。

明白了这个,我们就可以计算一下让Hello,World!显示在屏幕中间,第一个字符的X、Y值。


一个英文字符,水平方向上占6个像素点,垂直方向占16个像素点。

水平方向上,Hello,World!,这句话一共12个英文字符,要占用12*6=72个像素点。

水平方向上还剩余128-72=56个像素点,居中显示,这56个点平均分成2部分,一部分是28个点,从左边开始留出28个点,开始显示Hello,World!最右边还有28个点不亮。水平方向就解决了。

一个字符在垂直方向上占16个像素点,Hello,World!就一行,因此就占用垂直方向上的16个点。

垂直方向上还剩余64-16=48个点,居中显示,这48个点分成2部分,一部分是24个点。


因此,我们就知道了文本显示的初始的X值是28,Y值是24,这样就能将Hello,World!,定位在屏幕的中间。



第2个问题:这是英文的问候,中文呢?

如何在屏幕中间输入一个中文的“你好”呢?

思路与上面的Hello,World!相同。

但是一个中文字符,在水平方向上占12个像素点,垂直方向上还是16个像素点,由此我们可以计算出“你好”的初始位置。


所以X值是52,Y值是24.



第3个问题:还可以输入更多的文字吗?

当然可以,但是最多可以输入4行,因为垂直方向上一共64个点,每个汉字垂直方向占16个点,因此最多4行。

练习:这个效果,该怎么做呢?


初来乍到,边学边记。

微信公众号同步


0

点赞

1302 次阅读2 条评论1 条回复
2条评论